Fichiers d’entraînement : l’espace personnel de chaque élève, en dehors des modules

Tout ce qu’écrit un élève n’a pas vocation à être un devoir. Les fichiers d’entraînement lui appartiennent : dans le langage de son choix, en dehors de tout module et sans être notés. On y accède depuis « Créer », dans la barre.

À quoi ils servent

Reprendre ce que vous venez de montrer en classe, avancer dans un livre, garder la version qui fonctionnait avant de la modifier : c’est ce qui distingue une plateforme où l’on distribue du travail d’un véritable lieu d’apprentissage.

Lors de sa première visite, une personne qui apprend avec un compte personnel gratuit, tout comme l’administrateur d’un établissement, y trouve deux fichiers : un programme Python à lancer avec « Exécuter », accompagné d’un test, et l’organigramme de ce même programme. Ce sont des fichiers comme les autres, que l’on peut modifier ou supprimer ; une fois supprimés, ils ne reviennent pas.

La page des fichiers d’entraînement d’un élève, avec une carte par langage et par type de diagramme au-dessus de la liste de ses fichiers
Les fichiers personnels d’un élève, dans n’importe quel langage, indépendamment des travaux qui lui sont assignés. Rien ici n’est noté.

Créer un fichier

Choisissez ce que vous voulez créer parmi les cartes en haut de la page, une par type : Python, Java, Go, C, C++, C#, Haskell, OCaml, R, Ruby, PHP, Rust, Kotlin, Prolog, JavaScript, TypeScript, Bash, une page web, SQL, un diagramme Mermaid ou un tableau blanc. Un seul clic crée le fichier et l’ouvre, sous un nom comme untitled-python. Renommez-le dès qu’il contient quelque chose : cliquez sur le crayon à côté de son nom, en haut de l’éditeur.

Il n’y a pas d’importation : collez dans l’éditeur ce que vous avez déjà. Pour récupérer votre travail, téléchargez-le.

Un fichier peut peser jusqu’à 64 Ko, et son nom peut contenir des lettres, des chiffres, des points, des tirets et des tirets bas. Il n’y a pas de carte pour un terminal Linux, qui n’a pas de fichier derrière lui : c’est dans le bac à sable qu’on s’y exerce.

Combien de fichiers vous pouvez garder

Un compte d’établissement n’a pas de limite sur le nombre de fichiers d’entraînement. Un compte personnel gratuit en garde au plus 100, pour que l’entraînement reste un lieu où l’on s’exerce et non un espace de stockage, et la page indique combien vous en avez à côté de la liste, par exemple « 12 fichiers sur 100 », avant que vous n’atteigniez la limite.

Une fois la limite atteinte, la création d’un nouveau fichier est refusée avec une phrase qui l’explique ; supprimez-en un dont vous n’avez plus besoin pour faire de la place. L’enregistrement d’un fichier que vous avez déjà n’est jamais refusé.

Le même éditeur que partout ailleurs

Mêmes langages, même bouton « Exécuter », mêmes tests. Un fichier d’entraînement peut aussi être accompagné d’un fichier de données, ce qui le rend utile pour tout programme qui lit des données en entrée.

Les fichiers Python et Bash s’ouvrent avec un test à côté du programme, que l’élève peut modifier. Tout langage doté d’un gestionnaire de paquets a son fichier de paquets en haut de l’arborescence, requirements.txt ou pom.xml par exemple, enregistré avec le travail ; Bash et SQL n’en ont pas.

Retrouver, télécharger et déplacer ses fichiers

Chaque fichier peut être renommé ou supprimé, et téléchargé seul ou à plusieurs en une archive zip. La liste se recherche par nom, affiche dix fichiers par page, se filtre par catégorie et par type, et se trie par nom, type, taille ou date d’enregistrement. Dessous, un compteur indique « 12 fichiers », ou « 3 fichiers sur 12 » dès qu’une recherche ou un filtre a réduit la liste. Un membre du personnel peut aussi copier un fichier d’entraînement dans un module sous forme de tâche, pour ce qu’il a d’abord écrit pour lui-même.

Questions fréquentes

Les fichiers d’entraînement sont-ils pris en compte dans notre facture ?
Non. La facture porte sur les comptes, pas sur les fichiers.
Un enseignant peut-il les voir ?
Non. Ils appartiennent à l’élève, et rien les concernant n’apparaît dans un module.