- Register sync_teams_schedule in init_scheduled_tasks (daily at 04:00 local)
- Trigger sync_member_current_teams on mobile intervention list load
- Trigger sync_member_current_teams on user login signal
- Autoriser les modifications/suppressions de notes jusqu'au statut 'traité' pour les externes
- Autoriser les modifications/suppressions de notes jusqu'au statut 'validé' pour les internes
- Supprimer la contrainte horaire de 1h sur la modification des notes
- Brancher l'historisation de la chronologie sur la création et modification de notes mobile
- Tracer l'upload des photos de formulaires mobiles dans la chronologie
- Ajouter les tests unitaires et d'intégration correspondants
- Reprend le code visuel du stepper supérieur pour les transitions de statut dans l'historique
- Affiche une boule colorée avec le numéro canonique (1 à 15) et le libellé sous chaque statut
- Aligne la flèche de transition au centre des cercles
- Ajuste les contrastes de texte (noir/blanc) selon la luminosité du statut
- Assign fixed 115px width to all status badges for vertical alignment of transitions
- Unify left event badge width to 85px for a clean tabular layout
- Use purple (#6f42c1) for the 'Statut' badge and node icon to avoid visual collision with status colors
- Update timeline unit tests accordingly
- Add 'note', 'document', and 'link' event types to InterventionTimeLine
- Record timeline events for note additions/edits/deletions (standalone and batch)
- Record document uploads and deletions (desktop and mobile APIs)
- Record asset linking/unlinking with friendly names and linked interventions
- Display detailed items exclusively in the toggleable "Historique complet" view
- Maintain shortname display for all event authors
- Update and compile FR, EN and NL translation catalogs
- Add comprehensive test coverage for all new timeline event records
- Ajout des types d'événements 'assignment' et 'modification' sur InterventionTimeLine
- Enregistrement des attributs modifiés (field_changes JSON) et des descriptions d'événements
- Création du service InterventionChangeTracker pour historiser les changements de champs et d'assignations
- Refonte visuelle de card_chronologie avec vue par défaut (statuts + assignations) et bascule vers l'historique complet
- Préservation des shortnames pour tous les auteurs des modifications
- Ajout des traductions i18n et de tests unitaires dédiés
- Isoler la météo au niveau de la zone GIEP globale
- Structurer chaque ouvrage : Conformité, Photos dédiées, Formulaire technique, Remarques
- Lier les photos aux ouvrages via field_key et auto-consolider statut et remarques
- Enrichir l'affichage de consultation et ajouter la suite de tests unitaires
- Recognize combined 'bF' phases as cyclo-piétons with appropriate 2V200 cyclo-piéto model
- Improve lantern match scoring to pair LANxx_bF with existing LANxx lanterns on multi-lantern poles
- Normalize lantern model matching between Excel deduction and DB names
- Propose 'keep' by default for STIB tram detector loops ('dT') absent from the cross plan
- Add unit tests for cyclo-piéton deduction, lantern matching and STIB detector preservation