Cedric Abonnel
f603c02c81
feat: liens d'ancre vers les sections dans la sidebar (à lire aussi, réactions, commentaires)
2026-05-13 01:34:04 +02:00
Cedric Abonnel
78d6c656be
feat: déplacer 'À lire aussi' après les réactions dans la colonne principale
2026-05-13 01:32:03 +02:00
Cedric Abonnel
0a44ab9da2
feat: boutons haut/bas de page dans la sidebar article
2026-05-13 01:18:24 +02:00
Cedric Abonnel
11dce4510b
fix: sidebar sticky — align-self:stretch pour que la TOC suive le défilement
2026-05-13 01:14:16 +02:00
Cedric Abonnel
dca653bba4
fix: déplacer le JS de la TOC dans un fichier externe (CSP)
2026-05-13 01:11:48 +02:00
Cedric Abonnel
bfc8713172
feat: table des matières auto-générée avec ancres et suivi de défilement
...
- Génération côté PHP depuis les h2/h3 du contenu rendu (slug, accents, déduplication)
- Injection d'id sur chaque titre pour les ancres
- Affichage dans la sidebar si >= 3 titres, H3 indenté
- Sidebar défilable (max-height 100vh) pour que la TOC reste visible
- IntersectionObserver JS : surlignage du chapitre courant au défilement
2026-05-13 01:09:47 +02:00
Cedric Abonnel
a926e1825d
feat: filtres et suppression massive dans admin/articles, profil auteur amélioré
...
- Admin articles : filtres auteur/catégorie/statut par GET, compteur de résultats
- Admin articles : suppression massive avec checkboxes, confirmation JS, contrôle d'ownership
- Profil auteur : bio tronquée à 3 lignes avec bouton 'plus', limite à 6 articles affichés
- Profil auteur : bouton CTA pill 'Mes liens' vers /liens/{slug}
- Page liens : boutons pill colorés (palette auto par index), fond gris clair, grand avatar
2026-05-13 00:57:02 +02:00
Cedric Abonnel
f3584159c1
admin/site: retirer site_author, publisher=Blog, auteur depuis profil utilisateur
2026-05-13 00:27:12 +02:00
Cedric Abonnel
26c0a03e71
factorisation: site_lang, posts_per_page, site_license, contact dynamique
2026-05-13 00:23:09 +02:00
Cedric Abonnel
ff47161721
accueil: supprimer la persistence de catégorie par cookie
2026-05-13 00:14:50 +02:00
Cedric Abonnel
a21628e5ad
feat: page Mes liens /liens/{slug} avec gestion et réordonnancement
2026-05-13 00:12:49 +02:00
Cedric Abonnel
c820bdcc3f
ux: bio à droite du nom sur la page profil public
2026-05-13 00:06:55 +02:00
Cedric Abonnel
2e8302dad4
feat: agrégateur RSS /flux + gestion feeds dans /profile
2026-05-12 23:59:09 +02:00
Cedric Abonnel
03177dc732
ux: bio et URL externe déplacées dans un bloc à droite sur /profile
2026-05-12 23:54:38 +02:00
Cedric Abonnel
d5bf3072f4
feat: bio profil + URL publique pré-remplie dans /profile
2026-05-12 23:53:09 +02:00
Cedric Abonnel
20c55aba32
fix: suppression doublon slugify() déjà déclarée dans helpers.php
2026-05-12 23:50:11 +02:00
Cedric Abonnel
654542f13b
feat: page profil public /profil/{slug} avec liste des articles
2026-05-12 23:49:21 +02:00
Cedric Abonnel
e1c179b536
feat: profile_url auteur → article:author URL + JSON-LD author.url
2026-05-12 23:45:41 +02:00
Cedric Abonnel
a031ea960e
fix: meta author depuis le champ author de l'article uniquement
2026-05-12 23:41:19 +02:00
Cedric Abonnel
6b32eccebe
feat: meta author + site_author configurable depuis /admin/site
2026-05-12 23:40:21 +02:00
Cedric Abonnel
fb14d7c842
perf: cache résultats de recherche par requête, invalidé sur create/update/delete
2026-05-12 23:34:51 +02:00
Cedric Abonnel
25faa6ac4f
fix: URL de recherche propre (/search?q=...) + gitignore fichiers uploadés
2026-05-12 23:32:15 +02:00
Cedric Abonnel
668a50e714
perf: cache fichier pour les rétroliens, invalidé sur create/update/delete/link
2026-05-12 23:25:31 +02:00
Cedric Abonnel
288a620788
feat: rétroliens en haut de la sidebar
2026-05-12 23:23:06 +02:00
Cedric Abonnel
4897371e94
feat: rétroliens dans la sidebar des articles
2026-05-12 23:20:43 +02:00
Cedric Abonnel
0e2a6466a0
fix: import URL interne sans cURL (self-reference)
2026-05-12 23:14:26 +02:00
Cedric Abonnel
98ec65f800
feat: view_previews debloque les avant-premieres sur accueil et article
2026-05-12 23:06:00 +02:00
Cedric Abonnel
c83b27624c
refactor: supprime sidebar gauche, fusionne related+similar en 'A lire aussi'
2026-05-12 22:57:26 +02:00
Cedric Abonnel
98c72f721f
fix: smart 404 utilise le dernier segment de l'URL comme requete
2026-05-12 22:51:55 +02:00
Cedric Abonnel
7de1cbaed8
feat: smart 404 redirige vers article le plus proche via moteur de recherche
2026-05-12 22:47:37 +02:00
Cedric Abonnel
f273c3fa6a
feat: section articles proches dans la vue article
2026-05-12 22:41:48 +02:00
Cedric Abonnel
b81750616f
feat: titre et claim configurables depuis l'admin
2026-05-12 22:30:00 +02:00
Cedric Abonnel
8f0fe0dbff
mémorisation catégorie par cookie, URLs propres /categorie/
2026-05-12 20:11:29 +02:00
Cedric Abonnel
6e438835f8
nuage de tags sur la liste, suppression dropdown navbar, rôles/droits sur le profil
2026-05-12 20:07:33 +02:00
Cedric Abonnel
1d2e3d9a24
feat: roles, permissions, grille full-width, SSO display name
...
- Admin/roles : tableau des roles avec edition par role (/admin/role/<nom>)
- Permissions par role : cases a cocher groupees (Articles, Acces & lecture)
- Nouvelles capacites : propose/validate/publish articles (own/all), view_previews
- Nom technique auto-genere depuis le label (JS + fallback serveur)
- Blocage suppression du dernier administrateur
- user_capabilities table ajoutee en DB
- Navbar : dropdown unique (nom + Mon identite + Administration + Deconnexion)
- SSO callback : preserve le nom personnalise, ne l ecrase plus a la connexion
- Grille articles : CSS Grid auto-fill full-width, hauteur uniforme par ligne
- CSP : add_files.js et post_confirm.js externalises
2026-05-12 15:51:06 +02:00
Cedric Abonnel
5275edfd20
feat: pagination curseur /feed/<uuid> sur le flux RSS
2026-05-12 10:25:19 +02:00
Cedric Abonnel
b433e37632
docs: mise à jour changelog
2026-05-12 10:23:04 +02:00
Cedric Abonnel
8b2db03b5f
fix: /rss et /rss.xml redirigent en 301 vers /feed (URL canonique)
2026-05-12 10:22:14 +02:00
Cedric Abonnel
dd89b668f1
revert: supprime la détection navigateur sur le flux RSS
2026-05-12 10:21:37 +02:00
Cedric Abonnel
9f8026bc61
fix: flux RSS — exclut catégories privées, description en texte brut
2026-05-12 10:20:26 +02:00
Cedric Abonnel
7558fc721f
feat: page HTML pour navigateurs sur /feed (/rss, /rss.xml)
2026-05-12 10:19:06 +02:00
Cedric Abonnel
3a266a87dc
docs: déplace CHANGELOG dans app/
2026-05-12 10:15:16 +02:00
Cedric Abonnel
0bda55c803
docs: changelog v2026-05-12
2026-05-12 10:13:59 +02:00
Cedric Abonnel
2b6956fa47
fix: .gitignore propre avec data/ ignoré
2026-05-12 10:11:12 +02:00
Cedric Abonnel
ddf0be7dd1
chore: retire data/ du suivi git
2026-05-12 10:10:32 +02:00
Cedric Abonnel
77cc391ff1
fix: renomme /cursor/ en /page/ pour la pagination
2026-05-12 10:07:49 +02:00
Cedric Abonnel
7e5280abcd
feat: clean URLs pour catégories et pagination
2026-05-12 10:07:26 +02:00
Cedric Abonnel
70fd55be6f
feat: clean URLs + fix addFileMeta silent failure
2026-05-12 10:04:58 +02:00
Cedric Abonnel
045e93cffd
search: index plat search_index.json, reconstruit sur chaque write
2026-05-12 01:40:22 +02:00
Cedric Abonnel
f236ea24de
moteur de recherche : trigram+substring, navbar, page resultats
2026-05-12 01:29:01 +02:00