{
  "slug": "fifo-kanban",
  "nom": "FIFO et Kanban",
  "numero": 43,
  "scenario_id": "CAS-FLUX",
  "question": "Quelles limites et règles de libération tester pour rendre l'encours visible ?",
  "consigne": "Dimensionner une proposition initiale et décrire les exceptions FIFO avant de l'appliquer.",
  "etapes": [
    "Définir la boucle de dossiers identifiés et l'unité commande.",
    "Convertir 50 commandes/450 min en demande par minute et appliquer le délai de 45 min.",
    "Appliquer facteur 1,2 et deux emplacements par support, arrondir au supérieur.",
    "Tester trois cartes/six commandes et tracer urgences, ruptures et délai réellement observé."
  ],
  "entrees": [
    "flux_boucle_kanban",
    "flux_file_fifo",
    "flux_capacite"
  ],
  "resultat_pedagogique": "Le calcul initial est plafond[(50/450)×45×1,2/2]=3 cartes, donc 6 commandes au maximum dans cette boucle de dossiers. La file exemplaire fait passer une urgence autorisée avant les autres sans changer leur ordre relatif. Ce dimensionnement est une hypothèse à tester, pas une garantie de service.",
  "livrables": [
    "Règle FIFO et exceptions",
    "Boucle Kanban dimensionnée et protocole d'essai"
  ],
  "vigilance": [
    "Ne pas mélanger les contenus physiques de commandes sous prétexte de support commun.",
    "Les contraintes de péremption et traçabilité priment sur un FIFO aveugle.",
    "Le délai de réapprovisionnement et les ruptures doivent être mesurés en essai; une marge arbitraire ne les supprime pas."
  ],
  "lecons": [
    "choisir-outils-amelioration"
  ],
  "phases": [
    "analyser",
    "ameliorer",
    "controler"
  ],
  "statut_donnees": "entierement_synthetiques",
  "scenario": {
    "id": "CAS-FLUX",
    "nom": "Comprendre les attentes et déplacements",
    "perimetre": "Préparation à expédition ; fabrication et cuisson exclues",
    "debut": "2026-03-09",
    "fin": "2026-03-13",
    "statut": "Autre cohorte synthétique de 20 commandes, étude de temps et de flux"
  },
  "tables": {
    "flux_boucle_kanban": [
      {
        "id": "KB-01",
        "scenario_id": "CAS-FLUX",
        "boucle": "Libération des dossiers identifiés vers la cellule de préparation",
        "demande_commandes_jour": 50,
        "temps_disponible_min_jour": 450,
        "delai_reappro_min": 45,
        "facteur_securite": 1.2,
        "capacite_commande_par_support": 2,
        "nombre_cartes_propose": 3,
        "encours_max_propose": 6,
        "signal": "Un support vidé autorise deux nouveaux dossiers identifiés séparément; ne jamais mélanger le contenu de commandes.",
        "regle_exception": "Chef d'équipe autorise et trace l'urgence; pas de priorité tacite. Contraintes de péremption et traçabilité restent prioritaires.",
        "statut": "hypothese_a_tester"
      }
    ],
    "flux_file_fifo": [
      {
        "id": "FI-1",
        "arrivee_ordre": 1,
        "commande_repere": "FICTIVE-FIFO-1",
        "urgence_autorisee": 0,
        "sortie_proposee_rang": 2,
        "motif": "ordre d'arrivée, après l'urgence tracée"
      },
      {
        "id": "FI-2",
        "arrivee_ordre": 2,
        "commande_repere": "FICTIVE-FIFO-2",
        "urgence_autorisee": 0,
        "sortie_proposee_rang": 3,
        "motif": "ordre d'arrivée, après l'urgence tracée"
      },
      {
        "id": "FI-3",
        "arrivee_ordre": 3,
        "commande_repere": "FICTIVE-FIFO-3",
        "urgence_autorisee": 0,
        "sortie_proposee_rang": 4,
        "motif": "ordre d'arrivée, après l'urgence tracée"
      },
      {
        "id": "FI-4",
        "arrivee_ordre": 4,
        "commande_repere": "FICTIVE-FIFO-4",
        "urgence_autorisee": 1,
        "sortie_proposee_rang": 1,
        "motif": "urgence client autorisée et tracée"
      },
      {
        "id": "FI-5",
        "arrivee_ordre": 5,
        "commande_repere": "FICTIVE-FIFO-5",
        "urgence_autorisee": 0,
        "sortie_proposee_rang": 5,
        "motif": "ordre d'arrivée, après l'urgence tracée"
      },
      {
        "id": "FI-6",
        "arrivee_ordre": 6,
        "commande_repere": "FICTIVE-FIFO-6",
        "urgence_autorisee": 0,
        "sortie_proposee_rang": 6,
        "motif": "ordre d'arrivée, après l'urgence tracée"
      }
    ],
    "flux_capacite": [
      {
        "id": "CAP-MOY",
        "scenario_id": "CAS-FLUX",
        "scenario": "demande moyenne",
        "demande_commandes_jour": 50,
        "effectif_habilite": 1,
        "poste_brut_min": 480,
        "pause_planifiee_min": 30,
        "autres_indisponibilites_min": 0,
        "travail_unitaire_min": 8.0,
        "statut": "hypothese_dimensionnement"
      },
      {
        "id": "CAP-POINTE",
        "scenario_id": "CAS-FLUX",
        "scenario": "pointe de demande",
        "demande_commandes_jour": 65,
        "effectif_habilite": 1,
        "poste_brut_min": 480,
        "pause_planifiee_min": 30,
        "autres_indisponibilites_min": 0,
        "travail_unitaire_min": 8.0,
        "statut": "hypothese_dimensionnement"
      },
      {
        "id": "CAP-FORM",
        "scenario_id": "CAS-FLUX",
        "scenario": "demande moyenne et formation",
        "demande_commandes_jour": 50,
        "effectif_habilite": 1,
        "poste_brut_min": 480,
        "pause_planifiee_min": 30,
        "autres_indisponibilites_min": 60,
        "travail_unitaire_min": 8.0,
        "statut": "hypothese_dimensionnement"
      }
    ]
  },
  "resultats": [
    {
      "boucle": "Libération des dossiers identifiés vers la cellule de préparation",
      "demande_commandes_jour": 50,
      "temps_disponible_min_jour": 450,
      "delai_reappro_min": 45,
      "facteur_securite": 1.2,
      "capacite_commande_par_support": 2,
      "nombre_cartes_propose": 3,
      "encours_max_propose": 6,
      "signal": "Un support vidé autorise deux nouveaux dossiers identifiés séparément; ne jamais mélanger le contenu de commandes.",
      "regle_exception": "Chef d'équipe autorise et trace l'urgence; pas de priorité tacite. Contraintes de péremption et traçabilité restent prioritaires."
    }
  ],
  "preuves": [
    {
      "id": "FLX-KANBAN",
      "scenario_id": "CAS-FLUX",
      "type": "hypothese_dimensionnement",
      "titre": "Dimensionnement initial de la boucle",
      "description": "Hypothèses: 50 commandes/jour, 450 min utiles/jour, délai de boucle 45 min, facteur 1,2 et deux emplacements de dossiers par support. Trois cartes proposent six commandes maximum. Le dimensionnement exige un essai et la mesure des ruptures.",
      "statut": "hypothese",
      "date": "2026-04-27"
    },
    {
      "id": "FLX-DEMANDE",
      "scenario_id": "CAS-FLUX",
      "type": "hypothese_dimensionnement",
      "titre": "Demande et disponibilité de la cellule",
      "description": "Hypothèse cohérente avec 1 000 commandes en 20 jours ouvrés: 50/jour. Une cellule et un opérateur habilité, 480 minutes moins 30 de pause. Les temps observés ne sont pas une norme; aléas et pointes doivent être testés.",
      "statut": "hypothese",
      "date": "2026-03-13"
    }
  ],
  "colonnes": {
    "flux_boucle_kanban": [
      {
        "name": "id",
        "type": "TEXT",
        "not_null": true
      },
      {
        "name": "scenario_id",
        "type": "TEXT",
        "not_null": true
      },
      {
        "name": "boucle",
        "type": "TEXT",
        "not_null": true
      },
      {
        "name": "demande_commandes_jour",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "temps_disponible_min_jour",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "delai_reappro_min",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "facteur_securite",
        "type": "REAL",
        "not_null": true
      },
      {
        "name": "capacite_commande_par_support",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "nombre_cartes_propose",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "encours_max_propose",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "signal",
        "type": "TEXT",
        "not_null": true
      },
      {
        "name": "regle_exception",
        "type": "TEXT",
        "not_null": true
      },
      {
        "name": "statut",
        "type": "TEXT",
        "not_null": true
      }
    ],
    "flux_file_fifo": [
      {
        "name": "id",
        "type": "TEXT",
        "not_null": true
      },
      {
        "name": "arrivee_ordre",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "commande_repere",
        "type": "TEXT",
        "not_null": true
      },
      {
        "name": "urgence_autorisee",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "sortie_proposee_rang",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "motif",
        "type": "TEXT",
        "not_null": true
      }
    ],
    "flux_capacite": [
      {
        "name": "id",
        "type": "TEXT",
        "not_null": true
      },
      {
        "name": "scenario_id",
        "type": "TEXT",
        "not_null": true
      },
      {
        "name": "scenario",
        "type": "TEXT",
        "not_null": true
      },
      {
        "name": "demande_commandes_jour",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "effectif_habilite",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "poste_brut_min",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "pause_planifiee_min",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "autres_indisponibilites_min",
        "type": "INTEGER",
        "not_null": true
      },
      {
        "name": "travail_unitaire_min",
        "type": "REAL",
        "not_null": true
      },
      {
        "name": "statut",
        "type": "TEXT",
        "not_null": true
      }
    ]
  }
}
