Étude de cas SmartTex Morocco 4.0

Pilote IIoT pour l’industrie textile marocaine : métiers à tisser instrumentés avec ESP32 + capteurs, télémétrie temps réel publiée en MQTT, ingestion via Apache NiFi, stockage InfluxDB, dashboards Grafana et alertes opérateur. Cette page reprend le réseau PERT, le diagramme de Gantt et l’analyse probabiliste du projet pilote.

10 activités PERT 3-points Chemin critique A → D → E → F → H → I → J Horizon ≈ 37 jours

0. Contexte du projet

Architecture cible — du métier à tisser au tableau de bord

Factory floor Capteurs Réseau Clustertraitement Utilisateurs Métier à tisser 1 ESP32 + Capteurs Métier à tisser 2 ESP32 + Capteurs Métier à tisser N ESP32 + Capteurs MPU6050Vibration HX711 Tension fil MLX90614Température SCT-013 Courant MFRC522 RFID Mosquitto MQTT Broker — Port 1883 Cluster k3s — Raspberry Pi Apache NiFi — ConsumeMQTT → Route → Transform InfluxDB 2.x Bucket : telemetry Rétention 30 j Grafana Machine Health Dashboard NiFi PublishMQTT ⚠ Alertes 👤 Responsable Production 🔧 Opérateur
Lecture rapide. Chaque métier à tisser embarque un ESP32 qui interroge 5 familles de capteurs (vibration, tension fil, température, courant, RFID) et publie les mesures en MQTT vers Mosquitto. Un cluster k3s sur Raspberry Pi héberge NiFi (ingestion + routage), InfluxDB (stockage série temporelle, 30 jours de rétention), Grafana (Machine Health Dashboard) et un flow PublishMQTT qui retourne les alertes vers les opérateurs. La planification PERT/Gantt ci-dessous couvre les 10 activités de mise en place de cette stack.

1. Résultats

Durée espérée T
36.5 j
Variance σ²
9.75
Écart-type σ
3.12 j
P(T ≤ 40 j)
86.9 %
Délai 95 %
41.64 j
Activités critiques
7 / 10

2. Liste des activités

Estimations à trois points et durées espérées

IDActivitéPréd. OMPtₑσ² ESEFLSLFMargeStatut
AAchat matériel35105.501.360.05.50.05.50.0Critique
BCâblage prototypeA2373.500.695.59.011.014.55.5+5.5
CFirmware ESP32B58148.502.259.017.514.523.05.5+5.5
DInfra Docker k3dA35105.501.365.511.05.511.00.0Critique
EConfig NiFi flowD2494.501.3611.015.511.015.50.0Critique
FJob PyFlink (RMS)D, E47137.502.2515.523.015.523.00.0Critique
GDashboards GrafanaD2343.000.1111.014.020.023.09.0+9.0
HIntégration E2EC, F, G35105.501.3623.028.523.028.50.0Critique
ITests & validationH2494.501.3628.533.028.533.00.0Critique
JDocumentation & soutenanceI2373.500.6933.036.533.036.50.0Critique

3. Réseau PERT (AON)

Activité sur les nœuds — flèches = précédences

Activité non-critique Activité critique
A Achat matériel ES 0 EF 5.5 tₑ 5.5 LS 0 LF 5.5 B Câblage ES 5.5 EF 9.0 tₑ 3.5 LS 11.0 LF 14.5 D Infra Docker ES 5.5 EF 11.0 tₑ 5.5 LS 5.5 LF 11.0 C Firmware ES 9.0 EF 17.5 tₑ 8.5 LS 14.5 LF 23.0 E Config NiFi ES 11.0 EF 15.5 tₑ 4.5 LS 11.0 LF 15.5 G Grafana ES 11.0 EF 14.0 tₑ 3.0 LS 20.0 LF 23.0 F Job PyFlink ES 15.5 EF 23.0 tₑ 7.5 LS 15.5 LF 23.0 H Intégration E2E ES 23.0 EF 28.5 tₑ 5.5 LS 23.0 LF 28.5 I Tests & valid. ES 28.5 EF 33.0 tₑ 4.5 LS 28.5 LF 33.0 J Soutenance ES 33.0 EF 36.5 tₑ 3.5 LS 33.0 LF 36.5

4. Diagramme de Gantt

Échelle : 1 unité = 1 jour ouvré · barres pleines = durée espérée · zone hachurée = marge totale

Activité critique Activité non-critique Marge totale
0 4 8 12 16 20 24 28 32 36 40 T = 36.5 délai 40 j A · Achat matériel 5.5 j B · Câblage 3.5 j · marge 5.5 C · Firmware ESP32 8.5 j · marge 5.5 D · Infra Docker k3d 5.5 j E · Config NiFi 4.5 j F · Job PyFlink 7.5 j G · Dashboards Grafana 3.0 j · marge 9.0 H · Intégration E2E 5.5 j I · Tests & validation 4.5 j J · Documentation 3.5 j

5. Analyse probabiliste

Durée espérée par activité
tₑ = (O + 4·M + P) / 6

Variance par activité
σ²ᵢ = ((P − O) / 6)²

Variance projet (somme sur le chemin critique)
σ²proj = Σ σ²ᵢ = 1.36 + 1.36 + 1.36 + 2.25 + 1.36 + 1.36 + 0.69 = 9.75 j²

Écart-type projet
σproj = √9.75 ≈ 3.12 j

Probabilité de tenir 40 jours
z = (40 − 36.5) / 3.12 ≈ 1.12
P(T ≤ 40) = Φ(1.12) ≈ 86.9 %

Délai à 95 % de confiance
x₉₅ = T + 1.645·σ = 36.5 + 1.645·3.12 ≈ 41.64 j

Lecture managériale

Le pilote SmartTex Morocco 4.0 tient l’échéance de 40 jours avec ≈ 87 % de probabilité, mais retomber à un risque acceptable (5 %) demande ≈ 41.6 jours, soit une marge contractuelle de l’ordre de +5 jours au-delà de la durée espérée.

Les activités A, D, E, F, H, I, J n’ont aucune marge : tout retard s’y propage 1-pour-1 dans la livraison finale. Les mitigations doivent cibler en priorité :

  • F · Job PyFlink — plus forte variance (σ² = 2.25), levier principal de réduction du risque global.
  • A · Achat matériel — risque externe (délai fournisseur), à dé-risquer par commande anticipée.
  • D → E · Stack data — préparer images Docker et flow NiFi en parallèle de B/C pour conserver la marge actuelle de B et C.