osm-commerces/wiki_compare/CHANGES.md

66 lines
3.9 KiB
Markdown
Raw Normal View History

2025-08-22 18:19:20 +02:00
# 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