6.5 KiB
6.5 KiB
Changelog
[1.8.1] - 2026-03-05
Ajouts
- Composant DataTable generique : nouveau composant
DataTable.vue+ composableuseDataTable.tsavec tri, recherche, pagination et filtres server-side. Toutes les pages catalogue (composants, pieces, produits, documents, constructeurs, commentaires, journal d'audit, admin) migrees vers ce composant partage. - Messages d'erreur humanises : les erreurs backend (violations de contraintes, erreurs serveur) sont desormais traduites en messages comprehensibles pour l'utilisateur final (
errorMessages.ts). - Icones Lucide dans la navbar : reorganisation des groupes de navigation et ajout d'icones pour chaque section.
- Modal d'ajout d'entites aux machines (
AddEntityToMachineModal.vue) : ajout direct de composants, pieces et produits depuis la fiche machine. - Filtres SearchFilter ipartial sur les noms de types de modeles et commentaires cote API.
Refactoring
- Suppression du systeme TypeMachine (squelettes machines) : les entites
TypeMachine,TypeMachineComponentRequirement,TypeMachinePieceRequirement,TypeMachineProductRequirementsont supprimees avec leurs repositories et state processors. Les champs personnalises machines sont desormais lies directement a chaque machine (relationCustomField → Machine). - Suppression des pages squelettes machines : pages
/machine-skeleton,/type/[id],/type/edit/[id]et tous les composants associes (TypeEditForm,MachineSkeletonSummary,MachineCreatePreview, selectors de requirements,useMachineTypesApi,useMachineSkeletonEditor,useMachineCreateSelections,useMachineCreatePreview). - Simplification de la creation de machines : plus besoin de selectionner un squelette, ajout direct de composants/pieces/produits.
- Refactoring MachineStructureController : remplacement de
MachineSkeletonControllerparMachineStructureControlleravec gestion directe de la structure machine. - Migration de toutes les tables vers DataTable : suppression du code de tableau duplique dans chaque page au profit du composant generique.
Corrections
- Suppression catalogue avec confirmation : la suppression d'une piece ou d'un composant dans le catalogue affiche desormais une modale de confirmation listant les elements qui seront supprimes en cascade (documents, liaisons machine, valeurs de champs personnalises) au lieu de bloquer la suppression.
- Fix affichage categorie sur les pages edit : les categories (produit, composant, piece) s'affichent correctement sur les pages d'edition au lieu de "Categorie inconnue". Cause : import
Serializer\Annotation\Groupsobsolete dansModelType(remplace parAttribute\Groupspour Symfony 8) + groupes de serialisation manquants (product:read,composant:read,piece:read). - Fix import
Serializer\Annotation\Groups→Attribute\GroupsdansProfile. - Fix filtre
SearchFilter:partial→ipartialsurComment.entityNameetDocument.name/Document.filenamepour recherche insensible a la casse.
Migration requise
docker compose exec web php bin/console doctrine:migrations:migrate
[1.8.0] - 2026-03-03
Ajouts
- Stockage documents sur disque : les documents sont desormais stockes en fichiers sur le systeme de fichiers au lieu de Base64 en base de donnees. Les endpoints
/api/documents/{id}/fileet/api/documents/{id}/downloadservent les fichiers directement. - Commande de migration
app:migrate-documents-to-filesystem: migre les documents existants (Base64 → fichiers) avec dry-run, batch-size et limit. - Pagination serveur sur la page Documents : recherche, tri (date/nom/taille), filtre par rattachement (site/machine/composant/piece/produit), selecteur par page (20/50/100).
- Compression PDF automatique : les documents PDF uploades sont compresses automatiquement via Ghostscript. Commande
app:compress-pdfpour compresser les PDFs existants. - Nettoyage automatique des fichiers : suppression du fichier sur disque lors de la suppression d'un document.
- Champ description sur les entites Piece et Composant, visible dans les catalogues avec popover au survol.
Corrections
- Fix normalisation des documents :
fileUrletdownloadUrltoujours exposes dans l'API (meme sanspathdans le groupe de serialisation). - Fix recursion infinie dans
DocumentNormalizer(getSupportedTypesretournefalsepour desactiver le cache). - Fix edition de squelettes machines :
deserialize: false+validate: falsesur le PUT pour eviter le conflit UniqueEntity et l'interference du deserialiseur avec les collections writableLink. - Fix sites : ajout operation PATCH et correction migration contrainte.
- Retrocompatibilite : le controleur de service gere transparentement les anciens documents Base64 et les nouveaux fichiers.
Migration requise
docker compose exec php php bin/console doctrine:migrations:migrate
docker compose exec php php bin/console app:migrate-documents-to-filesystem
[1.7.0] - 2026-03-02
Ajouts
- Systeme de commentaires / tickets : les utilisateurs peuvent laisser des commentaires sur les fiches (machines, pieces, composants, produits, categories, squelettes). Les gestionnaires peuvent les resoudre.
- Page commentaires (
/comments) : vue centralisee avec filtres (statut, type d'entite), pagination et liens cliquables vers les fiches. - Badge notifications : compteur de commentaires ouverts sur l'avatar utilisateur et dans le menu profil (polling 60s).
- Controle d'acces par roles : ROLE_ADMIN, ROLE_GESTIONNAIRE, ROLE_VIEWER avec permissions granulaires sur toutes les pages.
- Badge de role dans le dropdown du profil utilisateur.
- Journal d'audit etendu : audit logging sur machines, constructeurs, types de modeles, documents et conversions.
- Commande
app:init-profile-passwords: initialisation en masse des mots de passe et roles.
Corrections
- Toggle switch pour les champs personnalises booleens (remplace les checkboxes).
- Recherche constructeur : filtrage cote client au lieu d'appels API debounce.
- Prevention des doublons de noms de constructeurs et de references de pieces (contraintes unique).
- Fix creation de squelettes machines : pagination, duplication, champs personnalises.
Migration requise
docker compose exec php php bin/console doctrine:migrations:migrate
docker compose exec php php bin/console app:init-profile-passwords
[1.6.0] - 2026-02-12
- Version initiale avec gestion du parc machines, pieces, composants, produits et categories.