Quand on passe de version 1.04 à 1.05, faut-il une nouvelle clé?
Ou on modifie simplement src="http://api.ign.fr/api?v=1.0beta4-e&key=4466079....'
par src="http://api.ign.fr/api?v=1.0beta5-e&key=4466079....'
Quand on passe de version 1.04 à 1.05, faut-il une nouvelle clé?
Ou on modifie simplement src="http://api.ign.fr/api?v=1.0beta4-e&key=4466079....'
par src="http://api.ign.fr/api?v=1.0beta5-e&key=4466079....'
Il faut avoir les sources de la beta5 en local sur son serveur
et faire un appel de la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <script type="text/javascript" src="http://api.ign.fr/geoportail/api?v=1.0beta4-e&key=1731453248655229623&instance=viewer&includeEngine=false&"> </script> <script type="text/javascript" src="/geoportail/api/js/1.0beta5/GeoportalExtended.js"></script>
Merci mga_geo. Je comprends mieux. Mais tout de même, je patine :
En fonction de ce que tu m'as dit. J'ai téléchargé le fichier indiqué par dgrichard: Geoportail-API-1.0beta5-2009-09-20.zip (418,4 Ko, 5 affichages)
Ensuite, j'ai mis GeoportalExtended.js.gz dans mon répertoire /js/ sur mon serveur de free.fr, puis j'ai mis le code suivant sur le modèle de ce que j'ai cru comprendre de ton message, dans mon index.htm
L'api ne s'affiche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <script type="text/javascript" src="http://api.ign.fr/geoportail/api?v=1.0beta4&key=827353533056702084&instance=viewer&includeEngine=false&"></script> <script type="text/javascript" src="./js/GeoportalExtended.js"></script>
J'ai testé le code suivant en me demandant si je ne pouvais pas aller chercher GeoportalExtended.js sur le site de l'IGN (cela m'éviterait les MAJ)
Idem
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <script type="text/javascript" src="http://api.ign.fr/geoportail/api?v=1.0beta4&key=827353533056702084&instance=viewer&includeEngine=false&"></script> <script type="text/javascript" src="http://api.ign.fr/geoportail/api/js/1.0beta5/GeoportalExtended.js"></script>
???
J'ai gunzipé GeoportalExtended.js.gz avant de le mettre sur mon serveur.
Et je je fais une référence absolue au fichier
<script type="text/javascript" src="/js/GeoportalExtended.js"></script>
La présence d'une extension type gz, zip, bz2, ... indique que le fichier a été compressé avec ce "protocole".
Dans la norme html le serveur (Apache, ...) peut compresser à la volée un fichier si le client (Firefox, ...) l'accepte.
Sur certains serveurs on configure aussi le fait de pouvoir servir un même fichier avec différents type de compression.
Mais sur free.fr, je crois qu'aucune de ces possibilités n'est mise en oeuvre.
Pour appuyer les informations de mga_geo (merci pour l'aide d'ailleurs car en ce moment, je suis peu disponible) :
- Pas besoin de changer de clef effectivement;
- le fichier GeoportalExtended.js.gz est effectivement compressé - nous nous en servons tel que car nous avons paramétré le serveur web (apache) pour qu'il le retourne compressé au navigateur;
- si vous n'avez pas la main, il faut le décompressé (gunzip, unzip ou extraire de l'archive) et le déployer en GeoportalExtended.js (1.2Mo par rapport au 270ko compressé) - d'ailleurs, je me demande si cela n'a pas d'effet sur certaines erreurs remontées que je n'ai pas ...
Dans Firefox, pendant les 280 millisecondes de téléchargement du source de l'API à partir de free.fr, il ne se passe rien d'autre sur ma ligne réseau.
Donc si problème de timer il y a, celui-ci serait déclenché avant ?
Les "pauvres" utilisateurs d'accès ADSL bas débits ne vont donc pas pouvoir gouter aux joies de l'API...
J'ai plus l'impression que la bataille est après le chargement du javascript, des timeouts claquent, des traitements sur des fichiers xml partiels débutent et se terminent mal
... pas sûr, ca fonctionne avec ma 3G au fond de ma provence natale ...
- timeout: il y a en 1.0beta4 (deux fois trop), c'est pourquoi, le modèle de chargement a changé. Ne pas oublier : Javascript est mono-tâche : rien n'est exécuté en parallèle. un timeout consiste simplement à exécuter une tâche quand il n'y a plus rien à exécuter ;
- xml: je vois pas lesquels - pourrais-tu être plus précis ? ne pas oublier la limite de taille des traitements via Ajax ...
Sinon, oui la bataille est après le chargement (ca c'est le navigateur qui charge, pas le javascript) et on tombe dans tous les soucis liés à la question : la page est-elle chargée (l'arbre DOM complet, les CSS interprétées, etc ...) ? Si la réponse était simple, pourquoi autant d'environnement de développement (jQuery, ExtJS pour ne prendre que c'est deux là) propose de passer par un gestionnaire de chargement intégré !
Excuse mga_geo, j'ai confondu gzipé avec gunzipé...
En fait, il faut que je sache vraiment si free.fr accepte les *.js.gz avant d'aller plus loin. Y-a t'il un freenaute qui a la réponse?
Sinon, cela ne va pas être très facile à tester...
Et dans ce cas, pour les freenautes n'ayant pas accès au js.gz, ne serait-il pas possible de placer ce fameux GeoportalExtended.js.gz version 1.05 sur un répertoire du serveur de l'IGN, et de l'appeler avec un truc du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part <script type="text/javascript" src="http://api.ign.fr/geoportail/api/js/1.0beta5/GeoportalExtended.js"></script>
Sur atlasnw.free.fr, dans le répertoire /geoportail/api/js/1.0beta5 j'ai les 2 fichiers (compressé et non compressé).
Au niveau de la page html, je demande une version non compressée et suivant ce que négocie le client (Firefox, ...) avec le serveur (Apache, ...) le transfert s'effectue en compressé ou non compressé.
Dans le cas de free.fr, ils ne font pas de compression à la volée
Alors que le sur le site de geoportail
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 $ wget -S --header='Accept-Encoding: gzip,deflate' http://atlasnw.free.fr/geoportail/api/js/1.0beta5/GeoportalExtended.js --19:29:38-- http://atlasnw.free.fr/geoportail/api/js/1.0beta5/GeoportalExtended.js => `GeoportalExtended.js.1' Resolving atlasnw.free.fr... 212.27.63.149 Connecting to atlasnw.free.fr|212.27.63.149|:80... connected. HTTP request sent, awaiting response... HTTP/1.1 200 OK Date: Sun, 04 Oct 2009 17:29:36 GMT Server: Apache/ProXad [Aug 9 2008 02:45:09] Last-Modified: Mon, 21 Sep 2009 07:06:40 GMT ETag: "269f480-127d9b-4ab72600" Connection: close Accept-Ranges: bytes Content-Length: 1211803 Content-Type: application/x-javascript Length: 1*211*803 (1.2M) [application/x-javascript]
Ces derniers temps, la beta a évoluée de jours en jours, il est donc préférable d'avoir sa version à soi pour faire des tests!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 $ wget -S --header='Accept-Encoding: gzip,deflate' http://api.ign.fr/geoportail/api/js/1.0beta4/Geoportal.js --19:37:16-- http://api.ign.fr/geoportail/api/js/1.0beta4/Geoportal.js => `Geoportal.js.1' Resolving api.ign.fr... 160.92.135.66 Connecting to api.ign.fr|160.92.135.66|:80... connected. HTTP request sent, awaiting response... HTTP/1.1 200 OK Date: Sun, 04 Oct 2009 17:37:14 GMT Server: Apache Last-Modified: Fri, 15 May 2009 11:25:38 GMT ETag: "cd47-a004e-b4313080" Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Connection: close Content-Type: application/x-javascript Length: unspecified [application/x-javascript]
Oui, le moteur javascript du butineur ne traite que des données non compressées.
La compression ne sert qu'à gagner du temps de transmission, ce qui est utile pour les accès bas débits mais consommateur de temps cpu.
A noter qu'il est très souvent utile (et recommandé) d'intégrer les fichiers javascripts à la fin de la page, juste avant la fin du body. Les css doivent rester dans le <head> par contre.
En reportant en bas de la page le chargement de la page on est quasiment sur que tous les fichiers css et le DOM sont chargés lors de l'utilisation des fonctions javascript.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager