Auteur Sujet: Carte FH : portage sur Android  (Lu 13204 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 076
    • Twitter LaFibre.info
Carte FH : portage sur Android
« Réponse #12 le: 22 août 2016 à 13:04:28 »
L'API du Géoportail est destinée à être intégrée dans un site internet. L'éditeur du site doit être en mesure d'intégrer du code JavaScript ou Flash dans la page destinée à héberger la cartographie.

Il doit demander une clé d'accès pour chacun des sites internet pour lequel il souhaite intégrer l'API Géoportail.

La demande et l'obtention d'une clé d'accès se font en ligne par simple demande sur le site api.ign.fr après inscription.


=> https://api.ign.fr/moncompte/login

les clés générées ne peuvent être utilisées qu'à des fins de développement. Pour obtenir une clé valide pour un site en production, rendez-vous sur le site professionnel de l'IGN

=> http://professionnels.ign.fr/

buchanan

  • Expert.
  • Abonné Free fibre
  • *
  • Messages: 345
  • Chaville (92) @buchanan_
    • @buchanan_
Carte FH : portage sur Android
« Réponse #13 le: 22 août 2016 à 13:11:25 »
@vincent0 : je ne connais pas du tout la technique des containers, mais si l'adresse du container n'est pas connue à priori (ce que je déduis de : "utiliser docker inspect pour connaitre l'ip") comment s'assurer que le javascript excuté côté client va bien diriger ses requêtes vers le container qui sert de serveur et non pas vers "carte-fh.lafibre.info" ? (variable base_url dans le_script.js)

vincent0

  • Abonné Orange adsl
  • *
  • Messages: 122
  • Montpellier
    • Twitter
Carte FH : portage sur Android
« Réponse #14 le: 22 août 2016 à 13:17:32 »
Alors c'est vraiment bizarre car cette petite icone en bas à gauche affiche bien le profil de la liaison via les montagnes.
Pourtant, je n'ai pas du tout ajouté une clé.

Tu peux essayer si tu veux

buchanan

  • Expert.
  • Abonné Free fibre
  • *
  • Messages: 345
  • Chaville (92) @buchanan_
    • @buchanan_
Carte FH : portage sur Android
« Réponse #15 le: 22 août 2016 à 13:23:26 »
Alors c'est vraiment bizarre car cette petite icone en bas à gauche affiche bien le profil de la liaison via les montagnes.
Pourtant, je n'ai pas du tout ajouté une clé.

Tu peux essayer si tu veux

Je ne pourrai pas essayer avant ce soir, mais dans ce cas il y a de fortes chances que le navigateur, après avoir chargé la page d'accueil avec ses styles et ses scripts, soit toujours en train d'interroger carte-fh.lafibre.info, et non pas le serveur qui est dans le container. Tu peux le voir avec les outils de développement intégrés au navigateur.
Si le fichier le_script.js n'a pas été modifié avant d'être intégré au container, il est certain que c'est ça  ;)

vivien

  • Administrateur
  • *
  • Messages: 47 076
    • Twitter LaFibre.info
Carte FH : portage sur Android
« Réponse #16 le: 22 août 2016 à 13:26:07 »
Tu as vérifié avec Wireshark qu'il n'y avait aucune requête qui partait vers https://carte-fh.lafibre.info/ ?

Le plus simple pour bloquer les requêtes vers le site d'origine, c'est de renvoyer carte-fh.lafibre.info vers une IP bidon

Sur ton PC client, il faut modifier le hosts.

sous linux :
sudo nano /etc/hosts et rajoute une ligne
10.10.10.10 carte-fh.lafibre.info
Si tu tentes de joindre le site, tu partiras vers l'IP 10.10.10.10 donc pas de réponse.

vincent0

  • Abonné Orange adsl
  • *
  • Messages: 122
  • Montpellier
    • Twitter
Carte FH : portage sur Android
« Réponse #17 le: 22 août 2016 à 13:27:29 »
Effectivement, je n'ai rien modifié.

Ca va taper sur le serveur de prod.

vincent0

  • Abonné Orange adsl
  • *
  • Messages: 122
  • Montpellier
    • Twitter
Carte FH : portage sur Android
« Réponse #18 le: 22 août 2016 à 13:28:24 »
vers l'IP 10.10.10.10 donc pas de réponse.

Il faut modifier le script avant de taper dessus, je vais mettre à jour le container docker.
EDIT : le container docker est à jour.

vincent0

  • Abonné Orange adsl
  • *
  • Messages: 122
  • Montpellier
    • Twitter
Carte FH : portage sur Android
« Réponse #19 le: 22 août 2016 à 13:44:23 »
Effectivment maintenant, ça ne marche plus mais c'est ce que j'attendais.
On prend bien les données sur le serveur et non plus directement sur le site de la prod.

Sinon, une bonne pratique en dev web est de ne pas utiliser des url absolues mais des urls relatives surtout quand tu tapes sur ton site (tu utilises des absolues pour les ressources externes, mais tu restes en relatifs tant que tu es sur ton serveur). Sinon, c'est vraiement galère à maintenir.

Pour ton script, tu peux mettre un "/" pour la base_url, ça marche impeccable. J'ai vu aussi des scripts php qui ont des urls absolues. On évite là aussi dans la mesure du possible de les utiliser.
En mettant un "/", le navigateur utilise le répertoire relatif du serveur, donc le container.

Pour Vivien, j'ai débuggé avec le debbugeur JS de chrome, c'est encore plus facile que avec wirehark :)

A suivre.
« Modifié: 22 août 2016 à 17:16:55 par vincent0 »

buchanan

  • Expert.
  • Abonné Free fibre
  • *
  • Messages: 345
  • Chaville (92) @buchanan_
    • @buchanan_
Carte FH : portage sur Android
« Réponse #20 le: 22 août 2016 à 18:50:11 »
Ça marche, j'ai remplacé l'URL par une URL relative dans le script client (j'ai gardé qqs trucs en commentaire car je me souviens en avoir eu besoin pour divers tests)  ;)

Pour le PHP côté serveur, les deux endroits où l'URL absolue est utilisée concernent un morceau de PHP que je veux exécuter de manière asynchrone sans en attendre le résultat. En fouillant un peu sur le web, une méthode simple que j'ai trouvée est d'appeler ce PHP avec curl en mettant un timeout très faible, comme ça on passe à la suite sur le code principal et le PHP annexe continue de s'exécuter.
Il s'agit de rafraichir un cache des associations Support (avec son n°) <-> Photos représentatives dans la galerie. Les requêtes sur l'API Piwigo pour construire ces associations sont trop longues pour être exécutées à chaque fois.

Du coup il faudrait modifier un peu le code pour pouvoir tout de même fournir une URL absolue à curl à partir d'URL relatives. Si vous avez une solution plus élégante que le curl avec timeout, je suis preneur ! Mais il me semble qu'on s'écarte pas mal du sujet "Portage sur Android"  :D

vincent0

  • Abonné Orange adsl
  • *
  • Messages: 122
  • Montpellier
    • Twitter
Carte FH : portage sur Android
« Réponse #21 le: 22 août 2016 à 19:58:54 »
Ya pas de thread en PHP pour faire un asynchrone propre ?

Un exemple de thread : http://stackoverflow.com/questions/70855/how-can-one-use-multi-threading-in-php-applications
« Modifié: 23 août 2016 à 09:09:51 par vincent0 »

hell0

  • Expert
  • Abonné Free fibre
  • *
  • Messages: 684
  • Paris (75)
Carte FH : portage sur Android
« Réponse #22 le: 23 août 2016 à 18:28:38 »

Je cherche une personne ayant des connaissances en logiciels de traitement d'images (gimp, photoshop) qui m'aiderait à faire le design de l'app (écran, icones, etc...). Il suffira juste de me donner des images et je ferai l'intégration. Mais je suis tellement une bite au niveau artistique que je ne sais faire que des trucs hideux (mais vraiment hideux). Alors à votre bon coeur !


Salut !

Dès que je trouve un peu de temps je pourrais essayer de me consacrer à cette partie :)

vincent0

  • Abonné Orange adsl
  • *
  • Messages: 122
  • Montpellier
    • Twitter
Carte FH : portage sur Android
« Réponse #23 le: 23 août 2016 à 20:10:19 »
Salut !

Dès que je trouve un peu de temps je pourrais essayer de me consacrer à cette partie :)
+1 !!