FAQ & Dépannage

Questions fréquentes

AlgoLab est-il gratuit ?

Oui. AlgoLab est un logiciel libre distribué sous licence MIT. Vous pouvez l'utiliser, le modifier et le redistribuer librement, y compris dans un cadre éducatif ou commercial.

AlgoLab fonctionne-t-il hors ligne ?

Oui, entièrement. AlgoLab n'a besoin d'aucune connexion internet. Une fois installé, tout fonctionne en local.

Puis-je utiliser AlgoLab pour mes cours / TDs ?

Absolument. C'est exactement pour ça qu'il a été conçu. Vous pouvez distribuer les binaires à vos étudiants, créer des fichiers .algo comme exercices, et utiliser l'extension VS Code pour les démonstrations en direct.

Les tableaux commencent à 1, pas à 0 ?

Oui, c'est un choix délibéré. Dans la plupart des cours d'algorithmique en français, les tableaux sont présentés avec une indexation à partir de 1. AlgoLab respecte cette convention pour rester cohérent avec l'enseignement.

Quelle est la différence entre Caractere et Chaine ?

Aucune. Les deux mots-clés désignent le même type interne. Chaine est un alias de Caractere. Utilisez celui qui vous semble le plus naturel.

Les mots-clés sont-ils sensibles à la casse ?

Non. Debut, DEBUT, debut, DeBuT sont tous valides. Par convention, on utilise le PascalCase (Variable, Debut, FinSi) pour la lisibilité.

Puis-je utiliser des accents dans les noms de variables ?

Non. Les identifiants (noms de variables et fonctions) sont limités aux lettres ASCII (a-z, A-Z), chiffres (0-9) et underscore (_). Ils doivent commencer par une lettre ou un underscore. En revanche, les chaînes de caractères (entre guillemets) peuvent contenir des accents et caractères spéciaux.

AlgoLab supporte-t-il les commentaires ?

Pas encore dans la version actuelle (v0.1.0). Le support des commentaires avec // est prévu dans une future version (voir issue #6).

Dépannage

"Fichier introuvable"

Fichier introuvable: mon_programme.algo

Le fichier spécifié n'existe pas au chemin indiqué. Vérifiez que vous êtes dans le bon dossier (pwd) et que le nom du fichier est correct (attention aux majuscules/minuscules sous Linux).

"Veuillez fournir un fichier .algo ou --code"

Vous avez lancé algolab sans argument. Spécifiez un fichier ou du code inline :

algolab mon_fichier.algo
algolab -c 'Variable x : Entier Debut x <- 1 Ecrire x Fin'

"command not found: algolab" / "algolab n'est pas reconnu"

AlgoLab n'est pas dans votre PATH. Solutions possibles :

  • Linux .deb : réinstallez avec sudo dpkg -i algolab_0.1.0_amd64.deb
  • Windows : ajoutez le dossier contenant algolab.exe à votre variable PATH
  • macOS : déplacez le binaire dans /usr/local/bin/
  • pip : vérifiez que le dossier des scripts pip est dans votre PATH (pip show algolab)

Le programme se bloque (boucle infinie)

Si votre programme ne s'arrête pas, c'est probablement une boucle TantQue dont la condition ne devient jamais fausse. Interrompez avec Ctrl+C et vérifiez votre condition et l'incrémentation de votre variable de boucle.

Le programme se bloque sur Lire

Lire attend une saisie clavier. Si vous exécutez le programme en mode non-interactif (pipeline, validation VS Code), il restera bloqué. Dans VS Code, utilisez la commande "Exécuter AlgoLab" (qui ouvre un terminal) plutôt que "Vérifier AlgoLab".

Erreur de permission sous macOS

"algolab" ne peut pas être ouvert car le développeur n'a pas pu être vérifié.

Solution : Préférences Système → Sécurité et confidentialité → onglet Général → "Autoriser quand même". Ou via le terminal :

xattr -d com.apple.quarantine /usr/local/bin/algolab

Erreur d'encodage / caractères bizarres

AlgoLab lit les fichiers en UTF-8. Si votre fichier utilise un autre encodage (ISO-8859-1, Windows-1252...), les accents peuvent poser problème. Convertissez votre fichier en UTF-8 dans votre éditeur ou avec :

iconv -f ISO-8859-1 -t UTF-8 mon_fichier.algo > mon_fichier_utf8.algo

Mise à jour d'AlgoLab

Linux .deb :

sudo dpkg -r algolab
sudo dpkg -i nouveau_algolab.deb

pip :

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

Windows/macOS binaire : remplacez simplement l'ancien fichier par le nouveau.