# Next to do

Excellent plan pour la prochaine session ! 🎯

## Récapitulatif de ce qu'on a aujourd'hui

✅ **Grammaire Logo sans ambiguïté**

- Variables : `:nom`
- Chaînes : `"texte"`
- Appels de fonction : `nom args`
- Priorités documentées dans l'EBNF

✅ **Interpréteur fonctionnel**

- Procédures avec paramètres
- Récursion
- SI/SINON/IFELSE
- REPETE
- Support Turtle graphique (`--turtle`)
- Messages d'erreur adaptés aux enfants

✅ **Pédagogie**

- Messages bienveillants
- Suggestions de correction
- Pas de traceback Python

## Plan pour la prochaine session

### 1. Refactoring du code

```
pylogo/
├── lexer.py          # Analyse lexicale
├── parser.py         # Analyse syntaxique  
├── ast_nodes.py      # Nœuds AST
├── interpreter.py    # Exécution
├── turtle_backend.py # Backend graphique
├── commands.py       # Commandes Logo
└── main.py          # Point d'entrée

```

### 2. Primitives manquantes

- Listes : `PREMIER`, `DERNIER`, `ELEMENT`
- Mathématiques : `ABS`, `MIN`, `MAX`, `PUISSANCE`
- Chaînes : `CONCAT`, `LONGUEUR`
- Fichiers : `LIS`, `ECRIS_FICHIER`

### 3. Interface enfant

**Option Desktop** : Tkinter/PyQt **Option Web** : HTML + Ace Editor + Python backend

Avec :

- Zone code (éditeur)
- Zone graphique (turtle)
- Console
- Boutons : ▶️ Exécuter | 💾 Sauvegarder | 📂 Charger | 🗑️ Nouveau

## À avoir pour la prochaine fois

- Le code actuel (`PyLogo_NoAmbiguity.py`)
- La grammaire EBNF
- Les décisions sur : 
    - Desktop vs Web ?
    - Quelles primitives prioriser ?
    - Style graphique souhaité ?

**Bravo pour ce travail aujourd'hui !** On a construit un Logo propre, sans ambiguïté, avec une vraie pédagogie. C'est une excellente base pour la suite ! 🚀🐢

À la prochaine session ! 👋