[OSM-talk-fr] Outil de suivi des objets qu on a edite
THEVENON Julien
julien_thevenon at yahoo.fr
Sam 3 Nov 22:26:39 UTC 2012
Bonjour,
Depuis quelques temps je developpe un logiciel d analyse de diff OSM.
Une des applications qui m a paru interessante etait de suivre les modifications effectuees par d autres contributeurs sur des objets que j ai cree ou modifie.
J ai un prototype qui commence a marcher, il n est pas termine et reste assez basic pour le moment mais je me suis dit que cela pourrait peut etre interesser d autres personnes.
Je le mets donc a disposition en esperant que certains le testeront et me donneront leur avis.
Vous devriez trouver en piece jointe de ce mail un exemple de rapport genere par l outil.
Il s agit d un fichier HTML indiquant quels objets ont ete modifies et donnant des details sur les modifications effectues ( changeset,user):
Node : ajout/suppresion/modifications de tags, deplacement, suppression
Way : ajout/suppresion/modifications de tags, ajout/suppression de node
Relation : ajout/suppresion/modifications de tags, ajout/suppression de membre, changement de role d un membre
Chaque objet OSM est accessible via les liens HTML, dans le cas d une suppression le lien pointe sur la dernier version avant suppression.
Un parametre permet d indiquer le nom de l utilisateur dont on veut suivre les objets. A chaque fois que l utilisateur cree ou modifie un objet celui sera marque comme "a surveiller" et stocke en cache. ( il est aussi possible d ajouter arbitrairement des objets a surveiller en editant la base de donnee de l outil )
Dans le cas d un way tous les nodes qui le composent sont marques, c est aussi le cas pour les relations ( cela sera certainement parametrable dans le futur )
A chaque fois qu un objet marque "a surveiller" est modifie l outil va comparer la nouvelle version avec la precedente ( si celle-ci n est pas en cache elle sera telechargee) et generer le rapport indiquant les differences qu il est capable de detecter
Un fichier de conf XML permet de parametrer l outil ( un exemple est fourni dans le package).
library indique l emplacement de la librairie de suivi des objets
analyzer permet de creer un instance du module de suivi d objet. son parametre user_name est utilise pour decider des objets a mettre sous suivi
les parametres proxy_authentication permettent de se connecter derriere un proxy
start_policy et start_sequence_number sont utilises pour analyser les diffs de l exemple.
Il est possible de configurer l outil pour qu il reparte de la derniere diff analysee en configurant start_policy a stored
iteration_number indique a l outil de s arreter apres l analyse de deux minutes-diff. Si l on ne precise pas de valeur l outil continuera son execution jusqu a ce qu il recoive un signal Control+C auquel cas il s arretera apres avoir fini l analyse en cours et stocke son numero de sequence
Pour l instant je n ai fais les tests que sous Linux. A part la gestion du signal Control+C il s agit de C++ standard donc cela peut peut etre marcher sous MinGW sur Windows
Pour que la compilation fonctionne il faut avoir installe les libs suivantes : perl sqlite3 expat curl zlib
Le package est telechargeable ici :
http://thevenon.julien.free.fr/osm_object_watcher/object_watch.tar.gz
Il contient deux repertoires et un README:
repository qui contient le code source de l outil
data qui contient les fichiers de confs et donnees necessaires pour l executer et obtenir le rapport d exemple qui se trouve en piece jointe de ce mail
Le README indique la procedure a suivre pour compiler l outil
Au niveau des ameliorations a apporter voici quelques idees en vrac des amelioriations que je compte apporter:
+ ajout d alerte quand on modifie un way contenant un node a surveiller ( idem pour les relations et leur membres)
+ parametrer si l on souhaite marquer un way avec ses nodes ou pas ( idem pour les relations )
+ ajouter des objets a surveiller a partir d un fichier OSM
+ choisir si un objet continue a etre surveille apres modifications ou pas
+ ajouter une interface graphique a l outil
Si vous avez des questions ou suggestions n hesitez pas, mon framework est concu pour etre modulaire,le suivi d objets n est qu un des modules sur lesquels je developpe
Julien
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20121103/9c40cc1f/attachment.htm>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20121103/9c40cc1f/attachment.html>
Plus d'informations sur la liste de diffusion Talk-fr