{"id":51001519,"url":"https://github.com/devalade/algo","last_synced_at":"2026-06-20T14:33:26.242Z","repository":{"id":357913495,"uuid":"1119081799","full_name":"devalade/algo","owner":"devalade","description":"AlgoLang est un langage de programmation éducatif conçu pour apprendre l'algorithmique avec une syntaxe française intuitive.","archived":false,"fork":false,"pushed_at":"2026-05-14T20:54:20.000Z","size":39429,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-14T21:16:39.316Z","etag":null,"topics":["lsp","programming-language"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devalade.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-18T18:00:09.000Z","updated_at":"2026-05-14T20:54:23.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/devalade/algo","commit_stats":null,"previous_names":["devalade/algo"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/devalade/algo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devalade%2Falgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devalade%2Falgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devalade%2Falgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devalade%2Falgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devalade","download_url":"https://codeload.github.com/devalade/algo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devalade%2Falgo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34573803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lsp","programming-language"],"created_at":"2026-06-20T14:33:26.168Z","updated_at":"2026-06-20T14:33:26.236Z","avatar_url":"https://github.com/devalade.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AlgoLang - Compilateur Éducatif\n\nAlgoLang est un langage de programmation éducatif conçu pour apprendre l'algorithmique avec une syntaxe française intuitive.\n\n## ⚡ Démarrage Rapide\n\n**1. Installer AlgoLang**\n```bash\n# Linux / macOS\ncurl -fsSL https://raw.githubusercontent.com/devalade/algo/main/install.sh | bash\n\n# Windows (PowerShell)\nirm https://raw.githubusercontent.com/devalade/algo/main/install.ps1 | iex\n```\n\n**2. Créer votre premier programme** (`bonjour.algo`)\n```algo\nPROGRAMME Bonjour;\nDEBUT\n  ECRIRE(\"Bonjour le monde !\");\nFIN\n```\n\n**3. Exécuter**\n```bash\nalgolang run bonjour.algo\n```\n\n---\n\n## 🚀 Installation\n\n### Installation rapide (Binaire pré-compilé)\n\n#### Linux / macOS\n```bash\ncurl -fsSL https://raw.githubusercontent.com/devalade/algo/main/install.sh | bash\n```\n\n#### Windows (PowerShell)\n```powershell\nirm https://raw.githubusercontent.com/devalade/algo/main/install.ps1 | iex\n```\n\n### Plateformes supportées\n\n| Système d'exploitation | Architecture | Binaire |\n|------------------------|--------------|---------|\n| Linux | x86_64 (amd64) | `algolang-linux-amd64` |\n| Linux | ARM64 | `algolang-linux-arm64` |\n| macOS | Intel (x86_64) | `algolang-darwin-amd64` |\n| macOS | Apple Silicon (ARM64) | `algolang-darwin-arm64` |\n| Windows | x86_64 (amd64) | `algolang-windows-amd64.exe` |\n\n### Compilation depuis les sources\n\nSi vous préférez compiler depuis les sources ou contribuer au projet :\n\n```bash\n# Cloner le dépôt\ngit clone https://github.com/devalade/algo.git\ncd algo\n\n# Installer les dépendances (nécessite Bun)\nbun install\n\n# Compiler pour votre plateforme\nbun run compile:linux        # Linux x86_64\nbun run compile:linux-arm64  # Linux ARM64\nbun run compile:darwin       # macOS Intel\nbun run compile:darwin-arm64 # macOS Apple Silicon\nbun run compile:windows      # Windows x86_64\n\n# Ou compiler pour toutes les plateformes\nbun run compile:all\n\n# Le binaire sera créé dans le répertoire racine\n```\n\n### Désinstallation\n\n#### Linux / macOS\n```bash\n# Si installé dans /usr/local/bin\nsudo rm /usr/local/bin/algolang\n\n# Si installé dans ~/.local/bin\nrm ~/.local/bin/algolang\n```\n\n#### Windows\n```powershell\n# Supprimer le binaire\nRemove-Item \"$env:LOCALAPPDATA\\AlgoLang\" -Recurse\n\n# Retirer du PATH (manuel)\n# Ouvrez \"Modifier les variables d'environnement système\"\n# et supprimez l'entrée AlgoLang du PATH utilisateur\n```\n\n## 📖 Guide d'apprentissage par l'exemple\n\nCe guide est conçu pour vous aider à maîtriser AlgoLang pas à pas.\n\n### Niveau 1 : Les Bases (Bonjour Monde)\nApprenez à structurer un programme et à afficher du texte.\n\n```algo\nPROGRAMME BonjourMonde;\nVAR\n  message: CHAINE;\nDEBUT\n  message := \"Bonjour, bienvenue dans l'apprentissage de l'algorithmique !\";\n  ECRIRE(message);\nFIN\n```\n\n### Niveau 2 : Variables et Calculs\nManipulez des nombres et effectuez des opérations arithmétiques.\n\n```algo\nPROGRAMME CalculSimple;\nVAR\n  nombre1, nombre2, resultat: ENTIER;\nDEBUT\n  nombre1 := 15;\n  nombre2 := 10;\n  resultat := (nombre1 + nombre2) * 2;\n  ECRIRE(\"Le résultat de (15 + 10) * 2 est : \", resultat);\nFIN\n```\n\n### Niveau 3 : Conditions (SI/SINON)\nApprenez à prendre des décisions dans votre code.\n\n```algo\nPROGRAMME VerifAge;\nVAR\n  age: ENTIER;\nDEBUT\n  ECRIRE(\"Entrez votre âge : \");\n  LIRE(age);\n  \n  SI age \u003e= 18 ALORS\n    ECRIRE(\"Vous êtes majeur.\");\n  SINON\n    ECRIRE(\"Vous êtes mineur.\");\n  FINSI;\nFIN\n```\n\n### Niveau 4 : Boucles (Répétition)\nAutomatisez des tâches répétitives avec `POUR` et `TANTQUE`.\n\n```algo\nPROGRAMME TableMultiplication;\nVAR\n  i, nombre: ENTIER;\nDEBUT\n  nombre := 7;\n  ECRIRE(\"Table de \", nombre, \" :\");\n  \n  POUR i := 1 A 10 FAIRE\n    ECRIRE(i, \" x \", nombre, \" = \", i * nombre);\n  FINPOUR;\nFIN\n```\n\n---\n\n## 🛠 Utilisation (CLI)\n\n### Compiler et Exécuter\nLe moyen le plus simple de tester votre code :\n\n```bash\n# Compiler et exécuter directement\nalgolang run side-panel.algo\n```\n\n### Compiler vers JavaScript\nSi vous voulez voir le code JavaScript généré :\n\n```bash\nalgolang compile examples/bonjour.algo -o output.js\n```\n\n### Vérifier la Syntaxe\nUtile pour trouver des erreurs sans exécuter le code :\n\n```bash\nalgolang check examples/calculatrice.algo --verbose\n```\n\n### Initialiser un nouveau projet\nCréer un nouveau programme AlgoLang avec un modèle de base :\n\n```bash\nalgolang init mon-programme\n```\n\n### Développement (depuis les sources)\nSi vous développez AlgoLang ou n'avez pas installé le binaire :\n\n```bash\n# Utiliser directement avec Bun\nbun run packages/algolang/src/cli.ts run examples/bonjour.algo\nbun run packages/algolang/src/cli.ts compile examples/bonjour.algo -o output.js\nbun run packages/algolang/src/cli.ts check examples/bonjour.algo --verbose\n```\n\n---\n\n## 📝 Référence de Syntaxe\n\n### Types de données\n- `ENTIER` : Nombres entiers (ex: 10, -5)\n- `REEL` : Nombres à virgule (ex: 3.14)\n- `CHAINE` : Texte (ex: \"Bonjour\")\n- `BOOLEEN` : Logique (`VRAI` ou `FAUX`)\n\n### Opérateurs\n| Type | Opérateurs |\n| :--- | :--- |\n| **Calcul** | `+`, `-`, `*`, `/` |\n| **Comparaison** | `=`, `\u003c\u003e`, `\u003c`, `\u003c=`, `\u003e`, `\u003e=` |\n| **Logique** | `ET`, `OU`, `NON` |\n\n### Mots-clés réservés\nNe les utilisez pas comme noms de variables !\n`PROGRAMME`, `DEBUT`, `FIN`, `VAR`, `SI`, `ALORS`, `SINON`, `FINSI`, `TANTQUE`, `FAIRE`, `POUR`, `A`, `FINPOUR`, `REPETER`, `JUSQUA`, `LIRE`, `ECRIRE`.\n\n---\n\n## ✨ Fonctionnalités Pédagogiques\n\n- **Messages en Français** : Toutes les erreurs et suggestions sont dans votre langue.\n- **Mode Pédagogique** : Le code JavaScript généré contient des commentaires expliquant chaque étape.\n- **Gestion Stricte** : Empêche l'utilisation de mots-clés réservés avec des suggestions de correction.\n\n---\n\n## 📁 Structure du Projet\n\n```text\n.\n├── src/                    # Code source du compilateur\n│   ├── cli.ts              # Interface en ligne de commande (CLI)\n│   ├── compiler.ts         # Orchestrateur (Lexer -\u003e Parser -\u003e Codegen)\n│   ├── lexer/              # Analyse lexicale (découpage en jetons)\n│   ├── parser/             # Analyse syntaxique (génération de l'AST)\n│   ├── codegen/            # Génération de code JavaScript\n│   └── types/              # Définitions des types et structures de l'AST\n├── examples/               # Programmes d'exemple (.algo)\n│   ├── bonjour.algo        # Niveau 1 : Bases\n│   ├── calculatrice.algo   # Niveau 2 : Variables\n│   └── ...                 # Autres exemples (boucles, conditions)\n├── tests/                  # Suite de tests complète\n│   ├── lexer.test.ts       # Tests unitaires du Lexer\n│   ├── parser.test.ts      # Tests unitaires du Parser\n│   ├── codegen.test.ts     # Tests de génération de code\n│   └── regression.test.ts  # Tests de bout en bout\n├── package.json            # Dépendances (Bun)\n└── README.md               # Cette documentation\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevalade%2Falgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevalade%2Falgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevalade%2Falgo/lists"}