Journal Lugdulo'V: trouvez un vélo pas loin (Velib, Velo'V, ..)

Posté par (page perso) .
Tags : aucun
12
14
août
2010
Cher Journal,
Aujourd'hui, je tenais à te présenter un logiciel sur le quel je travaille depuis quelques temps: Lugdulo'V.

Lugdulo'V est une application GPL écrite Qt qui permet de trouver des vélos libres (ou des places libres) sur les réseaux
tels que Velo'V ou Velib. C'est assez similaire à "A Bike Now" ou "Cycloid", à la différence que c'est libre, et que
ça tourne sur plus de platformes (pour l'instant Windows, Linux et Maemo).

L'appli permet de chercher des stations par noms, position (en utilisant votre GPS), ou via une carte.

Pour l'instant, elle ne supporte que Lyon (Velo'V) et Paris (Velib). Mais c'est vraiment simple d'écire un nouveau
plugin, par exemple, cela m'a pris qu'une heure d'écire celui pour les Velib ! Si votre vile à un réseau de vélo (Renne, Marseille, ?),
essayez d'écrire votre plugin, et contactez moi que je l'intègre à la prochaine version ! Il n'a pas pour l'instant de guide
pour écrire un plugin, mais j'ai écrit un squelette de plugin, et vous pouvez regarder les deux qui éxistent, ils sont assez simples.
Si vous êtes intéressés et que vous avez besoin d'aide, n'hésitez pas à me contacter !

Code source: http://git.iksaif.net/?p=lugdulov.git;a=summary
Bug tracker: http://dev.iksaif.net/projects/lugdulov
Page Web : http://xf.iksaif.net/dev/lugdulov.html

La version Maemo devrais être dispo bientôt dans extra-devel, mais elle est aussi dispo sur ma page web.

Pour la partie technique: c'est tout basé sur des Vues et des Modèles. Deux modèles principaux sont utilisés de partout:
StationsModel et StationsSortFilterProxyModel (oui .. ça fait java), même pour la carte ! La carte elle utilise QMapControl,
mais légèrement modifiée (c'est plus trop maintenu). Mais Nokia devrais sortir des API de navigation dans les prochaines versions
de Qt. Les plugins eux sont basés sur QtPlugin.
  • # Re: Lugdulo'V: trouvez unvélopas loin (Velib, Velo'V, ..)

    Posté par . Évalué à 5.

    Cool, c'est justement en TODO¹ dans Weboob²³, il y a du code à pomper là.

    ¹ http://weboob.org#Backends
    ² http://weboob.org
    ³ https://linuxfr.org/2010/08/06/27217.html
  • # Plugins

    Posté par . Évalué à 1.

    Tu devrai inclure le plugin squelette dans ton programme, puisqu'il pourrait me servir. Il faudrai juste renommer la station en "Mon vélo chez moi" et pouvoir configurer la position de sa maison :)
    • [^] # Re: Plugins

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

      On peut aussi détourner l'utilisation pour rajouter des objets bidons sur la carte, genre sa voiture ... Mais je pense qu'on sort un peu du contexte d'utilisation :p
      • [^] # Re: Plugins

        Posté par . Évalué à 3.

        Et alors ? Le détournement d'usage fait partie de l'esprit du libre, non ?
        • [^] # Re: Plugins

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

          Un bon logiciel permet de faire ce qui est prévu.

          Un excellent logiciel permet également de faire ce qui n'a jamais été prévu.
          • [^] # Re: Plugins

            Posté par . Évalué à 10.

            Un excellent logiciel permet également de faire ce qui n'a jamais été prévu.

            bizarrement, les mauvais aussi
            • [^] # Re: Plugins

              Posté par . Évalué à 3.

              C'est l'histoire du bon et du mauvais chasseur...
        • [^] # Re: Plugins

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

          Tant que c'est les autres qui écrivent les patchs, ça me dérange pas :)
  • # J'veux bien mais...

    Posté par . Évalué à 3.

    Quelqu'un saurait-il comment extraire les données d'une carte Google Maps ? Ou plus exactement où et quoi chercher quand un site fait appel aux API Google Maps pour afficher des infos ?
    Car pour les Véol de Caen, ça se trouve ici[1]



    1 http://www.veol.caen.fr/localizaciones/localizaciones.php
    • [^] # Re: J'veux bien mais...

      Posté par . Évalué à 3.

      Les informations de positionnement des stations ne proviennent pas de google maps mais sont ajoutées au dessus de la map google à partir d'information injectées via javascript par la page elle-même.

      Il suffit de rechercher 'kml' dans le source de la page pour trouver la chaine de caractère javascript où sont stockées toutes les données au format XML KML (contenu des popups et longitude lagitude).
    • [^] # Re: J'veux bien mais...

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

      Perso j'utilise firebug pour voir ce qui se passe et explorer la source de la page. Lyon et Paris utilisent aussi une google map.

      Dans le cas de lyon la page en appelaiit une autre avec quelques paramètres, qui retournait ensuite du json avec les infos de position. Ensuite, une autre page retourne le status d'une station en xml.

      Pour paris, un gros fichier xml permet de trouver noms et positions. pour le status c'est comme lyon.

      Je pense que la pluspart des systèmes sont assez proche de ça.
    • [^] # Re: J'veux bien mais...

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

      Car pour les Véol de Caen, ça se trouve ici

      Ce nourjal est-il un nourjal sur le cyclimse ?
      • [^] # Re: J'veux bien mais...

        Posté par . Évalué à 2.

        Non, c'est leur vrai nom !

        La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".

      • [^] # Re: J'veux bien mais...

        Posté par . Évalué à 2.

        Non, ce sont des vélos qui fonctionnent avec le vent.

        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

    • [^] # Re: J'veux bien mais...

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

      Je sais pas avec Gmaps, mais avecOpenLayers/OpenStreetMaps, il y a moyen de faire des trucs du genre (si j'ai bien compris) avec XAPI. Cf cet exemple publié récemment :
      http://maps.qualitystreetmap.org/openlayers/examples/osm_xap(...)
      (Les sommets sont récupérés en direct depuis la base)
  • # Android

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

    Ah c'est cool, je voulais justement chercher un logiciel de ce genre ! Parce que arrivé à une borne pleine, pas facile de savoir où sont les suivantes, ni de savoir le nombre de vélos restant. C'est bien indiqué sur certaines stations, mais faut connaître les petites rues et le nombre de place restante est pas indiqué.

    Par contre...moi j'ai pas de Maemo, mais un Android. Est-ce que tu penses qu'il est possible de le porter sur Android ? Je n'ai encore rien codé pour Android, donc je ne suis pas sûr de pouvoir le faire...À moins qu'une telle application (libre !) existe déjà sur Android ?
    • [^] # Re: Android

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

      Non je ne le porterais pas sur Android, principalement parce que ça éxiste déjà. Cherche cycloid, "bike", "bike sharing" et tu devrais pouvoir trouver ton bonheur.
    • [^] # Re: Android

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

      Y a OpenVelib
    • [^] # Re: Android

      Posté par . Évalué à 1.

      android c'est has been! Il faut la redevelopper pour Symbian plutot!

      Ok je sors....
      • [^] # Re: Android

        Posté par . Évalué à 3.

        Ben au moins avec Symbian et Qt, on ne risque pas de procès...

        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # Retour de bâton

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

    L'appli me parait intéressante mais à l'heure de l'explosion des Velo'v à Lyon une petite société avait sorti le même genre de chose. La société des transports Lyonnais n'a pas trouvé mieux de menacer cette société parce qu'elle exploitait leurs données... Alors qu'elles étaient fournis sur le net et bizarrement peut de temps après l'appli des transports est sorti... Chercher l'erreur.

    Born to Kill EndUser !

  • # Villo

    Posté par . Évalué à 2.

    Ah bien ça. J'avais justement en vague projet de faire une application Villo (Bruxelles) pour Maemo. Tu sais si quelqu'un est déjà sur le coup ?
    • [^] # Re: Villo

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

      Pour Bruxelles je viens de recevoir un plugin :), dispo dès demain dans l'arbre git normalement.
      • [^] # Re: Villo

        Posté par . Évalué à 2.

        Ah super, ça m'évitera d'avoir à le faire :)
        Je me vais me faire un plaisir de tester ça.

        Bravo et merci pour ton application.
      • [^] # Re: Villo

        Posté par . Évalué à 5.

        A la suite du plugin pour Bruxelles j'ai aussi soumis les plugins pour :
        Aix-En-Provence, Amiens, Besançon, Cergy Pontoise, Créteil, Nancy, Marseille, Mulhouse, Nantes, Plaine Commune, Rouen, Toulouse, Dublin, Luxembourg, Séville, Toyama, Santander.

        Avec les plugins pour Lyon, Paris et Bruxelles cela fera sans doute 20 villes couvertes.
        • [^] # Re: Villo

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

          Tout ces plugins peuvent être trouvés sur la branche "patrick" de l'arbre git de dev: http://git.iksaif.net/?p=lugdulov.git;a=summary

          Il semble qu'un grand nombre de service utilise le même code. De mon côté je suis donc en train de refactoriser tout ça afin de diminuer le nombre de lignes de codes nécessaires pour ce type de plugin. Voir par exemple ce qu'il à fallu pour le cas de Cergy Pontoise: http://git.iksaif.net/?p=lugdulov.git;a=commit;h=17f5bec66d6(...) .

          Merci encore Patrick :)
          • [^] # Re: Villo

            Posté par . Évalué à 1.

            Flute alors, moi qui venais de terminer le plugin pour les vélouses (Toulouse) ... trop tard !
            • [^] # Re: Villo

              Posté par . Évalué à 3.

              Ça s'appelle vraiment Vélouse ? C'est pas un peu la loose ?

              ======> []
              • [^] # Re: Villo

                Posté par . Évalué à 2.

                C'est ça qui est marrant justement !

                En réalité c'est "Vélô Toulouse", mais tout le monde dit vélouse bien sûr, il y a même des pétitions qui circulent pour changer le nom officiellement.

                Les vélouses, on les attache à des born to loose ... :]
          • [^] # Re: Villo

            Posté par . Évalué à 1.

            Je viens de voir que ça a été mergé dans master mais malheureusement j'arrive pas à le builder:

            $ cmake ..
            -- Could NOT find QTLOCATION (missing: QTLOCATION_LIBRARIES QTLOCATION_INCLUDE_DIR)
            -- Could NOT find QTBEARER (missing: QTBEARER_LIBRARIES QTBEARER_INCLUDE_DIR)
            CMake Error at plugins/CMakeLists.txt:7 (add_subdirectory):
            add_subdirectory given source "toyama" which is not an existing directory.


            -- Configuring incomplete, errors occurred!
            • [^] # Re: Villo

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

              hum étrange, j'ai pas le code sous la main (suis sur mon n900), mais tu devrais pouvoir te débrouiller en commentant la ligne fautive.
              • [^] # Re: Villo

                Posté par . Évalué à 1.

                Ah super ça marche maintenant!
                Une idée de quand ce sera dispo sur le N900 histoire que je puisse enfin me rendre à vélo au boulot sans craindre de tomber sur une borne full à l'arrivée ? :)
                • [^] # Re: Villo

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

                  Bah à la base je voulais attendre de faire la version Symbian avant de sortir la 0.3, mais je pense que je vais revoir un peu mes plans, et probablement sortir une 0.2.1 dans pas très longtemps (d'ici la fin de la semaine). Il faudrais que j'en profite pour résoudre quelques problèmes de perfs sur le n900.
        • [^] # Re: Villo

          Posté par . Évalué à 1.

          Et Rennes ? :'-(
          • [^] # Re: Villo

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

            C'est dans la TODO list ( http://dev.iksaif.net/projects/lugdulov/wiki/Wiki ). Si quelqu'un me fournit un patch, ça sera dispo encore plus vite :p
            • [^] # Re: Villo

              Posté par . Évalué à 1.

              J'ai préparé le terrain pour les villes françaises : Aix-en-Provence, Amiens, Avignon, Besançon, Bordeaux, Caen, Calais, Cergy-Pontoise, Chalon-sur-Saone, Créteil, Dijon, La Rochelle, Marseille, Montpellier, Mulhouse, Nancy, Nantes, Nice, Orleans, Perpignan, Plane commune, Rennes, Rouen, Toulouse, Vannes.

              Paris et Lyon étaient présent dès la première version, Montpellier n'a pas de carte dynamique et les vélos à Chalons sur Saône semble encore à l'état de projet.

              Est-ce qu'il manque une ville française à mon catalogue ?
  • # Widget !

    Posté par . Évalué à 1.

    Je vais bientôt utiliser les vélib de Rennes, donc je pense que j'utiliserais cette appli (surtout pour connaître la disponibilité d'un vélo à la station de chez moi).
    Cela dit, un widget pour KDE pour avoir ça sur le bureau directement, ça serait top !
    • [^] # Re: Widget !

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

      Il est à mon avis très facile de réutiliser le code pour faire un widget. Je n'ai malheuresement pas trop le temps, mais je peux tenter dans un premier temps de "libifier" tout ça.

Suivre le flux des commentaires

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