Basculer sur architecture single page app pour pouvoir intégrer les futures pages et améliorer l'ux lors du passage carte<->diag
Fait :
- un composant high level pour piloter l'affichage des pages (CraterApp.ts).
- Utilisation de la lib pagejs pour faire le routage. Quand on peut on utilise directement des a href="xxx"> qui sont interceptés par pagejs
- un composant par page dans le dossier /page
- pour PageCarte et PageDiagnostic : le composant gère le cycle de vie en cohérence avec l'affichage fait par lit (voir les méthodes updated)
- utilisation sytématique du shadow dom (pour les pages et les chapitres), sinon conflits de css lors du chargement de plusieurs pages successives
- suppression des fichiers plus utiles : main-xxx.ts, Afficheur.ts...
RAF :
- éviter le réaffichage complet de la page (notament du menu haut de page) lors d'un passage diag vers carte ou inversement
- nettoyage des css + les rapprocher de leur composant (code mort +redondance) => a faire lors de la refonte
- réorganiser les dossiers src pour plus de clarté (voir doc sur le nuage) + finir d'ajustement les noms (pour la carte notamment, on a 2 fichiers PageCarte, un pour le domaine et un pour la PageCarte)
- simplifications possibles pour passer les données aux différents composants : accéder directement à l'objet SA (plus de passage en paramètre), + utiliser la syntaxe litelement pour passer directement les objets aux composants enfants dans le render (voir https://lit.dev/docs/templates/expressions/#property-expressions)
- les méthodes des controleurs retournent sytématiquement un nouvel objet (plutot que de modifier l'existant, pattern immutable) => permet de ne plus avoir a appeler le requestUpdate. Voir https://lit.dev/docs/components/properties/#mutating-properties
- mieux gérer les cas ou l'url est mal formée : par exemple si l'id indicateur passé en paramètre pour la carte est inconnue, afficher le premier indicateur ? ou bien message d'erreur ?
- valider la nouvelle conf apache (a tester sur dev quand on aura mergé)
Edited by Lionel