This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2018-2019:s3:concprogobjet:td:td1 [2018/09/07 18:27] blay [Mise en place d'un programme principal préliminaire (10mn)] |
2018-2019:s3:concprogobjet:td:td1 [2018/09/07 18:51] (current) blay |
||
---|---|---|---|
Line 18: | Line 18: | ||
===== Présentation de l'application ===== | ===== Présentation de l'application ===== | ||
- | <note>Un **Forum ** (//e.g.// Slack, Discorde) permet à un "producteur" (e.g. membre autorisé à écrire) d'envoyer des "messages" (texte, contenu multimedia, ...). | + | <note>Un **Forum ** (//e.g.// Slack, Discorde) permet à un "producteur" (e.g. membre autorisé à écrire) de poster des "messages" (texte, contenu multimedia, ...). |
Les "consommateurs" (e.g. membre) peuvent lire les messages quand ils le veulent. | Les "consommateurs" (e.g. membre) peuvent lire les messages quand ils le veulent. | ||
</note> | </note> | ||
Line 30: | Line 30: | ||
==== ENONCE ==== | ==== ENONCE ==== | ||
* Un administrateur peut créer un Forum. | * Un administrateur peut créer un Forum. | ||
- | * Des producteurs émettent des messages vers un Forum. | + | * Des producteurs postent des messages sur un Forum. |
* Des consommateurs lisent des messages sur le Forum. | * Des consommateurs lisent des messages sur le Forum. | ||
* Un producteur peut effacer des messages sur le Forum. | * Un producteur peut effacer des messages sur le Forum. | ||
Line 51: | Line 51: | ||
L'agence "oogle-stade" (//Administrateur//) crée un forum "OGCN".\\ | L'agence "oogle-stade" (//Administrateur//) crée un forum "OGCN".\\ | ||
- | Mario (//Producteur//) émet un message //WaitAndSee: "a quoi cela sert de courir?"// sur le forum "OGCN". \\ | + | Mario (//Producteur//) poste un message //WaitAndSee: "a quoi cela sert de courir?"// sur le forum "OGCN". \\ |
Walter (//Consommateur//) demande s'il y a de l'information sur le forum et obtient le message //WaitAndSee//. \\ | Walter (//Consommateur//) demande s'il y a de l'information sur le forum et obtient le message //WaitAndSee//. \\ | ||
Walter(//Consommateur//) pose la même question et obtient le même message. \\ | Walter(//Consommateur//) pose la même question et obtient le même message. \\ | ||
Alban(//Consommateur//) pose la même question et obtient le même message. \\ | Alban(//Consommateur//) pose la même question et obtient le même message. \\ | ||
- | Walter (//Producteur//) émet un message //Yes : "Tout à fait d'accord!"//. \\ | + | Walter (//Producteur//) poste un message //Yes : "Tout à fait d'accord!"//. \\ |
- | Youcef (//Producteur//) émet un message //PFFF : "Vous rigolez?"//. \\ | + | Youcef (//Producteur//) poste un message //PFFF : "Vous rigolez?"//. \\ |
Les messages postés il y a plus de 30s sont détruits par "oogle-stade". | Les messages postés il y a plus de 30s sont détruits par "oogle-stade". | ||
Line 235: | Line 235: | ||
<accordion collapsed="true"> | <accordion collapsed="true"> | ||
<panel title="Pour en savoir plus"> | <panel title="Pour en savoir plus"> | ||
- | ==== Pour aller plus loin ==== | ||
- | Un "bus à messages" s'appuie sur plusieurs design patterns 'Observeur/Observable" et plus précisément "Publish/Subscribe". Il existe aujourd'hui de nombreuses implémentations de ces systèmes permettant des communications asynchrones, où les consommateurs sont automatiquement notifiés de l'arrivée de message, où les consommateurs peuvent faire des demandes spécifiques, avec des systèmes de filtres complexes, etc. | ||
</panel> | </panel> | ||
</accordion> | </accordion> |