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 ?

