1- ✅ Refondre la structure/config des templates : wrapper implicite (`defaultWrapper`), layouts explicites (`defaultLayout`, `indexLayout`), fallback site > tool, logs du wrapper/layout retenus.
2- ✅ Fournir des templates par défaut (wrapper + layouts) minimalistes, avec partials header et footer.
3- ✅ Générer un index minimal (listing) pour racine/collections via `indexLayout`, désactivable.
4- ✅ Protéger les dossiers d’assets : ajouter un `index.html` placeholder et proposer un `.htaccess` optionnel avec `Options -Indexes` (portée limitée à Apache) ; documenter cette option.
5- ✅ Ajouter des helpers de templating genre pour tout mettre en lettres capitales, que les premières lettres de chaque mot, tout mettre en minuscule.
6- ✅ Faire des templates par défaut pour les 404 (et d'autres pages d'erreurs ?)
7- ✅ rendre l'export du modèle obligatoir : ça servira aussi comme une base de donnée interne, notamment pour les dates
8- ✅ Mettre en place un système de date : quand on build on stock dans le fichier du model les dates de créa (1er build) et update des entries, blocks et collections. On fait les comparaisons grâce à un hash qu'on créer en même temps pour chaque objet ?
9- ✅ Intégrer les hooks pour _l'API des plugins_
10- ✅ Déplacer le model dans \_public et forcer ce chemin car il servira pour certains plugins. Il faudra mettre un index du coup et config apache/ngnix pour pas lister ce dossier
11- ✅ créer un moyen d'appeler des images ou de faire des liens qui concernent le site même
12- ✅ Changer le comportement des images : si une image d'une entrée est dans un markdown, alors on ne rend pas 2 fois l'image dans le html.
13- ✅ ajouter un moyen d'exclure un block du rendu automatique
14- ✅ ignorer les .webt du scan et ne pas les copier
15- ✅ si un fichier est supprimé, même sans le replace-all il doit disparaitre des blocks copiés
16- ✅ ajouter un mode brouillon : ajoute un parametre isDraft sur les entrée. Si serve : rendu (ajouté dans le template une info "brouillon"), si Build ignoré complétement, même pas dans le model ou quoi.
17- ✅ Sitemap generator
18- ✅ prévoire un helper pour les images
19- ✅ dans "\_templates", prévoir l'ajout d'un dossier "assets" pour les images, video, audio... et aussi le css et le js par exemple
20- ✅ Prévoir des classes pour les rendus markdown "md image", "md link", etc.
21- ✅ Liens vers sites extérieurs des markdown vers nouvel onglet (prévoir une option à paramétrer dans la config du site)
22- ✅ Pour les images internes rendues par le markdown, prévoir une option du site pour choisir le format par défaut à afficher et prévoir aussi de pouvoir le faire inline (genre )
23- ✅ Mises à jour sur les index :
24 - ✅ permettre de définir : templates.default.index, templates.custom.index.root, templates.custom.index.collection, templates.custom.index.collection("collection name")
25 - ✅ permettre de pouvoir délister une collection unlisted.webt (exemple : collection "pages") => ça retire l'indexation automatique pour cette collection et ces entries mais elles existent quand même (est-ce qu'on les sorts quand même dans le Sitemap ?)
26 - ✅ créer un block index-list.webt qui permet de lister des collections et des entrées. Ce block peut être utilisé dans le templating pour afficher des liens et référencer tout ce dont on a besoin pour créer des aperçus des entries ou des collections
27 - ✅ ajouter un collection-description.webt à la racine des collections peut permettre d'ajouter une description aux metadata d'une collection
28 - ✅ ajouter un dossier \_assets à la racine d'une collection peut permettre d'ajouter des fichiers exploitables par le templating (de manière simple) mais pas listés comme une entrées ; par exemple, pour créer une image spécifique d'aperçus pour la collection
29 - ✅ permettre de définir une page spécifique dans le webette.config pour remplacer l'index root ou l'index d'une collection spécifique par une autre entrée venant d'une collection unlisted (l'entrée devient alors réellement la page /index.html en gros)
30 - ✅ faire en sorte que index-list.webt vide = index général (collection, toutes les entry dedans, collection, etc.)
31 - ✅ faire une page de doc complète qui explique tous les moyens de créer des index avec webette
32- ✅ Ajouter les ancres pour liens md et Handlebars
33- ✅ renomer le block index-list.webt en navigation.webt
34- ✅ Ajouter gestion d'une ligne "name: mon nom" pour le block navigation
35- ✅ Ajouter l'indentation des items dans le block navigation
36- ✅ Pourquoi VSCode me remet les pages de templates en HTML pour le Language Mode alors que je spécifie Handlebars ? Comment forcer Handlebars
37- ✅ Pouvoir spécifier un template pour une entrée
38- ✅ Transformer "collection-description.webt" en "description.webt" et l'étendre aux entrées
39- ✅ Ajouter "name.webt" pour les entrées et les collections (ça ne casse pas le slug), on pourrait créer un helper {{displayName entry}} et {{displayName collection}}
40- ✅ Possibilité de pouvoir faire des boutons ? En Markdown ?
41- ✅ Simplifier encore le site de démo : privilégier la doc pour les features et tout
42- ✅ Support Bold + Italic md
43- 🟨 EN COURS commencer un site webette pour la documentation webette
44- ✅ refaire entièrement le website-example pour montrer toutes les capacités actuelles de webette et faire un truc propre
45- ✅ virer les layouts inutiles et vérifier si ça prend encore les templates par défaut si on en enlève
46- ✅ refaire le webette.config.ts pour que ça prenne bien en compte les paramètres de template avec le dossier \_templates
47- ✅ Trouver un nom et inscrire ce nom dans le glossaire pour parler de l'indexation automatique et du rendu de cette navigation
48- ✅ Design
49 - ✅ Pour le markdown, tester avec le cheatsheet markdown qu'on trouve sur github pour voir si tout fonctionne.
50 - ✅ Continuer avec l'entrée unlist-an-entry qui possède un block navigation.webt et faire les changements nécessaires sur ce block spécial
51 - ✅ vérifier les choses cassées
52 - ✅ refaire un peu le texte pour les blocks intro
53 - ✅ Virer les fonts inutilisées
54- ✅ Refaire le point sur les licences
55 - ✅ Changer les infos de licences pour les trucs webette dans Credits sur le site d'exemple
56 - ✅ Bien push les licences dans le git
57- ✅ Proposer une option pour décaler de 1 tous les titres des markdown (h1 => h2, h2 => h3, etc.)
58- 🔳 Peut-être retirer complétement les templates du tool (pas utiles, il faut créer des templates pour son site et puis c'est tout) ?
59- 🔳 intégrer Standard.site (Lexicon ATproto) ?
60- ✅ Permettre de changer l'ordre ascendant par déscendant
61- ✅ Permettre de trier les entrées par date de création + date d'update
62- 🔳 CHANGER LES LIENS DU SITE DE DEMO (quand la doc sera en ligne) :
63 - 🔳 https://docs.webette.org/markdown (website-example/01 Playground/02 Edit your text/01 edit.md:35)
64 - 🔳 https://docs.webette.org/blocks/navigation (website-example/01 Playground/05 Add a Link/01 link.md:63)
65 - 🔳 https://docs.webette.org/images/variants (website-example/01 Playground/06 Insert an image inline/02 inline.md:39)
66 - 🔳 https://docs.webette.org (website-example/01 Playground/11 Go Further/01 go-further.md:21)
67 - 🔳 https://store.webette.org/starters (website-example/01 Playground/11 Go Further/01 go-further.md:24)
68 - 🔳 https://store.webette.org/plugins (website-example/01 Playground/11 Go Further/01 go-further.md:27)
69 - 🔳 https://webette.org/showcase (website-example/01 Playground/11 Go Further/01 go-further.md:30)
70 - 🔳 https://webette.org/donate (website-example/01 Playground/11 Go Further/01 go-further.md:33)
71- ✅ Ajouter à navigation.webt : auto list d'une collection (ses entrées), possibilité d'enlever le nom de la collection
72- ✅ Faire un Helper pour le menu / l'index
73- ✅ En serve sous Windows, tu peux encore croiser des EBUSY lors de rm dans _public
74- 🔳 Sur webette.org : Ajouter une page de présentation d'atelier de formation "créer et publier son site web en une après-midi"
75- ✅ Mettre en place les headers pour favicon
76- 🔳 Mettre en place les headers pour socials
77- 🔳 Mettre système de Tags pour les entry
78- 🔳 Mettre un fichier spécial collection.webt pour transformer une entry en sous-collection (faire en sorte que les niveaux soient-infinis). Faire fonctionner ça avec les index automatique
79- 🔳 Essayer de faire le tri dans les 2 types de fichiers de config pour avoir une vrai séparation entre la config d'un site et la config de l'outil
80- 🔳 Comment ajouter un block vidéo d'une autre entrée où on veut (via MD, via block spécial peut-être, via helper) ? Réfléchir à ça pour tous les types de blocks.
81- 🔳 Injecter le live reload automatiquement
82- 🔳 Refaire le système d'index :
83 - 🔳 Dossier nommé "Root Index" (ou "00 Root Index") = Index de la root
84 - 🔳 Dossier "Collection Index" = Index de la collection
85 - ℹ Ca ne retire pas la ligne de config pour les layout personnalisés. Ca peut être intégré dans les layouts d'index des starters des base pour pouvoir ajouter du texte sur les index ou quoi, genre si ces dossier existes, on met ce contenu dans l'index. Qqch comme ça
86
87## Plugins :
88- 🔳 Plugin de flux RSS
89- 🔳 Plugins (tester avec un plugin de traitement vidéo par exemple : miniature, encodage, metadata...)
90- 🔳 Plugin : Ajouter un moyen à l'utilisateur de changer la date de son entrée grâce à un fichier created.webt et un autre fichier updated.webt si le user veux contrôlé ça. Je ne vois cette feature utile que dans les entrées
91- 🔳 Plugin webette de TOC (sommaire, table des matières)
92- 🔳 Plugin Wayback Machine : Automatiquement archiver les site + fall back sur version archivée si page plus dispo
93
94## Starters :
95- 🔳 Feed à la Pinterest
96- 🔳 Porfolio comme [portfolio.artwo.xyz](portfolio.artwo.xyz)
97- 🔳 VN ou Text RPG
98- 🔳 Blog tout simple
99- 🔳Documentation
100
101## webette UI
102- 🔳 Définir le périmètre produit (MVP)
103 - 🔳 Objectif principal : build/serve sans Bun installé
104 - 🔳 UX minimale : boutons Build / Serve / Stop + logs + lien localhost
105 - 🔳 Choisir le mode d’exécution (binaire Bun compilé)
106 - 🔳 Définir les OS cibles et la stratégie de release
107- 🔳 Préparer le mode dev (sans compiler)
108 - 🔳 Créer un entrypoint dev qui lance le mini serveur
109 - 🔳 Servir l’UI statique locale (HTML/CSS/JS)
110 - 🔳 Prévoir un état global simple (idle/building/serving/error)
111 - 🔳 Boucle de dev simple (relancer le serveur au besoin)
112- 🔳 API locale pour piloter webette
113 - 🔳 Endpoints API : build, serve, stop, status, logs
114 - 🔳 Gestion propre du process de serve (start/stop)
115 - 🔳 Gestion des erreurs et messages utilisateur
116- 🔳 UI sans framework (HTML/CSS/JS)
117 - 🔳 Page unique : boutons + infos de statut
118 - 🔳 Bloc logs (stream ou polling)
119 - 🔳 Lien local dynamique (port configuré)
120 - 🔳 Réglages de base (chemin du site, options build/serve)
121- 🔳 Test “compile” tôt (pour valider la faisabilité)
122 - 🔳 Premier binaire après le POC (serve + build)
123 - 🔳 Vérifier chemins, assets UI, et accès fichiers
124 - 🔳 Ajuster ce qui casse (paths relatifs, permissions)
125- 🔳 Éditeur visuel de config (prioritaire)
126 - 🔳 Définir un format modifiable (JSON/YAML) + pont vers TS
127 - 🔳 UI : sections tool/site (templates, build, serve, markdown, images...)
128 - 🔳 Validation + prévisualisation des changements
129 - 🔳 Stratégie de sauvegarde/rollback
130- 🔳 Packaging & distribution multi-OS
131 - 🔳 Build binaire par OS (Windows/macOS/Linux)
132 - 🔳 Nommage, icônes, signatures si nécessaire
133 - 🔳 Installer ou zip portable + notes de release
134- 🔳 Sécurité & confiance
135 - 🔳 Port local seulement, pas d’exposition réseau par défaut
136 - 🔳 Permissions d’écriture limitées au projet choisi
137 - 🔳 Logs clairs + consentements (ex : ouverture navigateur)
138- 🔳 Étapes de livraison
139 - 🔳 POC : serveur + build + logs
140 - 🔳 Alpha : build/serve/stop + config minimale
141 - 🔳 Beta : éditeur config + packaging multi-OS
142
143## Trucs pour la doc (pas vraiment des tâches, c'est en vrac) :
144Structure et ce qu'il faut mettre dans chaque page :
145
146- `01 Concept`
147 - `01 Everything is a Folder` : arborescence, conventions
148 - `02 The webette Model` : site/collections/entries/blocks, routes, métadonnées, Model exporté
149 - `03 Build vs Serve` : différences, watch, overwrite, brouillons
150 - `04 Learn More (Links and stuff)` : Lien vers "Features", Lien vers la doc officielle, Lien vers les Starters, Lien vers les Plugins, Annuaire de sites webette ou WebRing
151
152- `02 Features`
153 - `01 Augmented Markdown` : rendu md, classes, line breaks, options, helpers
154 - `02 Images` : variants, inline, galerie (dossier), alt/title
155 - `03 Audio and Video` : blocks audio/vidéo, métadonnées, rendu
156 - `04 Navigation and Indexes` : navigation.webt, index auto, overrides
157 - `05 Draft, Ignore and Unlisted` : draft.webt, ignore.webt, unlisted.webt, avec comportements serve/build
158 - `06 Collection's Assets, Name and Descriptions` : _assets, name.webt, description.webt
159 - `07 Plugins` : hooks, enrich, prune/expected, plugin demo, Lien vers la section "lien vers les plugins"
160 - `08 Template and Layouts` : wrapper/layout, fallback, overrides, helpers, assets, lien vers la section "lien vers les Starters"
161 - `09 Sitemap and servers config` : sitemap, config ngnix, htaccess