AP1 — Prendre en main Elixir et Livebook
Une courte keynote présente la plateforme et ouvre Livebook, installé avant le cours. Cinq carnets progressifs nous conduisent ensuite des premiers calculs aux motifs, aux listes, aux chaînes et à une petite calculatrice à pile.
AP1, 13 h 45 – 17 h, salle L103
Slides de la séanceLe parcours de la séanceAvant AP1 : installer Livebook
Découvrir ce que nous allons construire
Essayez un petit langage, un Sokoban compilé, des modèles qui apprennent et des processus qui coopèrent. Les projets AP9 prennent vie : image calculée à plusieurs, demandes concurrentes et élèves à répartir en groupes.
Ouvrir la présentation avec les démosChoisir une démonstrationPréparer Livebook avant AP1
Comment suivre la séance
Après la keynote, nous suivons cinq carnets dans l’ordre, un par étape : prédire, essayer, écrire une fonction et expliquer une erreur. Je projette le même carnet que vous et nous reprenons les difficultés au fil de l’eau. Chaque carnet est autonome et se sauvegarde dans AP1/. Le sixième est un prolongement facultatif ; les petits carnets de réserve servent à reprendre une notion.
À vous de jouer dans Livebook
1. Des expressions, des noms et des résultats
Prédire ce qu’une cellule renvoie, donner un nom à une valeur sans la modifier, puis fabriquer un premier résultat étiqueté {:ok, 21}.
Environ 20 min · poly, chap. 1.
2. Des fonctions qui reconnaissent leurs arguments
Un module et une fonction complète, puis des clauses dont les paramètres sont des motifs. Où placer le cas général ?
Environ 25 min · poly, chap. 2 et 4.
3. Parcourir une liste en sachant où nous en sommes
Tête et reste, compter puis sommer par récurrence, transporter un accumulateur et reconnaître un appel terminal.
Environ 25 min · poly, chap. 3 et 4.
4. Lire une chaîne sans perdre ce qui reste
String.split, Integer.parse et case, puis votre premier lecteur de tokens et un préfixe reconnu par motif.
Environ 25 min · poly, chap. 1 à 3.
5. Faire vivre une pile, puis une calculatrice
Les transitions de pile, point de passage de la séance, puis la boucle qui relie vos briques sans cacher les erreurs.
Environ 35 min · poly, chap. 4, section 4.5.
Rendu
Cycle 1 · AP1–AP3 — dimanche 6 décembre 2026 à 23 h 59
Gardez vos étapes dans AP1/. Je préciserai en cours les notebooks à terminer, les cellules attendues et le point d’arrêt, selon notre avancement. Un seul rendu réunit AP1–AP3 ; nous en reparlerons à l’oral en AP4. Les prolongements non demandés restent facultatifs.
Les cinq carnets contiennent directement votre travail : conservez-les dans AP1/, un fichier par étape. Le prolongement et les carnets de réserve ne constituent pas une seconde liste à terminer.
Laboratoires et défis facultatifs
Ces exercices sont facultatifs. Gardez vos essais dans entrainement/ ; pour un bonus, joignez les notebooks choisis au rendu annoncé en cours. Vous pouvez reprendre une notion ou explorer un point plus avancé.
Pour reprendre une notion
Reprendre les valeurs et les noms
Réserve ciblée : immutabilité et résultats.
Reprendre les fonctions
Réserve ciblée : modules, paramètres et appels.
Reprendre les motifs
Réserve ciblée : tuples et ordre des clauses.
Reprendre la récursion
Réserve ciblée : cas de base et liste plus petite.
Reprendre les accumulateurs
Réserve ciblée : le reste à lire et l’état déjà construit.
Reprendre les préfixes
Réserve ciblée : reconnaître une chaîne et poursuivre sur le reste.
Pour aller plus loin
6. Préparer la prochaine lecture
Facultatif : Float.parse, puis la boucle de la calculatrice réécrite avec with, pour ceux qui ont terminé le carnet 5.
Une autre calculatrice à pile
Prolongement facultatif après la pile du carnet 5.
Les défis de la séance
Des exercices plus durs, énoncés secs, zéro solution. Pour ceux qui ont fini le livebook et en veulent encore.
Un bout de syntaxe oublié ?
Le poly reprend le langage aux chapitres 1 à 4, avec ses exemples et leurs résultats.
