qualiwiki/wiki_compare/CHANGES_FIXES.md

94 lines
4.2 KiB
Markdown
Raw Normal View History

# 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
<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