AP8, 13 h 45 – 17 h

Slides de la séanceLe parcours de la séance

Comment suivre la séance

Le projet compteur-replique commence par des fonctions pures, puis les place dans trois GenServers de la même VM. Nous retardons volontairement les échanges pour simuler une coupure, puis vérifions la convergence. L’éditeur de texte concurrent sert d’ouverture finale et constitue une piste de projet au choix pour AP9.

Suivre les copies et les messages

Chaque boîte est un poste. Elle contient ce qu’il connaît des contributions d’Alice, Bob et Carol. Faites avancer l’expérience ; avant chaque livraison, prédisez la map du destinataire.

Au départ, les trois postes connaissent zéro contribution. Les échanges sont retenus ; chacun peut continuer à compter localement.

États des trois répliques du compteurChaque poste garde une composante par écrivain et leur somme. Les mêmes valeurs sont disponibles dans le tableau sous le diagramme.Poste AliceAlice :0Bob :0Carol :0Total :0Poste BobAlice :0Bob :0Carol :0Total :0Poste CarolAlice :0Bob :0Carol :0Total :0

Aucune fusion pour l’instant. Le total d’un poste est la somme des trois composantes qu’il connaît.

Les états connus à cette étape
PosteAliceBobCarolTotal
Alice0000
Bob0000
Carol0000

Le mouvement accompagne une étape déclenchée par vous. Les textes et les nombres donnent toutes les informations, même sans animation. Les trois processus restent actifs : la coupure est simulée en retenant les échanges.

Rendu

Gardez le projet, la trace de la coupure et une explication de la fusion ; modalités à préciser en cours

Comment rendre

Squelette du projet

Téléchargez, dézippez à la racine de votre dépôt ap-homework, premier commit, et c'est parti : le README vous guide pas à pas. Le README indique les tests du premier palier et les commandes pour poursuivre.

⬇ Tableau de contributions répliqué

Trois répliques dans IEx, un compteur par poste et une fusion par maximum. Aucun réseau à configurer.

Un bout de syntaxe oublié ?

Le poly reprend le langage aux chapitres 1 à 4, avec ses exemples et leurs résultats. Pour cette séance, relisez le chapitre 11.

Retour à l'accueil