🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script UsineSmartphone.py (Core) + Modules plugins/
Version 1.0.0
Date de création 11/03/2026
Auteur / Demandeur IA Généré (Gemini)
Objectif principal Simuler et analyser les performances d’une ligne de production de smartphones via une architecture modulaire (OEE, Espace, Goulots, Qualité, Maintenance).
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce système orchestre un audit industriel complet. Un noyau central (MainFactoryCore) charge dynamiquement des modules de calcul (plugins). Chaque module analyse un aspect spécifique de la production (vitesse, rebuts, usure machine) et enrichit un dictionnaire de données global pour générer un rapport final détaillé.
📌 Problème résolu
Il permet de centraliser des calculs industriels complexes et interconnectés sans créer un code monolithique, facilitant l’ajout de nouveaux indicateurs (KPI) sans modifier le moteur principal.
⚙️ SPÉCIFICATIONS TECHNIQUES
📦 Dépendances / Librairies
Standard (built-in) : os, importlib, math, logging.
Externes : Aucune (pur Python 3.x).
🐍 Environnement
Version Python : 3.x
OS cible : Windows / Linux / MacOS
Mode d’exécution : CLI (Interface ligne de commande).
📥 ENTRÉES (INPUTS)
# Nom Type Obligatoire Description
1 temps_ouverture int ✅ Temps de travail total en minutes (ex: 480).
2 unites_produites int ✅ Nombre total de smartphones sortis de ligne.
3 rebuts int ✅ Nombre d’unités défectueuses.
4 temps_pannes int ✅ Temps d’arrêt non planifié en minutes.
📤 SORTIES (OUTPUTS)
📂 Fichiers / Données en sortie
Console (Log) : Affichage en temps réel des étapes de calcul de chaque module.
Rapport Final : Un dictionnaire data complet contenant les rapports rapport_m1 à rapport_m5.
🧱 STRUCTURE DU SCRIPT
Plaintext
UsineSmartphone.py (ou MainFactoryCore)
│
├── 📌 IMPORTS (os, importlib, logging)
├── 📌 CLASS MainFactoryCore
│ ├── __init__() → Initialise les données de base
│ ├── load_plugins() → Scan le dossier /plugins et importe les .py
│ └── run_production_analysis() → Exécute la boucle de calcul
│
└── 📂 plugins/
├── flux_temporel.py → [M1] Calcul OEE (Dispo/Perf/Qualité)
├── optimisation_espace.py → [M2] Rentabilité au m²
├── goulots_etranglement.py → [M3] Identification poste lent
├── gestion_qualite.py → [M4] Analyse des types de défauts
└── maintenance_predicte.py → [M5] Estimation d’usure
🔄 LOGIQUE / ALGORITHME
Initialisation : Chargement des données brutes (KPI de base).
Découverte : Le moteur liste les fichiers dans ./plugins.
Exécution Séquentielle :
M1 (Flux) : Calcule le score OEE (Efficacité Globale).
M2 (Espace) : Utilise le score M1 pour évaluer le rendement/m².
M3 (Goulots) : Identifie le poste limitant la cadence.
M4 (Qualité) : Croise les données de M3 pour voir si le goulot crée des défauts.
M5 (Maintenance) : Prédit la panne en fonction de la cadence de M1 et des défauts de M4.
Synthèse : Impression du rapport global consolidé.
🚨 GESTION DES ERREURS
Cas d’erreur Type d’exception Comportement attendu
Dossier plugins absent FileNotFoundError Création automatique ou Log d’erreur.
Module mal formé ImportError Log de l’erreur via logging.error, ignore le module.
Division par zéro ZeroDivisionError Géré par des conditions if total > 0 dans les modules.
✅ CONTRAINTES & RÈGLES MÉTIER
Règle 1 : Un module doit impérativement posséder une fonction analyser(data).
Règle 2 : Chaque module doit retourner le dictionnaire data (modifié ou enrichi).
Règle 3 : Le score OEE (M1) est la base de calcul pour la majorité des autres modules.
📝 EXEMPLE D’UTILISATION
▶️ Lancement
Bash
python UsineSmartphone.py
📋 Exemple de sortie attendue
Plaintext
🚀 Lancement de l’audit usine…
[M1] ⚙️ Analyse du Flux Temporel en cours…
-> Score OEE calculé : 82.5%
[M2] 📐 Analyse de l’Espace de Production…
-> Rendement spatial : 1.25 unités/m²
…
— RAPPORT FINAL D’USINE —
📊 RAPPORT_M1 : {‘score_oee’: ‘82.5%’, ‘etat_ligne’: ‘🟡 MOYEN’, …}
📊 RAPPORT_M5 : {‘etat_global_parc’: ‘URGENT’, ‘action_requise’: ‘Remplacement immédiat’}






Avis
Il n’y a pas encore d’avis.