qualiwiki/wiki_compare/CHANGES_FIXES.md

4.2 KiB

Corrections apportées à QualiWiki

Ce document décrit les corrections apportées pour résoudre les problèmes mentionnés dans la description des issues.

1. Correction de l'erreur dans wiki_archived_proposals.html.twig

Problème

Key "total_proposals" for sequence/mapping with keys "0, 1, 2, 3, ..." does not exist in admin/wiki_archived_proposals.html.twig at line 193.

Solution

Ajout d'une valeur par défaut pour total_proposals dans le template :

<div class="stats-value">{{ statistics.total_proposals|default(proposals|length) }}</div>

Cette modification permet d'utiliser le nombre de propositions dans le tableau proposals comme valeur par défaut si statistics.total_proposals n'est pas défini.

2. Implémentation d'un panneau latéral sombre pour la navigation

Modifications

  • Ajout d'un panneau latéral sombre dans templates/base.html.twig
  • Ajout de styles CSS dans public/css/main.css pour le panneau latéral
  • Réorganisation de la structure HTML pour intégrer le panneau latéral
  • Ajout de liens vers toutes les sections principales de l'application

Avantages

  • Navigation plus claire et plus accessible
  • Meilleure organisation visuelle de l'application
  • Accès rapide à toutes les fonctionnalités principales

3. Création d'une page dashboard avec graphiques

Fonctionnalités

  • Ajout d'une méthode dashboard dans WikiController.php
  • Création d'un template admin/wiki_dashboard.html.twig
  • Implémentation de graphiques montrant :
    • L'évolution du score moyen de décrépitude
    • L'évolution du nombre de pages suivies
    • L'évolution du nombre de pages sans catégorie

Données suivies

  • Score moyen de décrépitude des pages
  • Nombre de pages suivies
  • Nombre de pages sans catégorie (pages orphelines)

4. Correction de l'erreur dans wiki_random_suggestion.html.twig

Problème

Key "en_page" for sequence/mapping with keys "title, level" does not exist in admin/wiki_random_suggestion.html.twig at line 28.

Solution

  • Ajout de vérifications pour l'existence de en_page dans le template
  • Ajout de valeurs par défaut pour les propriétés de en_page
  • Filtrage des pages pour s'assurer qu'elles ont une clé en_page dans le contrôleur

5. Ajout d'avatars utilisateurs dans la page des changements récents

Fonctionnalités

  • Ajout d'une fonction fetchUserAvatar dans WikiController.php pour récupérer et mettre en cache les avatars des utilisateurs
  • Mise à jour des templates admin/wiki_recent_changes.html.twig et public/wiki_recent_changes.html.twig pour afficher les avatars
  • Mise en cache des avatars pour éviter de les récupérer à chaque fois

6. Correction de l'erreur de mémoire dans la page des suppressions suspectes

Problème

Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 175260864 bytes)

Solution

  • Modification de la méthode suspiciousDeletions dans WikiController.php pour utiliser une approche plus efficace en mémoire
  • Utilisation de la méthode extractJsonArrayByKey au lieu de json_decode(file_get_contents()) pour traiter le fichier JSON
  • Limitation du nombre d'éléments extraits à 50 avec le paramètre $maxItems
  • Ajout d'une limite pour arrêter le traitement après avoir trouvé 20 pages suspectes

7. Implémentation du suivi des pages "France" sans catégorie

Fonctionnalités

  • Ajout de constantes pour l'URL des DeadendPages et le fichier de sortie dans wiki_compare.py
  • Création d'une fonction fetch_deadend_pages pour récupérer les pages commençant par "France" depuis la liste des DeadendPages
  • Création d'une fonction suggest_categories pour suggérer des catégories pour les pages sans catégorie
  • Modification de la fonction main pour traiter et sauvegarder les données des DeadendPages
  • Mise à jour du contrôleur pour charger et afficher les données des DeadendPages
  • Ajout de sections dans le template pour afficher les pages sans catégorie et les pages récemment catégorisées

Avantages

  • Suivi des pages qui devraient avoir des catégories
  • Suggestion de catégories pour faciliter le travail des contributeurs
  • Suivi des progrès dans la catégorisation des pages