From 4192c7cbf9a38125075a4e6e3c24ded8a2346506 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sat, 20 Jun 2026 19:00:10 +0100 Subject: [PATCH] doc cleanup --- doc/Dictionnaire.md | 3 - doc/challenges/2026-06-14-trunk-cleanup.md | 424 --------------------- doc/doct/ùd | 0 3 files changed, 427 deletions(-) delete mode 100644 doc/challenges/2026-06-14-trunk-cleanup.md delete mode 100644 doc/doct/ùd diff --git a/doc/Dictionnaire.md b/doc/Dictionnaire.md index 970ed8c7..e60e9533 100644 --- a/doc/Dictionnaire.md +++ b/doc/Dictionnaire.md @@ -9,12 +9,9 @@ c'est un instantané, pas une référence vivante. ## Règle de résolution - Un projet hérite des dictionnaires de son activité et de tous ses ancêtres jusqu'à la racine. - - Ainsi, les termes juridiques sont toujours disponibles, quel que soit le domaine du projet. diff --git a/doc/challenges/2026-06-14-trunk-cleanup.md b/doc/challenges/2026-06-14-trunk-cleanup.md deleted file mode 100644 index 9e8baa0d..00000000 --- a/doc/challenges/2026-06-14-trunk-cleanup.md +++ /dev/null @@ -1,424 +0,0 @@ -# Défi : aligner `main` sur l'intention trunk + nettoyage CSS/JS - -> Énoncé : 2026-06-14, par Paul Schneider. -> Statut : **ouvert**. - -## Énoncé - -Atteindre, sur la branche `main` et en mode trunk, l'état -intentionnel qui a déjà opéré sur la branche `themeok` (la -référence). Concrètement : - -1. **Libérer le dépôt de son code inutile** : retirer les assets - vendor non utilisés (Quill, dropzone.min.css, jquery-ui si plus - personne ne s'en sert, etc.) et tout ce qui n'est référencé - nulle part dans le code applicatif. - -2. **Bien nettoyer le CSS et le JS** : déplacer les vendor libs - sous un régime cohérent (npm + esbuild), arrêter le - double-tracking (fichiers versionnés + bundles esbuild), poser - des conventions claires. - -3. **À minima, ne pas casser** le JS et le CSS de - `_Layout.cshtml`. C'est l'invariant non-négociable. - -4. **Introduire immédiatement** des tests d'UI automatisés pour - servir de garde-fou contre la régression, à chaque commit. - -## Pourquoi maintenant - -`themeok` est devenu, dans la pratique, la branche de référence -pour le look et le comportement front. `main` n'a pas reçu les -commits correctifs de `themeok`, et son état est plus dégradé -(caches navigateur, état runtime, scripts inline qui plantent sur -du contenu vide). - -Tant que la divergence existe, on risque de : -- cherry-picker à la main en ratant un commit, -- ne pas voir une régression front parce qu'on ne teste pas en - navigateur, -- accumuler de la dette visuelle sur `main` jusqu'à un point de - non-retour. - -## État actuel - -### `themeok` (référence, à 4 commits devant `main`) - -``` -ec8fd4b6 fix(cookies): set Identity cookies to SameSite=Lax in dev -76fef567 chore: remove Quill -379413f3 chore: snapshot of themeok branch as visual reference -d71490f5 chore: stop tracking vendor lib files -31906a78 WIP : Js and css cleanup ← point de départ du WIP -30587248 ← ancêtre commun avec main -``` - -État du working tree : propre. `dotnet test` : 11/11 verts. -Serveur dev local démarre sans warning (à part le certificat -HTTPS de dev non trusted, sans gravité). - -### `main` (à remettre au niveau) - -``` -2a9760ca docs: roadmap à jour, archive TODO.fr -8f768240 WIP: refactoring pour déploiement -30587248 ← même ancêtre commun -``` - -État runtime connu : **look catastrophique** sur -`http://localhost:5000`. Diagnostic (cf. -[§ Résultats du diagnostic](#résultats-du-diagnostic)) : -- Le HTML est rendu correctement, toutes les CSS et JS sont - servies en HTTP 200. -- Le "look catastrophique" vient du **contenu vide** (Home/Index - n'a aucune section) et d'une **erreur JS** dans un script - inline qui plante quand le carousel est vide. - -### `refac/js-bundle` (suspendue) - -``` -fad7fc8d refac: remove jQuery + jQuery UI imports from datetime -79658c84 refac: remove vendor imports from chat entry -6455178b refac: load jQuery + Bootstrap as global scripts in _Layout -ed7522c5 fix: drop nuget bootstrap and popper.js, npm bundles -196f4b0b chore: gitignore node_modules, build/, wwwroot/lib -``` - -Trois commits de migration jQuery-en-script-global. **Pas encore -fusionnés dans `themeok` ni dans `main`**. À intégrer dans le -plan, mais pas en première priorité. - -## Résultats du diagnostic - -Reproduit en worktree `~/Workspace/yavsc-main/` sur branche -`diag/main` (basée sur `main@2a9760ca`). - -### Procédure - -```bash -git worktree add -b diag/main ../yavsc-main main -cp ~/Workspace/yavsc/.env ~/Workspace/yavsc-main/.env -# Forcer le port : appsettings de main contient -# "Kestrel.Endpoints.Http.Url": "http://localhost:3002" qui entre -# en conflit avec le port 5000 du dev settings. Override par env : -cd ~/Workspace/yavsc-main/src/Yavsc.Org -Kestrel__Endpoints__Http__Url=http://localhost:5060 \ -Kestrel__Endpoints__Https__Url=https://localhost:5061 \ -ConnectionStrings__YavscConnection="Server=localhost;Port=5432;Database=yavscdev;Username=yavscdev;Password=***" \ -ASPNETCORE_ENVIRONMENT=Development \ -dotnet bin/Debug/net10.0/Yavsc.Org.dll -``` - -> **Note de Paul** : la procédure d'install / dev principale -> est en fait `cd contrib; make reinstall` (qui build en -> Release, copie vers `/srv/www/yavsc/`, et gere le service -> systemd `yavscOrg` sur port 3002). Le `dotnet run` direct -> n'est qu'un raccourci de debug. Le diagnostic ci-dessus a -> été fait en `dotnet run` sur un port libre (5060) parce que -> le port 3002 etait deja occupe par le service systemd -> existant. - -### Fichiers servis (HTTP 200, taille correcte) - -| URL | Code | Taille | -|--------------------------------------------------|------|---------| -| `/lib/jquery-ui/jquery-ui.min.css` | 200 | 30770 | -| `/lib/bootstrap.quartz.min.css` | 200 | 244113 | -| `/css/site.css` | 200 | 3009 | -| `/lib/jquery-ui/external/jquery/jquery.js` | 200 | 285314 | -| `/lib/jquery-ui/jquery-ui.js` | 200 | 521054 | -| `/lib/bootstrap/dist/js/bootstrap.bundle.min.js` | 200 | 80721 | -| `/js/site.js` | 200 | 364 | -| `/lib/bootstrap/js/carousel.js` | 200 | 7141 | - -### HTML rendu (extrait du ``) - -```html - - -
- -
- - -``` - -### Cause racine - -1. Le HTML est structurellement correct : navbar Bootstrap 5 - `bg-dark`, carousel Bootstrap 4 (`data-ride`), container - Bootstrap. Toutes les CSS et JS sont chargées. - -2. Le **carousel est vide** (`