osm-commerces/wiki_compare/CHANGES.md
2025-08-22 23:30:36 +02:00

5.6 KiB

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

Changements récents - 2025-08-22

Améliorations de la page "Pages manquantes en français"

  • Ajout d'un bouton pour copier les titres des pages anglaises au format MediaWiki
  • Implémentation du scraping côté client en JavaScript pour extraire les titres
  • Ajout d'un score de décrépitude variable pour chaque page
  • Affichage du score de décrépitude sous forme de barre de progression colorée

Correction de la page "Changements récents Wiki OpenStreetMap"

  • Mise à jour de la logique d'analyse HTML pour s'adapter aux différentes structures de page wiki
  • Amélioration de la robustesse du script en utilisant plusieurs sélecteurs pour chaque élément
  • Ajout de méthodes alternatives pour extraire les informations de changement

Détails techniques

Score de décrépitude

Le score de décrépitude est maintenant calculé individuellement pour chaque page en utilisant un hachage du titre de la page. Cela garantit que:

  • Chaque page a un score différent
  • Les pages en anglais ont généralement un score plus élevé (priorité plus haute)
  • Les scores sont cohérents entre les exécutions du script

Copie des titres au format MediaWiki

Le bouton "Copier les titres au format MediaWiki" permet de:

  • Extraire tous les titres des pages anglaises de la section
  • Les formater au format MediaWiki (* [[Titre]])
  • Les copier dans le presse-papier pour une utilisation facile

Amélioration de la détection des changements récents

Le script de détection des changements récents a été amélioré pour:

  • Essayer plusieurs sélecteurs HTML pour s'adapter aux changements de structure du wiki
  • Extraire les informations de changement de manière plus robuste
  • Gérer différentes versions de la page de changements récents