| Les deux révisions précédentes Révision précédente | |
| asso:si:si_garage [2026/10/12 21:42] – Schéma d'architecture refait avec Archify (remplace le schéma en texte) nrineau | asso:si:si_garage [2026/10/12 22:04] (Version actuelle) – La route locale est aussi appelée par le bouton garage du Pi de la porte (gatepi) nrineau |
|---|
| |
| ^ Route ^ Déclenchée par ^ Action ^ Contrôle ^ | ^ Route ^ Déclenchée par ^ Action ^ Contrôle ^ |
| | ouverture locale (GET) | ''gate-service.sh'' (badge) | garage | aucun : réservé à l'usage local | | | ouverture locale (GET) | ''gate-service.sh'' (badge de l'atom) et bouton garage du [[asso:si:serrure|Pi de la porte]] | garage | aucun : réservé au réseau local | |
| | garage (POST) | commande slash Framateam | garage | canal garage ou canal porte | | | garage (POST) | commande slash Framateam | garage | canal garage ou canal porte | |
| | entrer (POST) | commande slash Framateam | ouvre la porte arrière + message « X a ouvert le local » | canal porte | | | entrer (POST) | commande slash Framateam | ouvre la porte arrière + message « X a ouvert le local » | canal porte | |
| Fonctionnement : | Fonctionnement : |
| * ''send_command(c)'' ouvre le port série de l'Arduino. L'ouverture **redémarre l'Arduino**, qui envoie sa bannière ''LOV garage opener v3'' : le serveur la lit pour vérifier qu'il parle bien au boîtier, envoie la lettre (''O'', ''E'' ou ''L'') puis lit la réponse (''opening …''). Compter environ 2 secondes par commande. | * ''send_command(c)'' ouvre le port série de l'Arduino. L'ouverture **redémarre l'Arduino**, qui envoie sa bannière ''LOV garage opener v3'' : le serveur la lit pour vérifier qu'il parle bien au boîtier, envoie la lettre (''O'', ''E'' ou ''L'') puis lit la réponse (''opening …''). Compter environ 2 secondes par commande. |
| * ''local_open'' (GET) : ouvre le garage **sans aucune vérification**. Elle n'est utilisée que par le lecteur de badges, sur l'atom lui-même. | * ''local_open'' (GET) : ouvre le garage **sans aucune vérification**. Elle est appelée par le lecteur de badges de l'atom et par le bouton garage du [[asso:si:serrure|Raspberry Pi de la porte]] (gatepi). |
| * ''open'', ''enter'', ''leave'' (POST) : appelées par les commandes slash de Framateam. Mattermost envoie ''user_name'' et ''channel_id'' ; la commande n'est acceptée que depuis les canaux prévus. | * ''open'', ''enter'', ''leave'' (POST) : appelées par les commandes slash de Framateam. Mattermost envoie ''user_name'' et ''channel_id'' ; la commande n'est acceptée que depuis les canaux prévus. |
| * ''enter'' et ''leave'' répondent en JSON : un message visible seulement par l'auteur (''ephemeral'') et une annonce publique « X a ouvert / fermé le local » dans le canal d'annonces. | * ''enter'' et ''leave'' répondent en JSON : un message visible seulement par l'auteur (''ephemeral'') et une annonce publique « X a ouvert / fermé le local » dans le canal d'annonces. |