Journal des versions
Chaque livraison est datée et versionnée : ce qui est ajouté, modifié ou cassé, et les actions à faire sur le serveur.
1.2.0 · 19 octobre 2026
Ajouté
- Chargement manuel dans l'écran Camion (« Je place moi-même ») : bac des palettes à placer, glisser-déposer sur le plancher (souris, doigt ou clavier), pose à la première place libre d'un toucher, aimantation aux parois et aux palettes voisines, gerbage en lâchant une palette sur une pile, rotation, dépilage, retour au bac, reprise du plan automatique pour l'ajuster. Les contrôles (chevauchement, débordement, gerbage, hauteur, ordre de livraison) sont faits par le moteur ; un placement impossible est refusé avec sa raison. Les indicateurs, alertes, numéros et l'écran Quai suivent la disposition manuelle.
- Guide de démarrage à la première ouverture (et bouton Guide) : les trois étapes et trois façons de commencer.
- Bulles d'aide « ? » sur les termes du métier (couchable, débord, gerbable, arrêt, jeu, gerbage max, charge utile…).
- Bandeau d'étape en tête de chaque écran, onglets numérotés avec le nombre de palettes et d'emplacements, bouton « Étape 3 : préparer au quai ».
- Lignes de chargement compactes : résumé lisible, quantité en − / +, détail à la demande, duplication, suppression avec Annuler.
- Moteur :
TruckPlanner::evaluate()/evaluateLayout()(jumeaux PHP et JS), couverts par les tests unitaires, la parité (125 chargements manuels aléatoires) et un scénario navigateurtests/manual-ui.php.
Modifié
- Sorties du plan (outil et API) : nouveaux champs
mode(auto),placements[].stack.unitKeys(identifiant de chaque palette unitaire, « id de ligne # rang »),placements[].issues(vide en automatique) etoverflow[].unitKey. Aucun champ existant ne change. - Le texte de l'alerte de palettes non chargées et le nombre total de palettes ne changent pas.
1.1.1 · 19 octobre 2026
Ajouté
- Mentions légales (
/mentions-legales), en pied de page de la vitrine et de l'outil : éditeur et hébergeur (VOZit), données personnelles traitées et leur conservation, cookies et stockage local (uniquement techniques), propriété intellectuelle. Liens depuis le formulaire de demande d'accès et la page de connexion.
Reste à compléter
- Mentions obligatoires non encore fournies : forme juridique et capital, adresse du siège, numéro SIREN / RCS, directeur de la publication et contact direct de l'éditeur ; adresse et téléphone de l'hébergeur. À ajouter dans
views/site/legal.php.
1.1.0 · 19 octobre 2026
Ajouté
- Site vitrine à la racine du site : présentation des trois écrans, des règles de calcul, de l'usage au quai et de l'API, questions fréquentes. Captures réelles de l'outil, sans tarif ni référence client.
- Demande d'accès (
/demande-acces) : formulaire de contact enregistré dans l'administration, protégé contre les robots (champ piège, 5 demandes par heure et par connexion). - Comptes utilisateurs : rôle « utilisateur » (outil seul) ou « administrateur » (outil et administration). Gestion dans Administration › Utilisateurs : création avec mot de passe généré, nouveau mot de passe, désactivation, changement de rôle, suppression.
- Administration › Demandes : liste des demandes reçues, création du compte en un clic depuis une demande.
- Mon compte (
/compte) : changement de mot de passe ; les autres appareils sont alors déconnectés. - Rester connecté 30 jours sur un appareil (tablette de quai), avec jeton renouvelé à chaque usage et invalidé en cas de rejeu.
- Protection contre les essais de mots de passe : 10 échecs par adresse IP sur 15 minutes, puis blocage temporaire.
sitemap.xmlet métadonnées de partage (Open Graph) pour la vitrine.
Modifié
- L'outil passe de
/à/appet exige une connexion. Les anciens favoris sur la racine arrivent sur la vitrine, qui propose « Se connecter ». - Les liens de plans partagés
/p/{id}exigent aussi une connexion : le lien seul ne suffit plus pour voir un plan. - Une seule page de connexion,
/connexion, pour l'outil et l'administration (/admin/connexiony redirige). - L'application installée (PWA) s'ouvre sur
/app. Le service worker passe en version 2 et ne met en cache que les pages ouvertes connecté. - Captures du guide et de la vitrine :
php bin/make-doc-shots.php(remplacebin/make-doc-shots.sh).
À faire sur le serveur
php bin/install.php(ajoute les colonnesroleetactiveaux utilisateurs, et les tablesremember_tokens,login_attempts,access_requests).- Les administrateurs existants doivent avoir le rôle
admin:php bin/create-admin.php email "Nom"le rétablit si besoin.
1.0.0 · 19 octobre 2026
Première version de production, reconstruite d'après la fiche technique « Plan de charge » du 19/10/2026 et son prototype. En cas d'écart, la fiche fait foi.
Ajouté
- Outil en trois écrans : Palettisation, Camion et Quai, recalculés à chaque saisie, sans bouton « Calculer ». Saisies conservées dans le navigateur et restaurées à l'ouverture.
- Moteur de calcul en deux jumeaux : PHP côté serveur (API) et JavaScript côté navigateur (calcul instantané, hors connexion). Ils donnent les mêmes résultats au chiffre près : 500 cas aléatoires sont comparés à chaque test.
- API REST v1 avec clés d'API : palettisation, plan de chargement (palettes prêtes ou commandes de colis palettisées à la volée), plans enregistrés avec lien partageable
/p/{id}, référentiels. Contrat OpenAPI sur/api/v1/openapi.json. - Back-office
/admin: clés d'API (création, révocation), référentiels véhicules et palettes modifiables, seuils d'alerte de répartition, plans enregistrés, journal des appels. - Application installable (PWA) : utilisable sur tablette au quai, y compris hors connexion après une première visite.
- Thème clair, sombre ou automatique, contraste AA, écran Quai à grands chiffres, impression du plan et de l'ordre de chargement.
- Adresse de l'écran dans l'URL (
#palettisation,#camion,#quai) pour partager un lien direct. - Documentation : guides utilisateur, administrateur, développeur et API, en ligne sur
/aide.
Écarts volontaires avec le prototype
- Total de palettes demandées : le prototype comptait deux fois les palettes refusées pour « manque de place » (34 palettes affichées « 33 / 35 »). Corrigé : « 33 / 34 ».
- « Ajouter au camion » : la hauteur et le poids des palettes sont arrondis au dixième (164,4 cm) et non plus à l'unité (164 cm), pour ne pas fausser le gerbage.
- Libellé « centre de gravité » sous le plan du plancher : il n'est plus coupé.
- Jauges : seuils exactement ceux de la fiche §6.1 (orange ≥ 95 % / rouge > 100 % pour la longueur, ≥ 90 % / > 100 % pour le poids, ≥ 95 % plancher, ≥ 90 % volume).
- Messages d'erreur de palettisation plus précis : hauteur max inférieure à l'épaisseur de la palette, poids max inférieur à la tare, colis trop haut, colis trop lourd.
- Plan « mixte » : affiché seulement si la couche combine réellement deux sens de colis.
À faire sur le serveur
- Installation initiale :
php bin/install.php, puisphp bin/create-admin.php email "Nom"(voir le guide développeur).
Questions ouvertes (fiche §8.4)
- Liste et cotes exactes des véhicules de la flotte : à saisir dans Administration › Référentiels.
- Seuils d'alerte de répartition validés par l'exploitation : à saisir au même endroit (30 %, 65 % et 5 % par défaut).
- Accès multi-utilisateurs : en V1, l'outil est en accès libre et chaque poste garde ses propres saisies ; seuls les plans créés par l'API sont partagés.