← Chargement Camion 📋 Cas d'usage © EULA

📖 Glossaire

Empilable — d'autres palettes peuvent être posées sur cette palette. Poids max supporté dessus — poids total que la palette peut porter au-dessus d'elle ; à 0, rien n'est empilé dessus même si "Empilable" est coché (valeur prudente par défaut, jamais supposée). Rotation 90° — la palette peut être tournée à plat pour mieux s'ajuster à la largeur du camion (elle reste toujours debout, jamais couchée sur le côté). Priorité de déchargement — plus la valeur est basse, plus la palette sera déchargée tôt lors de la tournée ; en mode de tri "Ordre de déchargement", les priorités basses sont chargées en dernier (donc placées côté porte). Niveau — 0 = posé au sol, 1 = empilé sur une palette du niveau 0, etc.

🚀 Installer et lancer

Double-cliquez sur Lancer-Application.bat (ou directement sur index.html) — aucun serveur ni installation requise pour l'app elle-même.

🗺️ Comment c'est construit

Application HTML/JS locale, un seul fichier index.html (pas de build, pas de dépendance externe, pas de bibliothèque de bin-packing tierce). Le moteur de calcul (fonctions computePacking / computeMetrics) place les palettes au sol par une heuristique d'étagères (tri par encombrement décroissant, puis rangées successives le long du camion), puis empile ce qui reste, colonne par colonne, strictement à l'aplomb de la palette du dessous. Ce n'est pas un solveur d'optimisation global (pas d'OR-Tools) : c'est une heuristique simple, rapide et auditable — voir CONTEXTE.md pour la justification de ce choix et ses limites documentées.

📁 Les fichiers du dossier

index.html — l'application. eula.html — licence. help.html — cette page. CONTEXTE.md — historique des décisions. CHANGELOG.md — journal des évolutions. test_*.py — suite de non-régression. Lancer-Application.bat — lanceur.

✏️ Demander une modification à Claude Code

Décrivez le changement souhaité en langage naturel. Claude Code lit CONTEXTE.md et ../CLAUDE.md pour les conventions, édite index.html, relance test_*.py, puis journalise dans CHANGELOG.md.

✅ Tests de non-régression

Depuis ce dossier : python3 test_chargement_camion.py. Vérifie le manifeste de fichiers, l'absence de ressources externes, l'absence de secrets codés en dur, l'autonomie vis-à-vis des autres projets, et — via Node.js — le moteur de calcul réel sur des scénarios calculés à la main (sol exact, empilage, dépassement de capacité, limite de poids, rotation nécessaire, hauteur impossible, équilibre avant/arrière, les deux stratégies de tri).

🖱️ Vérification visuelle

Ouvrez index.html dans un navigateur, parcourez chaque onglet, vérifiez qu'aucun tableau/carte ne reste vide de façon inattendue.

🛠️ Dépannage

"Aucune orientation ne rentre" / palette signalée impossible — vérifiez si "Rotation 90°" est coché : certaines palettes ne rentrent que dans un sens. Beaucoup de palettes non placées alors que le camion semble avoir de la place — vérifiez la case "Empilable" et le "Poids max supporté dessus" (0 = rien ne peut être empilé, même si la palette du dessous est cochée "Empilable"). La page reste sur les valeurs par défaut au lancement — normal la première fois ; vos saisies sont ensuite conservées dans le navigateur (localStorage) d'une session à l'autre, sur ce poste.

🔒 Sécurité

Aucune donnée envoyée à un serveur distant ; tout reste local dans le navigateur (localStorage). Voir Charte_IA.md pour les règles d'usage de l'IA sur ce projet.