For the complete documentation index, see llms.txt. This page is also available as Markdown.

Schémas d'Intégration - Architecture Technique

Vue d'ensemble

Ce document présente les schémas techniques détaillés de l'architecture d'intégration Passe Marché, incluant les flux de données, les interactions entre composants et les séquences d'appels API.

Environnements

Les schémas utilisent ${BASE_URL} comme placeholder. Consultez la documentation des environnements pour les URLs spécifiques à chaque environnement.


1. Architecture Globale

                              PASSE MARCHE - ARCHITECTURE D'INTÉGRATION

┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                         PLATEFORME ÉDITEUR                                              │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│  ┌─────────────────┐   ┌─────────────────┐   ┌─────────────────┐   ┌─────────────────┐                │
│  │  Interface      │   │  Gestionnaire   │   │  API Client     │   │  Webhook        │                │
│  │  Utilisateur    │   │  Marchés        │   │  OAuth2         │   │  Handler        │                │
│  │                 │   │                 │   │                 │   │                 │                │
│  └─────────────────┘   └─────────────────┘   └─────────────────┘   └─────────────────┘                │
│           │                       │                       │                       ▲                    │
└───────────┼───────────────────────┼───────────────────────┼───────────────────────┼────────────────────┘
            │                       │                       │                       │
            │                       │                       │                       │
         ┌──▼──┐                 ┌──▼──┐                 ┌──▼──┐                 ┌──┴──┐
         │     │                 │     │                 │     │                 │     │
         │ UI  │                 │ API │                 │Auth │                 │Hook │
         │     │                 │     │                 │     │                 │     │
         └──┬──┘                 └──┬──┘                 └──┬──┘                 └──▲──┘
            │                       │                       │                       │
            ▼                       ▼                       ▼                       │
┌─────────────────────────────────────────────────────────────────────────────────┼────────────────────┐
│                                     PASSE MARCHE API                              │                    │
├─────────────────────────────────────────────────────────────────────────────────┼────────────────────┤
│  ┌─────────────┐   ┌─────────────┐   ┌─────────────┐   ┌─────────────┐         │                    │
│  │   OAuth2    │   │   Marchés   │   │ Candidatures│   │   Fichiers  │         │                    │
│  │  Endpoint   │   │  Publics    │   │             │   │ (PDF/ZIP)   │         │                    │
│  │             │   │             │   │             │   │             │         │                    │
│  └─────────────┘   └─────────────┘   └─────────────┘   └─────────────┘         │                    │
│                                                                                  │                    │
│  ┌─────────────────────────────────────────────────────────────────────────────┼────────────────┐   │
│  │                           INTERFACES UTILISATEUR                             │                │   │
│  │                                                                              │                │   │
│  │  ┌─────────────────┐                            ┌─────────────────┐          │                │   │
│  │  │   Interface     │                            │   Interface     │          │                │   │
│  │  │   Acheteur      │                            │   Candidat      │          │                │   │
│  │  │   (Wizard)      │                            │   (Formulaire)  │          │                │   │
│  │  │                 │                            │                 │          │                │   │
│  │  └─────────────────┘                            └─────────────────┘          │                │   │
│  └─────────────────────────────────────────────────────────────────────────────┼────────────────┘   │
│                                         ▲                            ▲          │                    │
└─────────────────────────────────────────┼────────────────────────────┼──────────┼────────────────────┘
                                          │                            │          │
                                          │                            │          │
                              ┌─────────────────┐            ┌─────────────────┐  │
                              │   Acheteur      │            │   Candidat      │  │
                              │   Public        │            │   Entreprise    │  │
                              │                 │            │                 │  │
                              └─────────────────┘            └─────────────────┘  │

                                                             ┌─────────────────┐  │
                                                             │   Webhook       │◄─┘
                                                             │   Système       │
                                                             │                 │
                                                             └─────────────────┘

2. Flux d'Authentification OAuth2


3. Flux Complet Acheteur (Création et Configuration Marché)


4. Flux Complet Candidat (Création et Soumission Candidature)


5. Architecture Webhook et Retry

Les délais entre tentatives suivent un backoff polynomial croissant (ActiveJob polynomially_longer), pas des délais fixes. Il n'y a pas de mécanisme de suspension automatique ("circuit breaker") au-delà des 3 tentatives : après le dernier échec, l'entité passe simplement en sync_failed et peut être relancée manuellement (voir Interface de Retry).


6. États et Transitions du Système


7. Matrice de Compatibilité et Limitations


8. Schémas de Données JSON

Schéma de Création de Marché Public

Le payload pour créer un marché public doit respecter la structure suivante :

Note sur les diagrammes de séquence : Les diagrammes de flux acheteur et candidat ci-dessus reflètent déjà l'inclusion du SIRET dans les requêtes de création de marché. Aucune mise à jour visuelle des diagrammes n'est nécessaire.


9. Checklist d'Intégration

Ces schémas techniques fournissent une vision complète de l'architecture d'intégration Passe Marché et servent de référence pour l'implémentation et le debugging des intégrations des plateformes de marchés publics.

Mis à jour

Ce contenu vous a-t-il été utile ?