diff --git a/CHANGES.md b/CHANGES.md
new file mode 100644
index 00000000..0e53a061
--- /dev/null
+++ b/CHANGES.md
@@ -0,0 +1,35 @@
+# Changements apportés
+
+## Ajout d'une section "Équipe Wiki OSM FR" sur la page des changements récents
+
+### Description
+Ajout d'une nouvelle section au début de la page des changements récents qui liste les membres de l'équipe Wiki OSM FR avec des liens vers leurs pages d'utilisateur, en indiquant le nombre de modifications dans un badge à côté du nom de l'utilisateur. Les utilisateurs sont triés par ordre décroissant du nombre de contributions. À côté de chaque utilisateur, on affiche également le nombre de caractères ajoutés, modifiés et supprimés.
+
+### Fichiers modifiés
+
+1. **src/Controller/WikiController.php**
+ - Ajout d'une nouvelle méthode `processTeamMembersStats()` qui traite les données des changements récents pour extraire les statistiques des membres de l'équipe
+ - Mise à jour de la méthode `recentChanges()` pour appeler cette nouvelle méthode et passer les données à la template
+
+2. **templates/admin/wiki_recent_changes.html.twig**
+ - Ajout d'une nouvelle section au début de la page qui affiche les statistiques des membres de l'équipe
+ - Implémentation des liens utilisateur et des badges comme spécifié
+ - Affichage du nombre de caractères ajoutés, modifiés et supprimés avec un code couleur
+
+### Fonctionnalités
+
+- **Traitement des données** : Les données des changements récents sont traitées pour extraire les statistiques par utilisateur
+- **Tri des utilisateurs** : Les utilisateurs sont triés par ordre décroissant du nombre de contributions
+- **Affichage des statistiques** : Pour chaque utilisateur, on affiche :
+ - Un lien vers sa page d'utilisateur
+ - Un badge indiquant le nombre de modifications
+ - Le nombre de caractères ajoutés (en vert)
+ - Le nombre de caractères modifiés (en jaune), si applicable
+ - Le nombre de caractères supprimés (en rouge), si applicable
+- **Mise en page responsive** : La section utilise une mise en page responsive avec Bootstrap (3 colonnes sur les écrans moyens et grands)
+
+### Notes techniques
+
+- La méthode `processTeamMembersStats()` gère différents formats de taille de changement, y compris les valeurs numériques, le format "+123" et le format "−123" (avec un signe moins spécial)
+- La section n'est affichée que s'il y a des membres d'équipe à montrer
+- Des tooltips sont ajoutés pour expliquer ce que représente chaque nombre lorsqu'on survole les statistiques de caractères
\ No newline at end of file
diff --git a/public/recent_changes.json b/public/recent_changes.json
index e56cce10..6388dc8c 100644
--- a/public/recent_changes.json
+++ b/public/recent_changes.json
@@ -1,909 +1,1361 @@
{
- "last_updated": "2025-08-31T22:51:15.379102",
+ "last_updated": "2025-08-31T23:06:21.842772",
"recent_changes": [
{
"page_name": "FR:Tag:man made=guard stone",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:man_made%3Dguard_stone",
"timestamp": "N 17:23",
"user": "Lejun",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Lejun",
"comment": "(Traduction depuis l'anglais.)",
- "change_size": "0"
+ "change_size": "0",
+ "diff_url": "",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Tag:amenity=recycling",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:amenity%3Drecycling",
"timestamp": "15:51",
"user": "The1110",
+ "user_url": "https://wiki.openstreetmap.org/w/index.php?title=User:The1110&action=edit&redlink=1",
"comment": "(Changement de support de post à pole)",
- "change_size": "+16"
+ "change_size": "+16",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Tag:amenity%3Drecycling&curid=50813&diff=2892052&oldid=2871010",
+ "added_text": " pole pole",
+ "removed_text": "post post"
},
{
"page_name": "FR:Wall",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Wall",
"timestamp": "15:32",
"user": "Tykayn wiki",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Tykayn_wiki",
"comment": "(up boite principale)",
- "change_size": "+54"
+ "change_size": "+54",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Wall&curid=332141&diff=2892044&oldid=2892043",
+ "added_text": " Enrichit l'information d'une barrière de type murale La valeur doit indiquer la fonction principale du mur son fonction matériau de construction onWay ",
+ "removed_text": "Used to provide more detailed information about a The value should indicate the principle feature of the wall which might be the purpose or building material of the wall onArea"
},
{
"page_name": "FR:Addr:city:simc",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Addr:city:simc",
"timestamp": "N 14:27",
"user": "Tykayn wiki",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Tykayn_wiki",
"comment": "(création et traduction)",
- "change_size": "0"
+ "change_size": "0",
+ "diff_url": "",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Tag:highway=hitchhiking",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:highway%3Dhitchhiking",
"timestamp": "m 13:02",
"user": "AdrienHegy",
+ "user_url": "https://wiki.openstreetmap.org/w/index.php?title=User:AdrienHegy&action=edit&redlink=1",
"comment": "(Ajout termes liés)",
- "change_size": "+100"
+ "change_size": "+100",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Tag:highway%3Dhitchhiking&curid=311547&diff=2891980&oldid=2891963",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Tag:ceremonial gate=torii",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:ceremonial_gate%3Dtorii",
"timestamp": "10:32",
"user": "Computae",
+ "user_url": "https://wiki.openstreetmap.org/w/index.php?title=User:Computae&action=edit&redlink=1",
"comment": "(correction infobox)",
- "change_size": "−164"
+ "change_size": "−164",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Tag:ceremonial_gate%3Dtorii&curid=285484&diff=2891882&oldid=2890990",
+ "added_text": "ceremonial_gate approved",
+ "removed_text": "man_made in use"
},
{
"page_name": "FR:Tag:man made=torii",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:man_made%3Dtorii",
"timestamp": "10:27",
"user": "Computae",
+ "user_url": "https://wiki.openstreetmap.org/w/index.php?title=User:Computae&action=edit&redlink=1",
"comment": "(mise en forme)",
- "change_size": "+23"
+ "change_size": "+23",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Tag:man_made%3Dtorii&curid=332045&diff=2891877&oldid=2890992",
+ "added_text": "{{Tag| | }} avec {{Tag|ceremonial_gate|torii}}",
+ "removed_text": "tag: ="
},
{
"page_name": "FR:Tag:boundary=forest",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:boundary%3Dforest",
"timestamp": "N 08:48",
"user": "Technoeconature",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Technoeconature",
"comment": "(Début de traductions)",
- "change_size": "0"
+ "change_size": "0",
+ "diff_url": "",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Key:ref:EU:ENTSOE EIC",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Key:ref:EU:ENTSOE_EIC",
"timestamp": "m 08:23",
"user": "Kjon",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Kjon",
"comment": "(removed Category:Power using HotCat)",
- "change_size": "−19"
+ "change_size": "−19",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Key:ref:EU:ENTSOE_EIC&curid=327167&diff=2891827&oldid=2835589",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Key:position",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Key:position",
"timestamp": "m 08:15",
"user": "Kjon",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Kjon",
"comment": "(Update group)",
- "change_size": "+2"
+ "change_size": "+2",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Key:position&curid=329447&diff=2891823&oldid=2891822",
+ "added_text": "propriétés",
+ "removed_text": "properties"
},
{
"page_name": "FR:Key:addr:housename",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Key:addr:housename",
"timestamp": "m 21:57",
"user": "Computae",
+ "user_url": "https://wiki.openstreetmap.org/w/index.php?title=User:Computae&action=edit&redlink=1",
"comment": "(correction du groupe)",
- "change_size": "−17"
+ "change_size": "−17",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Key:addr:housename&curid=332056&diff=2891790&oldid=2891113",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Tag:amenity=stage",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:amenity%3Dstage",
"timestamp": "m 21:55",
"user": "Computae",
+ "user_url": "https://wiki.openstreetmap.org/w/index.php?title=User:Computae&action=edit&redlink=1",
"comment": "(correction du groupe)",
- "change_size": "−28"
+ "change_size": "−28",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Tag:amenity%3Dstage&curid=332075&diff=2891789&oldid=2891271",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Tag:footway=crossing",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:footway%3Dcrossing",
"timestamp": "m 21:06",
"user": "FoeNyx",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:FoeNyx",
"comment": "(\"+\" → non sélectionnables (pour faciliter le copié-collé des exemples))",
- "change_size": "0"
+ "change_size": "0",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Tag:footway%3Dcrossing&curid=228707&diff=2891779&oldid=2655933",
+ "added_text": "{{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }} {{Unselectable|text= }}",
+ "removed_text": ""
},
{
"page_name": "FR:Key:crossing:markings:condition",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Key:crossing:markings:condition",
"timestamp": "07:27",
"user": "Singing-Poppy",
+ "user_url": "https://wiki.openstreetmap.org/w/index.php?title=User:Singing-Poppy&action=edit&redlink=1",
"comment": "(add pictures)",
- "change_size": "+100"
+ "change_size": "+100",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Key:crossing:markings:condition&curid=327211&diff=2891414&oldid=2835585",
+ "added_text": "Crossing_markings_condition_example",
+ "removed_text": "Crossing-markings-condition=intermediate"
},
{
"page_name": "FR:Notes/Traitement",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Notes/Traitement",
"timestamp": "17:17",
"user": "Britzz",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Britzz",
"comment": "",
- "change_size": "+196"
+ "change_size": "+196",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Notes/Traitement&curid=331038&diff=2891246&oldid=2890225",
+ "added_text": "de l'o dans OSM (exemple : https://www.openstreetmap.org/note/4717379) ou nécessitant impérativement l’intervention du contributeur initial ([[osm:note/4695523|https://www.openstreetmap.org/no]]rdre de deux à un , n'étant donc d'aucune utilité * sans avoir les informations nécessaires explicitement par : clairement indiquer une note que l'on envisage de traiter soi-même ultérieurement (exemple : www openstreetmap note/4931483) avec le mot-dièse ''#forme #pourmoi'' ou toute autre indication. Des liens",
+ "removed_text": "entre 2 et 1 . Plutôt qu'une note, il est proposé d'enregistrer un ''landuse = brownfield'' ou ''landuse = construction'' associé à un tag [[Key:opening date|opening_date]] idéalement avec le mot-dièse ''#forme'' et devrait les traiter rapidement. NB : tout contributeur peut retrouver ses propres notes, non résolues, avec l'outil [ my-notes osm-hr My OpenStreetMap Notes] à utiliser jusqu'à épuisement ;-) Dépôt de notes"
},
{
"page_name": "FR:Lyon",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Lyon",
"timestamp": "20:25",
"user": "Renecha",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Renecha",
"comment": "(→Rencontres périodiques)",
- "change_size": "−237"
+ "change_size": "−237",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Lyon&curid=4582&diff=2890853&oldid=2890843",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Lyon/Archives",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Lyon/Archives",
"timestamp": "20:25",
"user": "Renecha",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Renecha",
"comment": "(→Réunions du groupe local)",
- "change_size": "+224"
+ "change_size": "+224",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Lyon/Archives&curid=100512&diff=2890852&oldid=2809373",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Lyon/Reunion-2025-09-16",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-09-16",
"timestamp": "20:23",
"user": "Renecha",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Renecha",
"comment": "(→Événements à venir)",
- "change_size": "+1"
+ "change_size": "+1",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Lyon/Reunion-2025-09-16&curid=332018&diff=2890851&oldid=2890844",
+ "added_text": "*",
+ "removed_text": ""
},
{
"page_name": "FR:Lyon/Reunion-2025-12-16",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-12-16",
"timestamp": "N 20:23",
"user": "Renecha",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Renecha",
"comment": "(Created page with \" {{Lyon/Archives/Infobox}} __TOC__ == Synopsis de la rencontre du mardi 16 décembre 2025 == === Organisation / Lieu === La réunion aura lieu dans les locaux du Tubà, 15 boulevard Vivier-Merle, Lyon 3e - à partir de 18h30. La réunion est également accessible en visioconférence sur [https://osmvideo.cloud68.co/user/ren-ncq-irt-nv8 ce salon BigBlueButton]. Invitation lancée par : * le site [http://www.openstreetmap.fr/ openstreetmap.fr] → via [https://www.ag...\")",
- "change_size": "0"
+ "change_size": "0",
+ "diff_url": "",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Lyon/Reunion-2025-10-21",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-10-21",
"timestamp": "20:22",
"user": "Renecha",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Renecha",
"comment": "(→Synopsis de la rencontre du mardi 16 septembre 2025)",
- "change_size": "−2"
+ "change_size": "−2",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Lyon/Reunion-2025-10-21&curid=332019&diff=2890848&oldid=2890847",
+ "added_text": "21 octobre",
+ "removed_text": "16 septembre"
},
{
"page_name": "FR:Lyon/Reunion-2025-11-18",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Lyon/Reunion-2025-11-18",
"timestamp": "N 20:22",
"user": "Renecha",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Renecha",
"comment": "(Created page with \" {{Lyon/Archives/Infobox}} __TOC__ == Synopsis de la rencontre du mardi 18 novembre 2025 == === Organisation / Lieu === La réunion aura lieu dans les locaux du Tubà, 15 boulevard Vivier-Merle, Lyon 3e - à partir de 18h30. La réunion est également accessible en visioconférence sur [https://osmvideo.cloud68.co/user/ren-ncq-irt-nv8 ce salon BigBlueButton]. Invitation lancée par : * le site [http://www.openstreetmap.fr/ openstreetmap.fr] → via [https://www.age...\")",
- "change_size": "0"
+ "change_size": "0",
+ "diff_url": "",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:France/Régions Naturelles et Massifs montagneux",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:France/R%C3%A9gions_Naturelles_et_Massifs_montagneux",
"timestamp": "18:19",
"user": "Sletuffe",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Sletuffe",
"comment": "",
- "change_size": "+1"
+ "change_size": "+1",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:France/R%C3%A9gions_Naturelles_et_Massifs_montagneux&curid=197284&diff=2890800&oldid=2773727",
+ "added_text": "aux",
+ "removed_text": "au"
},
{
"page_name": "FR:Planet.osm",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Planet.osm",
"timestamp": "16:44",
"user": "Cyrille37",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Cyrille37",
"comment": "(→Miroirs: http://hexagone.openstreetmap.fr is no more alive)",
- "change_size": "+6"
+ "change_size": "+6",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Planet.osm&curid=31513&diff=2890704&oldid=2873166",
+ "added_text": " ",
+ "removed_text": ""
},
{
"page_name": "FR:Tag:building=school",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:building%3Dschool",
"timestamp": "m 14:52",
"user": "Computae",
+ "user_url": "https://wiki.openstreetmap.org/w/index.php?title=User:Computae&action=edit&redlink=1",
"comment": "(correction du groupe)",
- "change_size": "−28"
+ "change_size": "−28",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Tag:building%3Dschool&curid=331884&diff=2890570&oldid=2890193",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Projet du mois/Écoles",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Projet_du_mois/%C3%89coles",
"timestamp": "10:12",
"user": "Benoitdd",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Benoitdd",
"comment": "(→Statistiques: + propositions de cartographie)",
- "change_size": "0"
+ "change_size": "0",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Projet_du_mois/%C3%89coles&curid=314537&diff=2890197&oldid=2746121",
+ "added_text": "(permet de trouver le nom affiché sur l'école) (les quêtes \"Places\" peuvent demander des infos sur les écoles) (n'est plus maintenu) (n'est plus maintenu) indique '' '' nœuds",
+ "removed_text": ". Le site du projet du mois permet de contribuer en levant les ambiguités vis à vis des tags à utiliser, profitez-en peut indiquer noeuds"
},
{
"page_name": "FR:Key:ref:FR:NAF/values",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Key:ref:FR:NAF/values",
"timestamp": "21:33",
"user": "FoeNyx",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:FoeNyx",
"comment": "(4942Z → office=moving_company)",
- "change_size": "+51"
+ "change_size": "+51",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Key:ref:FR:NAF/values&curid=176395&diff=2890104&oldid=2883284",
+ "added_text": "[[Tag:office=moving_company|office=moving_company]]",
+ "removed_text": ""
},
{
"page_name": "FR:Tag:place=farm",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:place%3Dfarm",
"timestamp": "m 18:49",
"user": "Kjon",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Kjon",
"comment": "(removed Category:Places using HotCat)",
- "change_size": "−32"
+ "change_size": "−32",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Tag:place%3Dfarm&curid=330452&diff=2890019&oldid=2876711",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Key:cycle network",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Key:cycle_network",
"timestamp": "m 17:37",
"user": "Kjon",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Kjon",
"comment": "(removed Category:Cycle routes; added Category:FR:Itinéraires cyclables using HotCat)",
- "change_size": "+13"
+ "change_size": "+13",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Key:cycle_network&curid=321964&diff=2889980&oldid=2832173",
+ "added_text": "FR:Itinéraires cyclables",
+ "removed_text": "Cycle routes"
},
{
"page_name": "FR:Tag:amenity=loading dock",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Tag:amenity%3Dloading_dock",
"timestamp": "12:44",
"user": "FoeNyx",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:FoeNyx",
"comment": "(+ Modèle : « Translation out of sync » avec l'anglais)",
- "change_size": "+35"
+ "change_size": "+35",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Tag:amenity%3Dloading_dock&curid=255732&diff=2889742&oldid=2732286",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Complète Tes Commerces",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Compl%C3%A8te_Tes_Commerces",
"timestamp": "17:46",
"user": "Koreller",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Koreller",
"comment": "(ajout vidéo peertube SOTM-FR 2025)",
- "change_size": "+179"
+ "change_size": "+179",
+ "diff_url": "https://wiki.openstreetmap.org/w/index.php?title=FR:Compl%C3%A8te_Tes_Commerces&curid=330692&diff=2889545&oldid=2880928",
+ "added_text": "",
+ "removed_text": ""
},
{
"page_name": "FR:Outil de Manipulation et d'Organisation",
"page_url": "https://wiki.openstreetmap.org/wiki/FR:Outil_de_Manipulation_et_d%27Organisation",
"timestamp": "N 17:40",
"user": "Koreller",
+ "user_url": "https://wiki.openstreetmap.org/wiki/User:Koreller",
"comment": "(Created page with \"{{Languages}} {{Software | name = Outil de Manipulation et d'Organisation | screenshot = | logo = | author = [https://www.openstreetmap.org/user/caboulot caboulot] | license = WTFPL | price = | platform = web | status = | version = | date = | logo = | author = [https://www.openstreetmap.org/user/caboulot caboulot] | license = WTFPL | price = | platform = web | status = | version = | date =