Events / Crowd managementPrototype

Crowd Flow Optimization — prédiction et orchestration des flux de foule en temps réel

Système temps réel combinant capteurs terrain, stream processing et modèles prédictifs pour anticiper et prévenir les congestions sur les méga-événements.

Résumé exécutif

Prototype de système d'orchestration des flux de foule conçu pour les méga-événements (concerts, stades, festivals). L'objectif : prédire les congestions 10 minutes en avance, déclencher des recommandations automatisées pour les équipes terrain et maintenir une disponibilité de 99.9% pendant les phases critiques. Architecture event-driven end-to-end, du capteur au dashboard opérateur.

Problème business

Les organisateurs de méga-événements gèrent des foules de 50 000 à 100 000 personnes avec des outils réactifs, non prédictifs. Les incidents de congestion sont détectés trop tard, les décisions de redirection prennent plusieurs minutes, et les équipes terrain manquent d'information contextuelle en temps réel. Le coût humain et réputationnel d'un incident majeur est considérable.

Solution

Pipeline temps réel en 6 couches : collecte multi-sources (capteurs IoT, caméras anonymisées, ticketing), transport via Kafka MSK, stream processing Apache Flink (fenêtres 30s), scoring ML via TensorFlow Serving, decision engine avec fallback YAML, dashboard opérateur Next.js avec WebSocket 1s. Chaque couche est découplée et résiliente indépendamment.

KPIs visés

10 min

Horizon de prédiction congestion

< 200ms

Latence décision bout en bout

40%

Réduction incidents opérationnels

99.9%

Disponibilité cible événement live

Architecture technique

Architecture event-driven en 6 couches découplées. La couche collecte agrège les flux capteurs via AWS IoT Core et MQTT. La couche transport repose sur AWS MSK (Kafka managé multi-AZ) avec Schema Registry pour la validation des contrats. Apache Flink sur KDA gère le stream processing avec fenêtres glissantes 30 secondes et garantie exactly-once. TensorFlow Serving sur ECS Fargate assure l'inférence avec auto-scaling. Le decision engine FastAPI intègre scoring ML et règles YAML en fallback. Le dashboard Next.js reçoit les pushs via WebSocket API Gateway.

Architecture générale

Architecture Crowd Flow — Vue générale
COUCHE 1 — COLLECTE TERRAINCapteurs IoTComptage, pressionCaméras anon.Anonymisées sourceTicketing APIFlux temps réelBornes accèsFlux entrants/sortantsCOUCHE 2 — EDGE & TRANSPORTEdge gatewayAgrégation localeKafka MSKTopics par zoneSchema RegistryContracts, validationCOUCHE 3 — STREAM PROCESSINGApache FlinkFenêtres 30sFeature storeFeatures en temps réelDétection anomalieTemps réelCOUCHE 4 — MODEL SCORINGTensorFlow ServingInference GPU/CPUPrédiction J+10minCongestion forecastingScore risque / zone0.0 → 1.0 par zoneCOUCHE 5 — DÉCISION & ALERTESDecision engineScoring + règlesRecommandationsOps, équipes terrainFallback rulesYAML déterministeManual overrideOpérateur maîtreCOUCHE 6 — INTERFACE & OBSERVABILITÉDashboard Next.jsWebSocket, 1sPrometheus+GrafanaMétriques infraAlertmanagerRouting, escaladeAudit logTraçabilitéLÉGENDE — OPTIONS PAR COUCHECollecte : capteurs IoT, caméras anonymisées, bornes accèsTransport : Edge gateway + Kafka MSK + Schema RegistryStream processing : Flink fenêtres 30s, feature store temps réelModel scoring : TF Serving, prédiction 10 minutes par zoneDécision : rules engine, ML scoring, override opérateurInterface : Next.js WebSocket, Prometheus, Grafana, PagerDuty

Stack recommandée

Architecture Crowd Flow — Stack concrète recommandée
SOURCES — AWS IoT + TerrainAWS IoT CoreMQTT, Lambda@EdgeCaméras NFCAnonymisation srcTicketing RESTAPI temps réelBornes NFCFlux entrantsEDGE & TRANSPORT — AWS MSKIoT Core GWPré-agrégationAWS MSK (Kafka)Managé, multi-AZConfluent RegistrySchema validationSTREAM PROCESSING — Flink on KDAFlink on KDAFenêtres 30s, EOSDynamoDBFeature storeAnomaly DetectorAWS serviceMODEL SCORING — TF Serving ECSTF Serving FargateAuto-scale, blue/greenPrédiction 10minScore congestionRisk APIScore par zoneDÉCISION — FastAPI ECSFastAPI ECS< 50ms P95Push DashboardAPI Gateway WSYAML FallbackHors-ligne okOverride UIOpérateurINTERFACE & OBS — Grafana CloudNext.js + VercelWebSocket, SSEGrafana CloudDashboardsPagerDutySMS opérateursS3 + RDSArchivesSTACK CHOISIE — JUSTIFICATIONSEdgeAWS IoT Core — MQTT natif, Lambda@Edge pré-agrégation, latence < 50msTransportAWS MSK — Kafka managé, 0 ops, réplication multi-AZ, SLA 99.9%StreamFlink sur KDA — fenêtres 30s, exactement-une-fois garantiModèleTF Serving Fargate — auto-scaling, déploiement blue/green, GPU optionnelDécisionFastAPI — < 50ms P95, fallback YAML rules si modèle indisponibleDashboardNext.js + WebSocket — mise à jour 1s, mode dégradé offlineObservabilitéGrafana Cloud + PagerDuty — SLA 99.9%, alertes SMS opérateurs

Séquence d'alerte congestion

Séquence — Alerte Congestion
CapteurEdge GWKafkaFlinkTF SrvDecisionDashboardOpsflux_count (500ms)publish(zone_A_metrics)consume(window 30s)score_request(features)risk_score=0.87alert(zone_A, HIGH)push(recommendation)alerte + actionoverride(REROUTE)

Avantages concurrentiels

Aucune solution SaaS du marché ne combine prédiction 10 minutes, decision engine avec fallback déterministe YAML, et dashboard opérateur temps réel à moins de 200ms de latence de bout en bout. Le design priorise la résilience : si le modèle ML est indisponible, les règles YAML garantissent la continuité opérationnelle. L'architecture est conçue pour les contraintes des événements live : pics de charge prévisibles, zéro tolérance aux pannes pendant les phases critiques.

Risques et mitigations

Risque principal : qualité et disponibilité des capteurs terrain. Mitigation : architecture multi-source avec dégradation gracieuse si un flux devient indisponible. Deuxième risque : latence réseau dans les grandes salles (Wi-Fi saturé). Mitigation : edge gateway avec buffer local et transmission par lot. Troisième risque : faux positifs du modèle générant des alertes inutiles. Mitigation : seuil de confiance configurable et validation humaine pour les alertes de niveau critique. Quatrième risque : adoption par les équipes terrain. Mitigation : UX opérateur simplifiée et mode offline.

Impact

  • Prototype / évaluation en cours.
  • Mesure d'impact détaillée disponible sur demande.

Prototype / évaluation en cours.

Cadrage projet

Périmètre pilote : 1 événement, 1 site, capacité 20 000 personnes. Durée du POC : 8 semaines (4 sprints). Environnement : AWS eu-west-1 + ECS Fargate. Gouvernance : données anonymisées à la source, aucune donnée personnelle stockée, conformité RGPD par design.

Hosting et résilience

Déploiement AWS ECS Fargate (backend) + Vercel (dashboard) + AWS MSK multi-AZ (transport). Disponibilité cible : 99.9% SLA pendant les événements live. RTO < 5 minutes, RPO < 1 minute. Fallback YAML activé automatiquement si le modèle ML dépasse 500ms de latence. Monitoring Grafana Cloud + alertes PagerDuty pour les opérateurs.

Rôle

Architecture temps réel, stream processing design, ML pipeline, dashboard ops design

Prochaines étapes

Extension multi-sites, calibration saisonnière des modèles, intégration SSO organisateurs.

Stack technique

AWS IoT CoreKafka MSKApache FlinkTensorFlow ServingFastAPINext.jsWebSocketPrometheusGrafanaPagerDutyPostgreSQLDockerKubernetesECS Fargate

Timeline

1

S1–S2

Intégration

Intégration capteurs et pipeline Kafka

2

S3–S4

Modèle

Modèle prédictif et feature engineering

3

S5–S6

Dashboard

Dashboard ops et tests de charge

4

S7–S8

Pilote

Pilote événement réel, calibration, go/no-go