Pour l'enseignant
Cette page s'adresse à vous qui préparez des activités avec CapyCode. Le reste du guide, écrit pour les élèves, détaille chaque fonction.
Ce qu'il faut savoir d'abord
- Rien à installer, aucun compte. CapyCode est une page web. Le code s'exécute dans le navigateur de l'élève, avec les noyaux de Basthon.
- Aucune donnée n'est envoyée à un serveur. Le projet de l'élève reste dans son navigateur ; même un lien de partage contient le projet en lui-même, sans passer par un stockage en ligne.
- Un projet par navigateur. Un élève qui change de poste ne retrouve pas son travail : prévoyez l'export ZIP ou un lien de partage en fin de séance (voir Sauvegarder et partager).
- Connexion nécessaire pour exécuter. L'édition, le terminal et Git fonctionnent hors ligne ; l'exécution télécharge l'interpréteur Python (quelques secondes au premier lancement) et les bibliothèques importées.
Distribuer une activité
Par un lien
Préparez le projet dans CapyCode (fichiers de départ, énoncé dans un LISEZMOI.md, données), puis Fichier › Partager… :
- Projet complet pour une activité à plusieurs fichiers, fichier actif uniquement pour un exercice court ;
- cochez Historique Git pour transmettre des commits : ils sont rejoués chez l'élève avec leurs messages et leurs dates. Avec Conserver les autres branches, les branches viennent aussi : de quoi préparer un exercice de fusion, ou même de conflit, prêt à l'emploi.
Le lien se colle dans l'ENT, un document, un QR code. Gardez-le court (la jauge de la fenêtre l'indique) : certaines messageries coupent les liens longs. Les images et fichiers binaires ne passent pas dans un lien.
À l'ouverture, CapyCode demande à l'élève de confirmer le remplacement de son projet, sauf s'il n'a encore rien modifié.
Par une archive ZIP
Fichier › Exporter (ZIP) produit une copie complète, images et historique Git compris. L'élève l'ouvre par Fichier › Importer (ZIP) ou en la déposant sur la fenêtre. Une archive faite hors de CapyCode convient aussi : un dossier compressé, avec ou sans dépôt .git.
Récupérer le travail des élèves
- Export ZIP : l'élève télécharge
capycode-project.zipet le dépose dans l'ENT. Vous l'importez pour voir son projet tel quel, historique compris : le graphe Git montre sa démarche, étape par étape. - Lien de partage : l'élève vous envoie son lien, en incluant au besoin son historique Git.
Pensez à faire exporter vos propres projets avant d'ouvrir ceux des élèves : un import remplace le projet en cours.
CapyCode dans Capytale
Dans Capytale, CapyCode est intégré à la page de l'activité. Capytale peut régler certaines fonctions, par exemple masquer Git pour une activité de découverte de Python : le panneau Git, la branche dans la barre d'état et la commande git du terminal disparaissent, sans rien changer aux fichiers de l'élève.
Choisir la langue
L'interface existe en dix langues. Pour imposer le français, ajoutez ?lang=fr à l'adresse : …/p/capycode/?lang=fr. Les messages d'erreur de Python restent en anglais ; en revanche, les explications de l'analyse du code (soulignements dans l'éditeur) sont traduites et accompagnées d'un conseil.
Idées d'usage
| Objectif | Avec CapyCode |
|---|---|
| Découvrir Python | Bouton Exécuter, console interactive après l'exécution pour explorer les variables, explications des erreurs dans l'éditeur |
| Programmer proprement | Formatage PEP 8 avec le détail des modifications ; découpage en modules (import) |
| Manipuler des données | Fichiers CSV dans le projet, lus par le programme ; pandas, matplotlib |
| Dessiner | turtle, sortie graphique dans le panneau |
| Bases de données | Fichiers .sql exécutés dans SQLite, résultats en tableau, console SQL |
| Ligne de commande | Terminal avec les commandes usuelles, redirections, python et pip |
| Gestion de versions | Panneau Git et commandes git, graphe, branches, fusions et résolution de conflits |
Limites actuelles
- Pas de dépôt distant : ni
push, nipull, niclone. - Les fichiers écrits par un programme Python ne sont pas conservés dans le projet (voir Exécuter un programme).
- Le terminal n'est pas un shell complet : pas de tubes (
|), de variables ni de scripts. - SQL et OCaml n'ont ni analyse du code pendant la frappe, ni formatage, et leurs programmes ne voient pas les autres fichiers du projet.
Une remarque, un problème ? Aide › À propos › Signaler un problème.