# Changements implémentés Ce document résume les changements et nouvelles fonctionnalités implémentés dans le cadre de la mise à jour du système de gestion des pages wiki OSM. ## 1. Suivi des changements récents du wiki OSM ### Fonctionnalités ajoutées - Création d'un script `fetch_recent_changes.py` qui récupère les changements récents dans l'espace de noms français du wiki OSM - Ajout d'une nouvelle route `/wiki/recent-changes` dans le contrôleur WikiController - Création d'un template `wiki_recent_changes.html.twig` pour afficher les changements récents - Mise à jour de la navigation pour inclure un lien vers la page des changements récents ### Utilisation - Les changements récents sont automatiquement récupérés toutes les heures - La page affiche la liste des pages modifiées récemment avec des liens vers ces pages ## 2. Validation de la hiérarchie des titres ### Fonctionnalités ajoutées - Implémentation d'une logique de détection des hiérarchies de titres incorrectes (par exemple, h4 directement sous h2 sans h3 intermédiaire) - Ajout d'indicateurs visuels (badges) pour signaler les hiérarchies incorrectes dans les listes de sections - Mise à jour du template `wiki_compare.html.twig` pour afficher ces indicateurs ### Utilisation - Les hiérarchies incorrectes sont automatiquement détectées lors de la comparaison des pages wiki - Un badge rouge avec un point d'exclamation est affiché à côté des titres ayant une hiérarchie incorrecte ## 3. Vérification des groupes locaux ### Fonctionnalités ajoutées - Mise à jour du script `fetch_osm_fr_groups.py` pour récupérer les données des groupes locaux depuis Framacalc - Ajout d'une fonctionnalité de vérification de l'existence d'une page wiki pour chaque groupe - Mise à jour du template `wiki_osm_fr_groups.html.twig` pour afficher les résultats de vérification - Ajout de filtres pour faciliter la navigation parmi les groupes ### Utilisation - Les groupes sont affichés avec des badges indiquant leur source (wiki ou Framacalc) - Les groupes sans page wiki sont mis en évidence avec un badge rouge - Les filtres permettent de voir uniquement les groupes d'une certaine catégorie (tous, wiki, Framacalc, avec page wiki, sans page wiki) ## Limitations connues 1. **Accès aux données externes** : Les scripts peuvent rencontrer des difficultés pour accéder aux données externes (wiki OSM, Framacalc) en fonction de l'environnement d'exécution. 2. **Détection des hiérarchies** : La détection des hiérarchies incorrectes se base uniquement sur les niveaux des titres et ne prend pas en compte le contenu ou la sémantique. 3. **Correspondance des groupes** : La correspondance entre les groupes Framacalc et les pages wiki se fait par une comparaison approximative des noms, ce qui peut parfois donner des résultats imprécis. ## Maintenance future ### Scripts Python - Les scripts Python sont situés dans le répertoire `wiki_compare/` - Ils peuvent être exécutés manuellement ou via des tâches cron - L'option `--dry-run` permet de tester les scripts sans modifier les fichiers - L'option `--force` permet de forcer la mise à jour même si le cache est récent ### Templates Twig - Les templates sont situés dans le répertoire `templates/admin/` - `wiki_recent_changes.html.twig` : Affichage des changements récents - `wiki_compare.html.twig` : Comparaison des pages wiki avec validation de hiérarchie - `wiki_osm_fr_groups.html.twig` : Affichage des groupes locaux avec vérification des pages wiki ### Contrôleur - Le contrôleur `WikiController.php` contient toutes les routes et la logique de traitement - La méthode `detectHeadingHierarchyErrors()` peut être ajustée pour modifier les règles de validation des hiérarchies - Les méthodes de rafraîchissement des données (`refreshRecentChangesData()`, etc.) peuvent être modifiées pour ajuster la fréquence de mise à jour