Commit Graph

61 Commits

Author SHA1 Message Date
Cedric Abonnel 4bf0b65088 Fix: masquer les avant-premières pour les visiteurs sans view_previews
Les articles en avant-première (published_at > now) s'affichaient dans
la grille pour tous les visiteurs, occupant des slots de pagination sans
être lisibles. Ils sont désormais filtrés côté serveur pour les
utilisateurs sans la capability view_previews, cohérent avec le
comportement déjà en place dans la recherche et les pages auteur.
2026-05-13 01:57:02 +02:00
Cedric Abonnel 86baf0bfbb feat: remplacer les étoiles par les réactions dans le hero article 2026-05-13 01:48:28 +02:00
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 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 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 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 25faa6ac4f fix: URL de recherche propre (/search?q=...) + gitignore fichiers uploadés 2026-05-12 23:32:15 +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 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 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 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 f236ea24de moteur de recherche : trigram+substring, navbar, page resultats 2026-05-12 01:29:01 +02:00
Cedric Abonnel 3a5ae2631d SEO: canonical, sitemap.xml, robots.txt, JSON-LD, noindex admin 2026-05-12 01:19:38 +02:00
Cedric Abonnel 048cd06b2a edit form: categorie, date et SEO deplaces en colonne droite 2026-05-12 01:05:10 +02:00
Cedric Abonnel be09fad48f pagination curseur, layout 3 colonnes article, sidebar fixe 2026-05-12 00:42:51 +02:00
Cedric Abonnel 1950d7968a style: restaure les couvertures (dégradés + vraie image si dispo) 2026-05-09 13:25:09 +02:00
Cedric Abonnel ddb753fff8 style: supprime les dégradés placeholder des tuiles 2026-05-09 13:24:36 +02:00
Cedric Abonnel 5a02014e48 fix: login page integree dans layout.php, chemins CSS absolus (#21) 2026-05-08 23:30:24 +02:00
Cedric Abonnel 81eee8a35a Gestion des pieces jointes dans edition + SEO par article 2026-05-08 23:16:36 +02:00
Cedric Abonnel 8703a5544f feat: images de couverture (liste, vue article, og:image) 2026-05-08 23:04:05 +02:00
Cedric Abonnel 9cde19fe42 feat: flux RSS sur /feed (publies uniquement, autodiscovery dans le head) 2026-05-08 22:56:41 +02:00
Cedric Abonnel f7d80fc72e feat: avant-premiere - article visible en liste mais verrouille avant sa date de publication 2026-05-08 22:55:27 +02:00
Cedric Abonnel 201ae53e65 feat: brouillons visibles uniquement par auteur + ribbon 45deg BROUILLON 2026-05-08 22:53:43 +02:00
Cedric Abonnel a36d7ede76 feat: métadonnées étendues (author, revisions), migration BDD → fichiers 2026-05-08 22:49:51 +02:00
Cedric Abonnel fd3fced0d8 feat: stockage articles en fichiers Markdown, SSO intégré, URLs propres 2026-05-08 22:36:04 +02:00
Cedric Abonnel abe0e40c63 Auto-hébergement de Bootstrap 5.3.3 (suppression CDN jsDelivr) 2026-05-08 19:21:14 +02:00
Cedric Abonnel 13fd9fcbbd Ajout page À propos et correction googleapis 2026-05-08 19:20:42 +02:00
Cedric Abonnel b3e2c1c515 feat: formulaire de contact (CSRF + honeypot + rate-limit) 2026-05-08 19:16:21 +02:00
Cedric Abonnel e61116986b feat: mentions légales — FAI détecté via AS (cache PHP 24h) 2026-05-08 19:13:04 +02:00