Skip to content

Latest commit

 

History

History
111 lines (79 loc) · 2.8 KB

File metadata and controls

111 lines (79 loc) · 2.8 KB

Template d'Exercice

📋 Structure d'un Exercice

Un exercice doit suivre cette structure :

exercise_XX_name/
├── README.md           # Description de l'exercice
├── exercise.py         # Code de l'exercice
├── graph_builder.py    # Constructeur de graphe
├── agent.py            # Agent spécialisé (optionnel)
└── visualizer.html     # Visualisation (optionnel)

📝 README.md

Le README doit contenir :

  1. Contexte : Description du problème
  2. Question : Question à résoudre
  3. Éléments observables : Signaux disponibles
  4. Invariants : Invariants à respecter
  5. Scénarios : Scénarios de test

🔧 exercise.py

Le fichier d'exercice doit :

  1. Créer le graphe : Utiliser le graph_builder
  2. Créer l'agent : Utiliser l'agent spécialisé ou générique
  3. Tester les scénarios : Tester différents scénarios
  4. Exporter les résultats : Exporter pour visualisation

Template de Code

"""
EXERCICE XX — [Nom de l'exercice]

Contexte :
- [Description du contexte]

Question : [Question à résoudre]

Éléments observables :
- [Signal 1]
- [Signal 2]
- [Signal 3]
"""

from 01_core_engine.graph import Graph
from 01_core_engine.agent import AutonomousAgent
from 03_domains.devops.agents.xxx_agent import XXXAgent
from 01_core_engine.reasoning.export import export_to_json_file

def exercise_XX():
    """Exercice XX : [Description]"""
    print("=" * 70)
    print("EXERCICE XX — [NOM]")
    print("=" * 70)
    
    # Créer le graphe
    graph = build_xxx_graph()
    
    # Créer l'agent
    agent = XXXAgent(graph)
    
    # Scénario 1 : État initial
    result1 = agent.decide_xxx()
    
    # Scénario 2 : [Description]
    # ...
    
    # Exporter pour visualisation
    export_data = export_xxx_decision(graph, result1)
    export_to_json_file(export_data, "visualization/xxx_data.json")
    
    print("\n[OK] Exercice terminé")

if __name__ == "__main__":
    exercise_XX()

🎯 Règles à Respecter

✅ À Faire

  • Structurer en graphe : Utiliser des nœuds et arêtes
  • Laisser émerger : Laisser les décisions émerger de la convergence
  • Justifier : Fournir des justifications structurelles
  • Tester : Tester plusieurs scénarios

❌ À Ne Pas Faire

  • Règles explicites : Ne pas coder de règles conditionnelles
  • Logique métier : Ne pas coder la logique métier directement
  • Magic numbers : Ne pas utiliser de nombres magiques sans justification

📊 Exemple : Exercice DevOps

Voir 03_domains/devops/exercises/exercise_01_deployment/ pour un exemple complet.

🚀 Prochaines Étapes

  1. Créer le dossier de l'exercice
  2. Créer le README.md
  3. Créer le graph_builder.py
  4. Créer l'exercise.py
  5. Tester les scénarios
  6. Créer la visualisation (optionnel)