Aller au contenu principal

Consigne — Vue d'ensemble

Le module Consigne transforme un node leukOS (Raspberry Pi + écran tactile + lecteur QR USB) en consigne à colis connectée. Un opérateur dépose un colis depuis l'interface web Venus ; Saturn génère un code de retrait, l'envoie au destinataire par email (QR code + texte) et pousse le colis vers la consigne. Le destinataire scanne son QR code devant la consigne, le daemon C++ vérifie le code et libère le bon casier.

Consigne connectée avec casiers et écran tactile leukOS

Déclinaison pour un guichet administratif​

Casier sécurisé pour un service administratif avec écran d'identification

Cette déclinaison peut servir au retrait de documents préparés par un service public : carte nationale d'identité, passeport ou autres titres. Le parcours d'identification, la traçabilité et les règles de conservation doivent être définis selon les exigences du service concerné ; cette illustration présente un scénario d'usage, pas une fonction déjà décrite dans le parcours de consigne à colis ci-dessous.

Composants​

ComposantRôle consigneCode
Venus (Nest + Vue)Pages Consignes, Nouveau colis, Email SMTP, groupe de sidebar dynamiquecentral/venus
Saturn (Go)Domaine consigne, PostgreSQL, génération du code, email SMTP, envoi au node (gRPC puis REST), serveur gRPC leukos.SaturnServicecentral/saturn
Daemon C++ leukos-nodeConsigneManager : SQLite, vérification des codes, ouverture des casiers, synchronisation vers Saturnnodes/agent
IHM Qt leukos-uiInterrupteur mode consigne, page de scan, mur de casiers, tuile d'accueil conditionnellenodes/ui
Lecteur QRClavier HID USB : tape le code puis Entréematériel

Architecture​

Cycle de vie d'un colis​

Un casier suit le même cycle : empty → occupied au dépôt, puis occupied → empty au retrait.

Principes de conception​

  • Le node fait autorité sur l'état physique : l'état des casiers est calculé localement (SQLite) et poussé vers Saturn ; Saturn ne fait que le refléter.
  • Le code de retrait n'est jamais stocké en clair : Saturn et le node ne conservent que sha256(MAJUSCULES(code)). Seul l'email du destinataire contient le code.
  • gRPC d'abord, REST en secours dans les deux sens (Saturn → node et node → Saturn).
  • Tolérance aux coupures : colis non livrés réessayés par Saturn, événements non synchronisés conservés dans SQLite jusqu'à acquittement.
  • Mode activable : un node n'est une consigne que si l'interrupteur Configuration → Consignes est activé.

Pages de cette section​