79 lines
3.6 KiB
Markdown
79 lines
3.6 KiB
Markdown
![]() |
# Améliorations du système de corrections
|
||
|
|
||
|
Ce document décrit les améliorations apportées au système de correction orthographique et grammaticale.
|
||
|
|
||
|
## Fonctionnalités ajoutées
|
||
|
|
||
|
### 1. Contexte étendu des erreurs
|
||
|
|
||
|
Le système affiche maintenant plus de contexte autour des erreurs détectées, ce qui facilite la compréhension du problème et la prise de décision pour la correction.
|
||
|
|
||
|
- **Contexte standard** : La ligne contenant l'erreur
|
||
|
- **Contexte étendu** : Les lignes précédente et suivante, en plus de la ligne contenant l'erreur
|
||
|
|
||
|
Cette amélioration permet de voir l'erreur dans son contexte plus large, ce qui est particulièrement utile pour les erreurs grammaticales qui peuvent dépendre du contexte.
|
||
|
|
||
|
### 2. Corrections personnalisées
|
||
|
|
||
|
Une nouvelle fonctionnalité permet d'entrer des corrections personnalisées au lieu de se limiter aux suggestions automatiques.
|
||
|
|
||
|
- Chaque erreur dispose maintenant d'un champ de saisie pour entrer une correction personnalisée
|
||
|
- Un bouton "Appliquer" permet d'envoyer cette correction au serveur
|
||
|
- La touche Entrée dans le champ de saisie applique également la correction
|
||
|
|
||
|
Cette fonctionnalité offre plus de flexibilité pour corriger les erreurs, notamment lorsque les suggestions automatiques ne sont pas satisfaisantes.
|
||
|
|
||
|
### 3. Gestion améliorée des dépendances
|
||
|
|
||
|
Le système gère maintenant gracieusement l'absence des modules de vérification orthographique et grammaticale.
|
||
|
|
||
|
- Détection automatique de la disponibilité des modules `spellchecker` et `language_tool_python`
|
||
|
- Messages d'avertissement clairs lorsque les modules ne sont pas disponibles
|
||
|
- Fonctionnement dégradé mais sans erreur en l'absence des modules
|
||
|
|
||
|
Cette amélioration rend le système plus robuste et évite les erreurs fatales lorsque les dépendances ne sont pas installées.
|
||
|
|
||
|
## Modifications techniques
|
||
|
|
||
|
### Fichiers modifiés
|
||
|
|
||
|
1. **analyse_orthographe_grammaire.py**
|
||
|
- Ajout de la détection des modules disponibles
|
||
|
- Extraction de contexte étendu pour les erreurs orthographiques et grammaticales
|
||
|
- Gestion des erreurs pour éviter les plantages
|
||
|
|
||
|
2. **generate_corrections_page.py**
|
||
|
- Mise à jour du parser pour extraire le contexte étendu
|
||
|
- Ajout des champs de saisie pour les corrections personnalisées
|
||
|
- Mise à jour du CSS pour styliser les nouveaux éléments
|
||
|
|
||
|
3. **CSS et JavaScript**
|
||
|
- Nouveaux styles pour le contexte étendu et les champs de correction personnalisée
|
||
|
- Nouvelle fonction JavaScript `applyCustomCorrection` pour gérer les corrections personnalisées
|
||
|
- Gestion des événements pour les champs de saisie (touche Entrée)
|
||
|
|
||
|
## Utilisation
|
||
|
|
||
|
Pour utiliser ces nouvelles fonctionnalités :
|
||
|
|
||
|
1. Exécutez `python analyse_orthographe_grammaire.py` pour générer le rapport d'erreurs
|
||
|
2. Exécutez `python generate_corrections_page.py` pour générer la page de corrections
|
||
|
3. Lancez le serveur Flask avec `python app.py`
|
||
|
4. Accédez à http://localhost:5000/build/corrections.html dans votre navigateur
|
||
|
|
||
|
Sur la page de corrections :
|
||
|
- Utilisez les onglets pour naviguer entre les erreurs orthographiques et grammaticales
|
||
|
- Cliquez sur les boutons de suggestion pour appliquer une correction suggérée
|
||
|
- Utilisez le champ de saisie personnalisée pour entrer votre propre correction
|
||
|
- Cliquez sur "Ignorer cette erreur" pour ignorer une erreur
|
||
|
- Pour les erreurs orthographiques, vous pouvez également ajouter le mot au dictionnaire personnalisé
|
||
|
|
||
|
## Dépendances
|
||
|
|
||
|
Pour profiter de toutes les fonctionnalités, assurez-vous d'installer les modules suivants :
|
||
|
|
||
|
```bash
|
||
|
pip install pyspellchecker language-tool-python
|
||
|
```
|
||
|
|
||
|
Le système fonctionnera même sans ces modules, mais ne détectera pas les erreurs.
|