Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Mozilla ArchiveAPI, pour la lecture de fichiers archives
Dans votre navigateur

Le , par vermine

0PARTAGES

6  0 
Mozilla ArchiveAPI
pour la lecture de fichiers archives dans votre navigateur.

L'API ArchiveAPI permet de lire des archives (Zip, Tar, etc. ) directement dans votre navigateur. Elle vient compléter la liste des WebAPI, l'initiative de Mozilla pour rendre le Web plus performant.

Fondamentalement, il y a un objet ArchiveReader et lorsqu'il réussit à lire le contenu d'un fichier archive, nous pouvons alors extraire les données des fichiers ou avoir une prévisualisation du contenu de chaque fichier, etc.

Exemple de code :

Code javascript : Sélectionner tout
1
2
  
var archiveFile = new ArchiveReader(archiveFileReference), fileNames = archiveFile.getFilenames();

Il y a également la possibilité d'intercepter le succès ou l'échec de l'opération avec onsuccess et onerror.

Démo. Cependant, l'API n'est pour l'instant parfaitement opérationnelle que sur Firefox Aurora et Firefox Nightly.



Code source.

L'API est annoncée dans la nouvelle catégorie du site de Mozilla Hacks : Bleeding Edge. Cette catégorie couvre les technologies/caractéristiques/API qui n'ont pas encore été commencées dans Firefox ou un autre navigateur Web, en version officielle, mais qui, dans la plupart des cas, ont leur première implémentation dans Firefox Nightly ou Firefox Aurora. L'objectif étant d'avoir des commentaires et des retours utilisateurs.

Source : https://hacks.mozilla.org

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de redcurve
Membre confirmé https://www.developpez.com
Le 12/10/2012 à 12:37
Je ne vois pas l'utilité de la chose.
0  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 12/10/2012 à 14:56
Citation Envoyé par redcurve Voir le message
Je ne vois pas l'utilité de la chose.
A l'ère du HTML5 et des applis presque tout local cela en a pourtant une bonne : la diminution de la taille en localStorage.
0  0 
Avatar de thelvin
Modérateur https://www.developpez.com
Le 13/10/2012 à 1:40
Citation Envoyé par transgohan Voir le message
A l'ère du HTML5 et des applis presque tout local cela en a pourtant une bonne : la diminution de la taille en localStorage.
Euh, non, a priori si ça prend tellement de place les navigateurs peuvent très bien compresser sans qu'on leur demande, 'faut pas déconner.

Non, l'idée c'est que les applis web traitent de plus en plus souvent des fichiers. Image, vidéo, texte, XML... Traiter des zip n'est pas infaisable mais ça exige de programmer son propre zippeur/dézippeur en JavaScript, ce qui est monstrueusement chiant et pas super efficace.
Avec cette API on peut penser que Mozilla gèrera le zip en natif, et peut-être d'autres.

Ça me semble pas révolutionnaire, mais bon, c'est dans l'ère du HTML5 et du bureau dans une webapp.
0  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 13/10/2012 à 18:05
On parle de la même chose, jamais je n'ai cité le cache...
0  0 
Avatar de thelvin
Modérateur https://www.developpez.com
Le 13/10/2012 à 21:33
Citation Envoyé par transgohan Voir le message
On parle de la même chose, jamais je n'ai cité le cache...
T'as cité localStorage, quelle différence -_-° ?
0  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 14/10/2012 à 9:39
Le localStorage est tout à fait différent du cache. Ta méprise vient surtout du fait de l’appellation qui est fortement synonyme de cache, mais la différence est que tout s'enregistre dans le cache sans que tu ais ton mot à dire alors que ce n'est pas le cas du localStorage. De plus des algos tournent pour vider les éléments inutiles du cache (bien que quand je vois la taille de mon cache des fois j'ai peine à croire que ça existe vraiment), donc ça serait bête de perdre des données applicatives stockées dedans.

Regardes dans ton navigateur. Pour firefox tu auras deux boutons bien différents : données web et données applications.
0  0 
Avatar de thelvin
Modérateur https://www.developpez.com
Le 14/10/2012 à 11:19
Bon sang, je sais bien que localStorage n'a rien à voir avec le cache, mais dans un cas comme dans l'autre, si ça devait être utile de le compresser, ce serait au navigateur d'en prendre la décision tout seul, sans que qui que ce soit le lui demande en JavaScript, c'est tout -_-°.
0  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 15/10/2012 à 8:54
Citation Envoyé par thelvin Voir le message
Bon sang, je sais bien que localStorage n'a rien à voir avec le cache, mais dans un cas comme dans l'autre, si ça devait être utile de le compresser, ce serait au navigateur d'en prendre la décision tout seul, sans que qui que ce soit le lui demande en JavaScript, c'est tout -_-°.
Tu extrapoles un peu trop selon moi.
Niveau serveur ce devrait aussi être de base que de gzipper toutes les réponses ?
D'autant que qui dit archiver en permanence dit perte de temps, donc il faut que cela soit valable et là c'est le développeur qui est mieux placé pour définir ce qui l'est ou non par rapport au navigateur.
0  0 
Avatar de thelvin
Modérateur https://www.developpez.com
Le 15/10/2012 à 9:42
Citation Envoyé par transgohan Voir le message
Niveau serveur ce devrait aussi être de base que de gzipper toutes les réponses ?
Modulo tout ce qui se compresse mal, idéalement oui.
Or:
- ce ne sont pas les solutions qui manquent pour laisser le serveur faire un choix logique sur, si oui ou non il devrait compresser (en supposant que le navigateur annonce qu'il saurait le lire)
- ce n'est pas une "API d'archive." C'est "je compresse le unique fichier à envoyer, oui ou non."

Citation Envoyé par transgohan Voir le message
D'autant que qui dit archiver en permanence dit perte de temps, donc il faut que cela soit valable et là c'est le développeur qui est mieux placé pour définir ce qui l'est ou non par rapport au navigateur.
En théorie je ne dis pas mais en pratique ça me semble assez léger. Mais bon passons.
Dans ce cas-là il n'y a besoin d'aucune API d'archive. Il y a besoin d'un booléen "le truc que je te donne là, tu le compresses, oui/non."
0  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 15/10/2012 à 14:59
Je vois où tu veux en venir. Cela se tient mais c'est un point de vue comme un autre.
D'autres (comme moi) pensent qu'au lieu de fournir une voiture qui nous emmène automatiquement au boulot sans qu'on ai autre chose à faire que d'appuyer sur un bouton est moins bien que la voiture que l'on contrôle et dirige.
Sachant que la cible est des développeurs je pense que l'API est mieux choisie qu'un module que l'on ne peut influencer (ou peu).
0  0