Journal EnVadrouille, une galerie photo pour vos randos

Posté par . Licence CC by-sa
31
31
oct.
2013

EnVadrouille est une galerie photo orientée petits voyages et randonnées.

EnVadrouille permet notamment d'afficher des cartes de vos trajets, de calculer des statistiques de vitesse et de dénivelé, et de géolocaliser vos photos (même si votre appareil photo n'a pas de GPS intégré). La galerie contient également quelques autres fonctionnalités intéressantes : supports des vidéos (webm, mp4, ogv), reconnaissance faciale via des API externes (désactivable), mise à jour automatique (désactivable), visualisation des photos en plein écran, recherche, support des thèmes, …

EnVadrouille nécessite PHP pour son administration. Tout le reste du site fonctionne sans PHP (en contrepartie Javascript doit être activé pour visionner les galeries). Il est donc possible d'héberger la galerie entièrement sur un hébergeur statique, sur un NAS ou dans un cloud public (dans le dossier "public" d'une dropbox par exemple).

La galerie est sous licence MIT et gratuite.

Dépendances

  • PHP 5 pour l'administration
  • GD pour la génération des miniatures
  • Imagemagick (optionnel) pour conserver les EXIF dans les miniatures
  • La fonction PHP exif_read_data (optionnel) pour la géolocalisation
  • curl (optionnel) pour la reconnaissance faciale
  • Peut-être d'autres librairies PHP généralement incluses dans une installation par défaut.

Appel à contributions

Actuellement la galerie repose sur l'API Google Maps v3 pour afficher des cartes. J'utilise également des cartes IGN et refuges.info, mais tout transite via l'API GMaps. J'aimerais utiliser l'API openstreetmap, mais je n'arrive pas à trouver de documentation complète. Notamment, je n'ai pas trouvé (ça n'existe peut-être pas ?) :

  • Un service gratuit compatible OSM permettant de déterminer la hauteur d'un point à partir de ses coordonnées GPS
  • Un service gratuit de cartographie qui fournirait des cartes du relief du monde entier. Refuges.info fournit des cartes d'Europe ; je n'ai pas trouvé mieux.

Si vous connaissez des services de ce genre, n'hésitez pas à répondre à ce journal !

Sinon, si vous vous sentez une âme de contributeur, vous pouvez : tester la galerie et remonter des bugs (en commentaire de ce journal ou ici), faire des suggestions d'amélioration, créer des thèmes, créer des plugins, … Il y a une documentation sommaire et probablement très incomplète (c'est un brouillon pour des amis qui utilisent la galerie et veulent l'adapter à leurs besoins), donc n'hésitez pas à poser des questions.

Divers

  • J'ai rajouté un thème "PhotoShow" à la galerie, petit clin d'oeil à Nyco qui avait publié sa galerie sur dans un journal il y a quelques années. Si ça pose des problèmes de copyright je peux bien sûr l'enlever !
  • Actuellement la galerie ne fonctionne pas à 100% sur Konqueror et Epiphany (notamment les liens avec des caractères spéciaux ne semblent pas fonctionner) ; ça sera corrigé.

Aperçu de la galerie
Aperçu de la galerie
Aperçu de la galerie

  • # Télécharger un album

    Posté par (page perso) . Évalué à 8.

    Une fonctionnalité essentielle pour tout logiciel d'albums photos à mon avis, dès qu'il s'agit de partager des photos avec des gens : fournir un moyen de télécharger un album entier. Aujourd'hui, à moins que je n'aie loupé quelque chose avec HTML5, il n'y a à ma connaissance qu'une seule façon de faire : générer une archive contenant toutes les photos. Et ça implique d'utiliser PHP ou un autre langage de script côté serveur pour cela, parce que tout pré-générer, bof bof…

    • [^] # Re: Télécharger un album

      Posté par . Évalué à 2.

      C'est une fonctionnalité que je peux rajouter via un plugin qui nécessiterait PHP. Pour l'instant, dans les personnes qui utilisent la galerie, personne n'avait jamais exprimé ce besoin, donc je ne l'ai pas codé ;) (Je me suis posé la question au début, mais finalement personne n'a jamais eu envie de rapatrier tout un album.)

      A défaut, il est toujours possible de télécharger une galerie entière via DownThemAll (ou tout plugin équivalent) en 2 clics. La dernière fois que j'ai testé ça fonctionnait bien :)

      • [^] # Re: Télécharger un album

        Posté par (page perso) . Évalué à 7. Dernière modification le 31/10/13 à 14:54.

        Note que je ne prétends pas que c'est une fonctionnalité qui sera demandée ou utilisée par beaucoup de gens, simplement que c'est une fonctionnalité très importante. C'est comme pouvoir changer soi-même l'huile d'un moteur ou l'eau d'un circuit de refroidissement, je doute que les gens le fassent souvent, il est très important de pouvoir le faire.

        Là, le cas d'usage c'est un événement avec plusieurs personnes. A priori, tout le monde est intéressé par les photo. Les regarder en ligne, c'est une chose, mais il est important de pouvoir les récupérer définitivement, pour pouvoir les consulter lorsque le site sera retiré. Après, que les gens le fassent ou non, c'est leur problème, ce qui est important c'est de leur permettre de le faire.

        En ce qui me concerne, ça fait partie des fonctionnalités indispensables. Actuellement, pour choisir un logiciel d'album photo en ligne, je regarde ceux qui :

        • permettent l'organisation en albums hiérarchiques (exit MediaGoblin) ;
        • permettent le téléchargement (exit EnVadrouille pour le moment) ;
        • ne nécessitent pas de serveur de base de données (exit Gallery).

        Bon, actuellement j'utilise Gallery, mais c'était clairement un choix par défaut à l'époque où j'avais dû choisir. Aujourd'hui, je me tournerais plutôt vers PhotoShow je pense. Si EnVadrouille évolue et se trouve répondre à mon besoin, j'en profiterais bien pour l'empaqueter pour Debian.

        • [^] # Re: Télécharger un album

          Posté par (page perso) . Évalué à 3.

          (après dans mes contraintes il y a des points bonus, comme l'utilisation de mots-clefs ou la localisation par exemple)

        • [^] # Re: Télécharger un album

          Posté par . Évalué à 2.

          Tout à fait. ;)

          (Je rajoute ça ce week-end.)

        • [^] # Re: Télécharger un album

          Posté par (page perso) . Évalué à 3.

          Accessoirement, c'est également une fonctionnalité qui différencie assez bien les services libres, dont il est facile d'extraire les données, des services privateurs dont il est difficile de sortir et qui encouragent l'utilisation exclusive de leur propre écosystème. Google Picasa par exemple…

          • [^] # Re: Télécharger un album

            Posté par . Évalué à 2.

            Pour moi c'est 2 choses séparés. La libération de données c'est pouvoir à la fois télécharger les photo, mais aussi leur organisation (l'ordre dans l'album, l'organisation des albums, les éventuels titres et commentaire, etc) alors que le fait de permettre de télécharger l'album c'est juste une question de partage de tes données.

            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

        • [^] # Re: Télécharger un album

          Posté par . Évalué à 1.

          • permettent l'organisation en albums hiérarchiques (exit MediaGoblin) ;
          • permettent le téléchargement (exit EnVadrouille pour le moment) ;
          • ne nécessitent pas de serveur de base de données (exit Gallery).

          Pourquoi ne pas utiliser une galerie ?

          Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

    • [^] # Re: Télécharger un album

      Posté par . Évalué à 2.

      Complément à la réponse précédente : à une époque j'avais également codé un module weboob pour récupérer une galerie (http://envadrouille.org/envadrouille.weboob.tar.gz) ;) Je ne sais pas si ça fonctionne encore ceci dit… (Le projet était en version 0.c à l'époque…)

    • [^] # Re: Télécharger un album

      Posté par . Évalué à 3.

      Une fonctionnalité essentielle pour tout logiciel d'albums photos à mon avis, dès qu'il s'agit de partager des photos avec des gens : fournir un moyen de télécharger un album entier.

      J'approuve vivement.

      Ça a été un casse tête pour moi pendant des mois (voire des années).

      Aujourd'hui, à moins que je n'aie loupé quelque chose avec HTML5, il n'y a à ma connaissance qu'une seule façon de faire : générer une archive contenant toutes les photos.

      Ça dépend.

      gallerie, par exemple, permet(tait) de télécharger plusieurs photos. Il fallait installer un module dédié pour, par contre.

      2 problèmes :
      1- C'est un héritage du monde commercial. Donc pour télécharger les photos, il faut cliquer sur un panier. Comme quand on fait des courses. Pas très intuitif, voire même inquiétant pour certaines personnes (ça va me débiter de l'argent si je clique ?)
      2- Ce con de module a l'idée saugrenue de compresser en .zip. J'imagine que ça vient du faire que le monde Windows est un monde d’analphabètes informatiques et qu'ils ne connaissent pas le tar. Sauf que pour les albums un peu gros, ça coince. Le serveur est à genoux dès qu'il s'agit de (mal) compresser quelques Go de photos et la page timeout.

      Du coup, j'ai tenté une solution consistant à générer des archives régulièrement de mes albums et sous albums. Les inconvénients viennent du fait qu'il n'est plus possible de trier les photos intéressantes avant le téléchargement (tant pis pour les petites connexions) et qu'il faut expliquer qu'un .tar c'est comme un .zip, d'ailleurs winzip l'ouvre. Et puis bon, ça fait prendre x3 en espace disque. Pas génial.

      Pas terrible. Autre tentative : installation d'un serveur ftp anonyme, léger hack du template gallery (2 à l'époque) pour qu'il permette d'afficher une page expliquant comment installer filezilla et récupérer des photos. Bon il faut installer un truc, c'est chiant, les gens abandonnent et demandent directement une clé USB avec les photos ou oublient.

      Je n'ai pas trouvé de solution idéale. Peut être que ça a évolué depuis, je n'ai pas regardé depuis un bout de temps.

      Le FN est un parti d'extrême droite

  • # API cartographiques

    Posté par (page perso) . Évalué à 5.

    Comme API cartographiques, tu peux regarder du côté d'OpenLayers et de Leaflet. J'ignore s'ils conviendront, vu que je ne connais strictement rien à ce sujet.

    • [^] # Re: API cartographiques

      Posté par . Évalué à 2.

      Il faut aussi regarder du côté de openstreetmap.fr, mapbox et mapquest pour la fourniture de tuiles.

      • [^] # Re: API cartographiques

        Posté par . Évalué à 3.

        Merci pour vos réponses.

        Mapbox a l'air vraiment bien, je vais regarder ça plus en détail ! Il manque juste l'affichage des altitudes sur les courbes de dénivelé, mais ça peut peut-être se configurer.

        Au niveau des API, Leaflet est une super API (c'est ce que je comptais utiliser), mais je ne vois pas de fonction qui permette de trouver l'altitude d'un point. Il y a une fonction qui fournit l'altitude de l'utilisateur mais je n'ai rien vu d'autre. Il est apparemment possible de récupérer des informations d'altitude en utilisant la XAPI d'openstreetmap, mais ça me semble plus relever du hack que d'autre chose. Je vais creuser ça.

  • # Pour l'altitude

    Posté par (page perso) . Évalué à 2.

    Tu peux peut-être regarder ce journal: https://linuxfr.org/users/jben/journaux/rv-un-moteur-de-recherche-d-itineraire-velo-en-utilisant-les-donnees-d-osm

    ça parle d'un moteur d'itinéraire vélo qui prend en compte l'altitude et qui est basé sur OSM (et SRTM), et ça explique le fonctionnement.

    En tout cas projet sympa :)

    • [^] # Re: Pour l'altitude

      Posté par . Évalué à 3.

      Merci pour le lien, je vais regarder ça. Je ne connaissais pas ce projet, ça a l'air assez épatant !

  • # Page blanche ???

    Posté par . Évalué à 1.

    Il manque un message d'information quand on a désactivé JavaScript.

    Et puisque j'y suis, lorsqu'on passe la souris sur une photo, ce serait bien de voir sur les statistiques l'endroit où elle a été prise.

    Sinon, bravo, c'est du bon boulot.

    • [^] # Re: Page blanche ???

      Posté par . Évalué à 3.

      Effectivement ! On annonce un long week-end pluvieux, j'en profiterai pour corriger le problème et rajouter le truc des statistiques.

      • [^] # Re: Page blanche ???

        Posté par . Évalué à 3.

        Problème corrigé. J'ai également ajouté les marqueurs sur les statistiques : lorsqu'on passe la souris sur une image, ça affiche un trait rouge au bon emplacement sur la courbe. (Si ça ne s'affiche pas, c'est un problème de cache… OVH transmet mal les modifications de fichiers, je ne sais pas pourquoi… :/ Même un CTRL+(MAJ)+R ne permet pas d'obtenir la dernière version…)

        • [^] # Re: Page blanche ???

          Posté par . Évalué à 3. Dernière modification le 03/11/13 à 13:49.

          Joli. Ça fonctionne bien. (Le trait rouge et le noscript.)

          Si ça t'intéresse, voici encore 2-3 petites notes:
          - inverser le sens des flèches du bouton "map_bigger" lorsque la carte est agrandie.
          - j'ai eu de la peine à me rendre compte que les chiffres gris dans les stats indiquent les heures. Bon j'ai jamais fait de traces GPS, c'est peut-être pour ça.
          - en gros, je trouve que ce n'est pas évident de trouver les données que je cherche au premier coup d'oeil: je dois à chaque fois tout lire et analyser pour m'y retrouver. Peut-être dans l'info-bulle qui apparaît à côté de la souris sur les statistiques, mettre en premier le temps, vu que c'est l'axe de référence du graphique. Peut-être aussi utiliser la couleur rouge pour les chiffre de l'altitude et le vert pour les chiffres de la vitesse.
          - une idée: ne pas avoir 2 info-bulles, mais une seule qui contiendrait les infos pour les 2 courbes. En même temps tu pourrais mettre un trait vertical au niveau de la souris. Cela pourrait rendre le parcours du graphique plus intuitif et plus précis.
          - Le mot "Statistiques" souligné: on dirait un lien, c'est trompeur. Personnellement je trouve le soulignage inutile :)
          - dans la source de la page, le commentaire <!-- Autogenerated --> est en fait la fin du bloc auto-généré, mais ce n'est pas clair.

          Dans tes galeries on peut associer des photos et même des vidéos avec des randonnées. Je me demande s'il serait aussi possible de mettre simplement du texte à un point de la randonnée. Ça pourrait être intéressant pour ajouter des descriptions des endroits intéressants, pour faire des carnets de randonnée, pour donner des conseils à ceux qui voudraient faire la même randonnée, etc.

          • [^] # Re: Page blanche ???

            Posté par . Évalué à 2.

            Merci pour les remarques, j'ai corrigé la plupart des points que tu mentionnes. Normalement les infobulles sont maintenant plus explicites :)

            Pour le "texte à un point de la randonnée" : la galerie gère maintenant les waypoints des traces gpx. En gros ça affiche un marqueur à l'endroit où le waypoint a été créé. En cliquant sur le marqueur, ça affiche une infobulle. (J'ai rajouté un waypoint bidon dans la démo pour tester.)

            (Et pour le style du "statistiques", je vais corriger ça.)

            • [^] # Re: Page blanche ???

              Posté par . Évalué à 1.

              Super !

              Du coup, j'ai un peu testé la fonction slideshow:
              - tu pourrais rajouter le pré-chargement automatique de l'image suivante ? Voire de l'image précédente si on a cliqué sur précédent ? Ça supprimerait beaucoup d'attente…
              - je ne trouve pas évident de différencier entre les deux boutons "agrandir" et "afficher l'image" en bas à droite de la boîte à slideshow. Si quelqu'un a une idée pour rendre ces 2 boutons moins ambigus… Ce qui pourrait être un début, ce serait que le navigateur montre l'url de l'image quand on met la souris sur le bouton "afficher l'image", comme pour les liens normaux.

              J'ai pas vu de waypoint sur la démo. Peut-être un problème de cache OVH…

              Pour les statistiques, si tu veux un texte plus court que "Durée depuis le début", tu peux essayer "Temps écoulé".

              • [^] # Re: Page blanche ???

                Posté par . Évalué à 1.

                Il y a déjà un préchargement des images précédentes et suivantes en mode "non plein écran". Pour le mode plein écran, il est pour l'instant désactivé (mais c'est un bug) ;)

                Bonne idée pour l'affichage de l'url. Je ne sais pas à quel point c'est faisable avec les boutons de colorbox, mais je regarderai ça.

                Et effectivement, je vais raccourcir un peu les textes, ça rendra l'infobulle plus lisible :)

                Merci pour les retours en tout cas !

                • [^] # Re: Page blanche ???

                  Posté par . Évalué à 2.

                  Préchargement corrigé, affichage de l'url effectué et texte modifié ;)

  • # PHP n'est pas sexy et pourtant

    Posté par . Évalué à 0.

    On voit pléthore de sites ou d'appli web pas mal utiles bourgeonner de-ci de là ces derniers temps, je m'attendrais à ce que ceux-ci mettent en avant la suite de dev super "hype" tel que Rails ou autres outils de déploiement rapides basés sur Ruby, il n'en est rien.

    Ça pourrait s'apparenter à du troll mais non, c'est juste que niveau dev web j'oscille entre Perl et C++ (sisi) donc je ne suis pas très mode, vous l'aurez compris, alors je n'entends parler que de Ruby et à toutes les sauces et pourtant, je vois bien plus de projets intéressants fait avec le vieux langage danois qu'avec l'autre qui donne l'impression de ne jamais rester en place.

    Pourquoi PHP ne suscite t-il pas plus d'enthousiasme alors qu'il est éprouvé, abondant et quasi omniprésent?

    • [^] # Re: PHP n'est pas sexy et pourtant

      Posté par (page perso) . Évalué à 7.

      Parce que c'est un langage qu'on choisit souvent par défaut. Comme langage, c'est de la merde, c'est incohérent au possible, avec de grosses fautes de conception. Mais c'est disponible presque partout. Les hébergements mutualisés proposant le plus souvent PHP.

      Bref, on choisit PHP pour être accessible, mais on n'aime pas ça, donc on n'est certainement pas enthousiaste à son sujet.

      • [^] # Re: PHP n'est pas sexy et pourtant

        Posté par . Évalué à 6.

        Comme langage, c'est de la merde, c'est incohérent au possible, avec de grosses fautes de conception.

        D'après ce que j'ai pu lire sur le blog de Frédéric Hardy les choses semblent fortement s'améliorer depuis quelques temps avec une nouvelle dynamique de développement et les tares du langages sont éjectées au fur et à mesure.

  • # Si tu veux du boulot pour le week-end...

    Posté par . Évalué à 2.

    voilà des idées :
    - affichage de données exif et surtout iptc (en survolant par exemple une icone situé dans un coin de l'image)
    - (ce que j'avais aimé dans PhotoShow) le déplacement en survol de l'image d'un album affiche plusieurs images contenues dans l'album
    - possibilité de lancer un diaporama automatique
    - gestion de commentaire (par exemple avec disqus)
    - galeries privées
    - …

    • [^] # Re: Si tu veux du boulot pour le week-end...

      Posté par . Évalué à 3.

      Merci pour tes idées ;)

      Presque toutes ces fonctionnalités sont déjà disponibles ;)

      • Il y a un thème photoshow que tu peux utiliser et qui a l'effet de survol. (Dans la démo, clique sur la petite roue en bas à droite et utilise le thème "photoshow").
      • Pour lancer un diaporama automatique, tu peux cliquer sur le bouton play dans le visionneur de photos (ça fonctionne avec le visionneur normal et en plein écran)
      • Il y a un plugin "commentaires". Si tu vas dans l'onglet "plugins" du site (menu tout en haut de la page principale), tu peux cliquer sur l'image du plugin "commentaires", ça l'activera automatiquement. Et ça utilise disqus !
      • Les galeries privées c'est possible en cochant le champ "hidden" dans l'administration. Les galeries cachées ne sont accessibles que si on connait le lien.

      Pour les données EXIF, j'utilise actuellement l'extension FxIF de firefox (dans le visionneur de photos, clic droit > Données FxIF m'affiche ce que je veux). Si ça intéresse des gens je peux potentiellement rajouter les infos directement dans la galeries. Pour les données iptc (= XMP ?), qu'est-ce que tu veux afficher ?

      • [^] # Re: Si tu veux du boulot pour le week-end...

        Posté par . Évalué à 2.

        Il y a un thème photoshow que tu peux utiliser et qui a l'effet de survol. (Dans la démo, clique sur la petite roue en bas à droite et utilise le thème "photoshow").

        cool!

        Pour lancer un diaporama automatique, tu peux cliquer sur le bouton play dans le visionneur de photos (ça fonctionne avec le visionneur normal et en plein écran)
        Les galeries privées c'est possible en cochant le champ "hidden" dans l'administration. Les galeries cachées ne sont accessibles que si on connait le lien.

        j'avais pas vu

        Il y a un plugin "commentaires". Si tu vas dans l'onglet "plugins" du site (menu tout en haut de la page principale), tu peux cliquer sur l'image du plugin "commentaires", ça l'activera automatiquement. Et ça utilise disqus !

        j'ai vu mais un peu trop tard ;)

        C'est donc TRÈS bien! Ta galerie couvre pas mal de besoins… bien joué!!

        Pour les données iptc (= XMP ?), qu'est-ce que tu veux afficher ?

        J'ai l'habitude de tagguer mes photos et de les légender quelques fois. Donc pouvoir les afficher, serait pas mal.
        Mais peut-être pourrais-tu laisser la configuration à l'utilisateur (comme je l'eut fait ici, si ça peut t'aider…) :

    • [^] # Re: Si tu veux du boulot pour le week-end...

      Posté par (page perso) . Évalué à 9.

      • gestion de commentaire (par exemple avec disqus)

      Non, pitié, pas Disqus… On n'installe pas son propre service d'albums photos pour aller mettre les commentaires sur un service privateur centralisé !

      • [^] # Re: Si tu veux du boulot pour le week-end...

        Posté par . Évalué à 2.

        Je savais que tu allais réagir.
        Mon point de vue est que sur une galerie, les commentaires, c'est pas forcement un truc que tu veux garder absolument. Et intégrer disqus permet d'avoir une fonctionnalité conviviale avec un TRÈS faible cout de développement et surtout sans avoir besoin d'une base de données pour gérer tout ça.

        S'il faut se mettre à développer soit même cette fonctionnalité, on est pas sortie de l'auberge….

  • # Suivant

    Posté par (page perso) . Évalué à 10.

    Sur la démo, il y a un truc que je n'aime pas, les boutons suivants et précédents change de place selon la taille de la photo… Personnellement, je n'aime que les albums ou je met ma souris sur suivant et clique sans réfléchir ;-)

    • [^] # Re: Suivant

      Posté par . Évalué à 1.

      C'est une bonne remarque. :) Est-ce que tu as un exemple de galerie qui fait ça et qui te plait ?

      Pour l'instant les boutons précédents/suivants ne sont fixes qu'en "mode plein écran" (pour passer en plein écran c'est le 3ème bouton en bas à droite). De mon côté j'utilise les touches fléchées de mon clavier, donc je n'avais jamais réfléchi à la question…

      • [^] # Re: Suivant

        Posté par . Évalué à 2.

        Ca dépend du visionneur d'image. Il y a quelques temps, j'en avais bidouillé un pour avoir les flèches fixes. Si je m'en rappelle bien, j'avais rajouté par javascript des règles css à la div qui contenait les flèches: min-width et max-width étaient fixées à la largeur initiale de la div lors de l'événement de fin d'apparition du visionneur. Regardes si tu peux facilement adapter l'idée à ton cas.

        • [^] # Re: Suivant

          Posté par . Évalué à 2.

          J'ai rajouté des flèches fixes à gauche et à droite de l'écran lorsqu'on lance le visionneur. (Si les flèches n'apparaissent pas, c'est à priori un problème de cache… Pour une raison qui m'échappe OVH ne propage pas toutes les mises à jour des fichiers :/)

    • [^] # Re: Suivant

      Posté par . Évalué à 1.

      Personnellement, je n'aime que les albums ou je met ma souris sur suivant et clique sans réfléchir ;-)

      Tu ferais mieux d'utiliser le clavier. Je dis ça je dis rien.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.