# 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 : ```twig
{{ statistics.total_proposals|default(proposals|length) }}
``` 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