Documentation technique

Préambule

Ce document est un aperçu d'un point de vue technique de l'application Registre de Preuve de Covoiturage. Le focus est mis sur le backend.

La documentation technique complùte est accessible sur le lien suivant 📖.

Concepts

L’application est dĂ©coupĂ©e en services de maniĂšre fonctionnelle. Chaque service forme un paquet NodeJS indĂ©pendant. L'architecture de ces services est prĂ©sentĂ©e ci-aprĂšs.

​

Le proxy joue un rĂŽle d’API manager (routes, auth). Il a vocation Ă  moyen terme Ă  disparaĂźtre pour ĂȘtre remplacĂ© par un reverse-proxy ou un API manager.

Service certificate : ce service gĂ©nĂšre et imprime en PDF ou PNG des attestations de covoiturage des usagers. Par l’intermĂ©diaire de son opĂ©rateur, l’usager peut demander un Ă©tat des lieux de ses trajets de covoiturage sur une pĂ©riode Ă  un instant T. Ce document est produit pour une identitĂ© et un opĂ©rateur seulement.

Service acquisition : ce service rĂ©alise des actions de contrĂŽle de conformitĂ© du payload. La conformitĂ© du payload est jugĂ©e vis-Ă -vis du format du schĂ©ma de donnĂ©es (cf : schĂ©ma V2 ) mais Ă©galement vis-Ă -vis de rĂšgles de bon sens (exemple : date de fin supĂ©rieure Ă  date de dĂ©but). Si le payload est conforme il est envoyĂ© et enregistrĂ© en tant que journey dans le service normalization. Un retour est effectuĂ© par le service auprĂšs de l’opĂ©rateur.

👆 Nous conseillons aux opĂ©rateurs de sauvegarder les informations renvoyĂ©es par notre API dans un log.

Service normalization : ce service enrichie le journey avec diverses informations comme des codes postaux, des distances théoriques (serveur OSRM), la(les) commune(s) de départ et/ou arrivée, la(les) AOM concernée(s), la densité de population du territoire, etc.

Service acquisition_error : ce service stocke les payloads non conformes aux schémas de données et rejetés par les services acquisition et normalization.

Service carpool : ce service redecoupe le journey (couple passager/conducteur) en un passager et un conducteur et affecte une clef de reconstitution.

Service fraud : ce service rĂ©alise des tests d’anomalies sur les donnĂ©es remontĂ©es (exemple : nombre de siĂšges rĂ©servĂ©s Ă©gal Ă  6, distance 2 km pour une durĂ©e de 2H00, etc.) et affecte une note.

Service policy : ce service affecte une incitation aux passagers, conducteurs des trajets Ă©ligibles Ă  une campagne d’incitation dĂ©finie dans le registre.

Service trip : ce service reconstitue le couple passager/conducteur en un journey.