Skip to content

Proposition améliorations Claude #55

Description

@marota

Excellent. J'ai une vision complète du projet. Voici mes propositions, organisées par catégorie :


Propositions de Features, Simplifications et Interactions

1. Analyse par lot (Batch N-1)

Problème : Actuellement, on ne peut analyser qu'une seule contingence à la fois. Pour un opérateur qui doit scanner tout un réseau, c'est fastidieux.

Proposition : Ajouter un mode "Batch Analysis" permettant de sélectionner plusieurs branches, lancer les analyses en séquence (ou parallèle), et obtenir un tableau récapitulatif trié par sévérité (max rho). L'opérateur pourrait ainsi identifier rapidement les contingences les plus critiques.

  • Nouvel endpoint POST /api/run-batch-analysis acceptant une liste de branches
  • Un tableau de résultats avec colonnes : branche, max_rho, nb overloads, nb actions disponibles, statut (converged AC/DC/failed)
  • Clic sur une ligne → charge le détail comme aujourd'hui

2. Comparaison côte-à-côte d'actions

Problème : Pour comparer deux actions remédiales, il faut naviguer entre elles dans l'ActionFeed, en mémorisant les valeurs.

Proposition : Un mode "Compare" dans le VisualizationPanel qui affiche deux diagrammes d'action côte-à-côte avec synchronisation du pan/zoom. Afficher un diff visuel des flux (delta entre les deux actions) pour identifier laquelle résout le mieux le problème.


3. Historique et Undo/Redo

Problème : Rejeter une action est irréversible sans relancer l'analyse. Aucun historique des manipulations.

Proposition :

  • Stack d'undo/redo pour les opérations (favoris, rejets, sélection de branche)
  • Raccourcis clavier Ctrl+Z / Ctrl+Shift+Z
  • Timeline visuelle des actions effectuées dans la session

4. Export enrichi des résultats

Problème : Seul le JSON + PDF est exportable. Pas de format exploitable par d'autres outils métier.

Proposition :

  • Export CSV/Excel du classement des actions (action ID, description, type, max_rho before/after, score)
  • Rapport HTML autonome (comme standalone_interface.html mais généré dynamiquement avec les résultats de l'analyse courante) — partageable par email sans backend
  • Export SVG annoté du diagramme avec légende des flux

5. Légende interactive et aide contextuelle

Problème : Les codes couleur (vert/orange/bleu pour les deltas de flux), les symboles (√, †), le monitoring factor ne sont pas expliqués dans l'UI.

Proposition :

  • Légende flottante dans le VisualizationPanel expliquant les couleurs et symboles
  • Tooltips enrichis au survol des éléments SVG (nom de la ligne, flux MW/MVAr, taux de charge %)
  • Un panneau "?" avec un guide rapide de l'interface

6. Simplification du flux Step1/Step2

Problème : Le workflow en 2 étapes (Step1 → sélection manuelle des overloads → Step2) ajoute de la friction. La plupart du temps, l'opérateur veut analyser toutes les surcharges.

Proposition :

  • Mode "Quick Analysis" : lance Step1 + Step2 automatiquement avec toutes les surcharges sélectionnées (un seul clic)
  • Conserver le mode "Expert" actuel pour ceux qui veulent filtrer les surcharges
  • Toggle accessible dans les Settings

7. Carte thermique (Heatmap) du réseau

Problème : Le diagramme réseau est statique — il faut inspecter chaque ligne pour voir son taux de charge.

Proposition : Un mode "Heatmap" dans le VisualizationPanel qui colore dynamiquement chaque ligne du réseau selon son taux de charge (rho) :

  • Vert (< 70%) → Jaune (70-90%) → Orange (90-100%) → Rouge (> 100%)
  • Applicable sur les 3 états (N, N-1, post-action)
  • Permet d'identifier visuellement les zones critiques du réseau en un coup d'œil

8. Notifications et alertes en temps réel

Problème : Pas de feedback visuel clair quand une analyse longue se termine ou échoue.

Proposition :

  • Notifications toast (succès, erreur, warning) au lieu d'alertes bloquantes
  • Barre de progression avec estimation pour les analyses longues
  • Notification navigateur (Web Notification API) quand une analyse en arrière-plan se termine

9. Recherche globale unifiée

Problème : La recherche est fragmentée — un champ pour les branches, un pour l'inspect, un pour les actions dans le modal.

Proposition : Une barre de recherche globale (style Cmd+K / Ctrl+K) qui permet de :

  • Chercher une branche → la sélectionner
  • Chercher un élément réseau → zoomer dessus
  • Chercher une action → l'afficher/la sélectionner
  • Chercher une commande → "Run Analysis", "Save Session", etc.

10. Persistance améliorée des sessions

Problème : La restauration de session ne conserve pas l'état du zoom, les filtres de tension, ni l'overlay SLD.

Proposition :

  • Sauvegarder l'état complet : zoom/pan position, onglet actif, filtre de tension, overlay SLD ouvert
  • Auto-save périodique (toutes les 2 min) pour éviter la perte de travail
  • Indicateur visuel "modifications non sauvegardées" (point sur le bouton Save)

11. Refactoring : extraction de l'état de App.tsx

Problème : App.tsx fait 2100 lignes avec 50+ useState. C'est un point de fragilité pour la maintenance.

Proposition :

  • Extraire la logique en custom hooks thématiques : useAnalysis(), useDiagrams(), useSession(), useSettings()
  • Ou adopter un Context léger par domaine (pas besoin de Redux)
  • Réduire App.tsx à ~300 lignes de composition pure

12. Raccourcis clavier

Proposition d'un jeu de raccourcis pour les opérateurs expérimentés :

Raccourci Action
Ctrl+K Recherche globale
1/2/3/4 Onglets N / N-1 / Action / Overflow
R Lancer l'analyse
S Sauvegarder la session
F Favoriser l'action sélectionnée
X Rejeter l'action sélectionnée
Ctrl+Z Undo
←/→ Action précédente/suivante

Souhaites-tu que j'implémente certaines de ces propositions ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions