Skip to content

adandeigor/AlgoLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🧪 AlgoLab

Interpréteur pédagogique de pseudo-code en français
Apprenez l'algorithmique avec une syntaxe naturelle, des erreurs claires et zéro configuration.

CI License: MIT Python 3.9+ Release


🎯 C'est quoi AlgoLab ?

AlgoLab est un interpréteur de pseudo-code en français, conçu pour les étudiants et enseignants en algorithmique. Il permet d'écrire et exécuter du pseudo-code tel qu'il est enseigné en cours — sans avoir besoin d'apprendre Python, C ou Java d'abord.

Variable nom : Caractere
Variable age : Entier

Debut
  Ecrire "Comment tu t'appelles ?"
  Lire(nom)
  Ecrire "Quel âge as-tu ?"
  Lire(age)

  Si age >= 18 Alors
    Ecrire "Bienvenue ", nom, " ! Tu es majeur."
  Sinon
    Ecrire "Salut ", nom, " ! Tu as encore ", 18 - age, " ans à attendre."
  FinSi
Fin

Pourquoi AlgoLab ?

  • 🇫🇷 Syntaxe 100% françaiseVariable, Si...Alors...Sinon, Pour...De...A, TantQue, Ecrire, Lire
  • 📚 Messages d'erreurs pédagogiques — pas de stack traces cryptiques, des explications claires
  • Zéro config — un binaire, ça marche. Pas besoin d'installer Python
  • 🧩 Extension VS Code — coloration syntaxique, snippets, exécution intégrée
  • 🖥️ Multi-plateforme — Linux (.deb), Windows (.exe), macOS

🚀 Installation

Option 1 : Binaires pré-compilés (recommandé pour les étudiants)

Téléchargez le binaire pour votre OS depuis les Releases GitHub :

OS Fichier
Linux algolab-linux.deb
Windows algolab-windows.exe
macOS algolab-macos

Option 2 : Avec pip (pour les développeurs)

pip install git+https://github.com/adandeigor/AlgoLab.git

Ou en clonant le repo :

git clone https://github.com/adandeigor/AlgoLab.git
cd AlgoLab
pip install .

Option 3 : Extension VS Code

Téléchargez algolab-vscode.vsix depuis les Releases, puis dans VS Code :

Ctrl+Shift+P → "Extensions: Install from VSIX..."

📖 Syntaxe rapide

Variables et types

Variable x : Entier
Variable nom : Caractere
Variable pi : Reel
Variable ok : Booleen
Variable notes : Entier[10]

Types supportés : Entier, Reel, Caractere, Chaine, Booleen, tableaux avec [taille].

Structures de contrôle

Si condition Alors
  ...
SinonSi autre_condition Alors
  ...
Sinon
  ...
FinSi

Pour i De 1 A 10 Pas 2 Faire
  ...
FinPour

TantQue condition Faire
  ...
FinTantQue

Fonctions

Fonction Carre(n : Entier) : Entier
  Retourner n * n
FinFonction

Entrées / Sorties

Lire(variable)
Ecrire "Résultat = ", variable

📁 Plus d'exemples dans le dossier examples/


🛠️ Développement

Pré-requis

  • Python ≥ 3.9
  • pip

Setup

git clone https://github.com/adandeigor/AlgoLab.git
cd AlgoLab
pip install -e ".[dev]"

Lancer les tests

pytest --cov=src/algolab --cov-report=term-missing

Linter

ruff check src/algolab

Exécuter un fichier .algo

algolab examples/hello_world.algo
algolab -c 'Variable x : Entier Debut x <- 42 Ecrire x Fin'

🏗️ Architecture

src/algolab/
├── grammar.lark      # Grammaire Lark (source de vérité syntaxique)
├── parser.py         # Parsing → arbre Lark
├── interpreter.py    # Exécution de l'arbre
├── environment.py    # Gestion mémoire et variables
├── errors.py         # Erreurs pédagogiques
└── main.py           # Point d'entrée CLI

Documentation technique complète dans docs/.


🤝 Contribuer

Les contributions sont les bienvenues ! Que vous soyez débutant ou expérimenté, il y a plein de façons d'aider :

  • 🐛 Signaler un bug
  • 💡 Proposer une fonctionnalité
  • 📝 Améliorer la documentation
  • 🧪 Ajouter des tests
  • 🌍 Traduire (README en anglais, etc.)

👉 Lisez le Guide de contribution pour démarrer.

Cherchez les issues avec le label good first issue pour un premier pas facile !


📜 Licence

AlgoLab est distribué sous licence MIT. Libre d'utilisation, modification et redistribution.


🙏 Remerciements

AlgoLab est né d'un constat : les étudiants en algorithmique écrivent du pseudo-code en cours mais ne peuvent pas l'exécuter. Ce projet vise à combler ce fossé.

Construit avec ❤️ depuis Cotonou, Bénin 🇧🇯


⭐ Si AlgoLab vous aide, laissez une étoile sur GitHub !

— The Pirate Dev 🏴‍☠️