<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt">Merci Julien, c'est très intéressant. <br><br>Je ne suis pas familier avec le langage C mais j'essaie quand même de me mettre les mains dans le cambouis dans l'environnement windows.<br><br>Je vais essayer de m'y retrouver avec MinGW ou Code::Block.<br><br> <div style="color: rgb(0, 0, 191); font-size: 13.3333px; font-family: arial,helvetica,sans-serif; background-color: transparent; font-style: italic;"><span style="font-style:italic;color:rgb(0, 0, 191);font-weight:bold;">Pierre <br></span><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;">  <div style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> <hr size="1"> 
 <b><span style="font-weight:bold;">De :</span></b> THEVENON Julien <julien_thevenon@yahoo.fr><br> <b><span style="font-weight: bold;">À :</span></b> Discussions sur OSM en français <talk-fr@openstreetmap.org>; "dev-fr@openstreetmap.org" <dev-fr@openstreetmap.org> <br> <b><span style="font-weight: bold;">Envoyé le :</span></b> Samedi 3 novembre 2012 18h26<br> <b><span style="font-weight: bold;">Objet :</span></b> [OSM-talk-fr] Outil de suivi des objets qu on a edite<br> </font> </div> <br><meta http-equiv="x-dns-prefetch-control" content="off"><div id="yiv1377228085"><div><div style="color:#000;background-color:#fff;font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:10pt;"><div>Bonjour,</div><div><br></div><div style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Depuis quelques temps je
 developpe un logiciel d analyse de diff OSM.</div><div style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">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.</div><div style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">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.</div><div style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Je le mets donc a disposition en esperant que certains le testeront et me donneront leur avis.</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Vous devriez trouver en piece jointe de ce mail un exemple de rapport genere par l outil.</div><div
 class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Il s agit d un fichier HTML indiquant quels objets ont ete modifies et donnant des details sur les modifications effectues ( changeset,user):</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Node : ajout/suppresion/modifications de tags, deplacement, suppression</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Way : ajout/suppresion/modifications de tags, ajout/suppression de node</div><div
 class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Relation : ajout/suppresion/modifications de tags, ajout/suppression de membre, changement de role d un membre</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Chaque objet OSM est accessible via les liens HTML, dans le cas d une suppression le lien pointe sur la dernier version avant suppression.</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><br></div><div
 class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">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 )<br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">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 )<br></div><div
 class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">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 <br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Un fichier de conf XML permet de parametrer l outil
 ( un exemple est fourni dans le package).</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><span style="font-weight:bold;">library</span> indique l emplacement de la librairie de suivi des objets</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><span style="font-weight:bold;">analyzer</span> permet de creer un instance du module de suivi d objet. son parametre <span style="font-weight:bold;">user_name</span> est utilise pour decider des objets a mettre sous suivi</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco,
 monospace, sans-serif;background-color:transparent;font-style:normal;">les parametres <span style="font-weight:bold;">proxy_authentication</span> permettent de se connecter derriere un
 proxy</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><span style="font-weight:bold;">start_policy</span> et <span style="font-weight:bold;">start_sequence_number</span> sont utilises pour analyser les diffs de l exemple.</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Il est possible de configurer l outil pour qu il reparte de la derniere diff analysee en configurant <span style="font-weight:bold;">start_policy</span> a <span style="font-weight:bold;">stored</span></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco,
 monospace, sans-serif;background-color:transparent;font-style:normal;"><span style="font-weight:bold;">iteration_number</span> 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 <span style="font-weight:bold;">Control+C</span> auquel cas il s arretera apres avoir fini l analyse en cours et stocke son numero de sequence</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">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<br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_312" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Pour que la compilation fonctionne il faut avoir installe les libs suivantes : perl sqlite3 expat curl zlib<br></div><div style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Le package est telechargeable ici :</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New,
 courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><a rel="nofollow" target="_blank" href="http://thevenon.julien.free.fr/osm_object_watcher/object_watch.tar.gz">http://thevenon.julien.free.fr/osm_object_watcher/object_watch.tar.gz</a></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Il contient deux repertoires et un README:</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace,
 sans-serif;background-color:transparent;font-style:normal;">repository qui contient le code
 source de l outil</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">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</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Le README indique la procedure a suivre pour compiler l outil<br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324"
 style="color:rgb(0, 0, 0);
font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Au niveau des ameliorations a apporter voici quelques idees en vrac des amelioriations que je compte apporter:</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">+ ajout d alerte quand on modifie un way contenant un node a surveiller ( idem pour les relations et leur membres)</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">+ parametrer si l on souhaite marquer un way avec ses nodes ou pas ( idem pour les relations )</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324"
 style="color:rgb(0, 0, 0);
font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">+ ajouter des objets a surveiller a partir d un fichier OSM</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">+ choisir si un objet continue a etre surveille apres modifications ou pas<br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">+ ajouter une interface graphique a l outil<br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace,
 sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">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</div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;">Julien<br></div><div
 class="yiv1377228085yui_3_7_2_16_1351973268155_324" style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><br></div><div style="color:rgb(0, 0, 0);font-size:13.3333px;font-family:Courier New, courier, monaco, monospace, sans-serif;background-color:transparent;font-style:normal;"><br></div></div></div></div><meta http-equiv="x-dns-prefetch-control" content="on"><br>_______________________________________________<br>Talk-fr mailing list<br><a ymailto="mailto:Talk-fr@openstreetmap.org" href="mailto:Talk-fr@openstreetmap.org">Talk-fr@openstreetmap.org</a><br><a href="http://lists.openstreetmap.org/listinfo/talk-fr" target="_blank">http://lists.openstreetmap.org/listinfo/talk-fr</a><br><br><br> </div> </div> </blockquote></div>   </div></body></html>