Files
varlog/CHANGELOG.md
T
2026-05-12 10:23:04 +02:00

4.2 KiB

Changelog — varlog

[Unreleased] — 2026-05-12

Fonctionnalités

  • URLs propres : toutes les routes internes migrent vers des chemins lisibles. Les anciennes URLs /?action=… restent fonctionnelles (compatibilité).

    Ancienne URL Nouvelle URL
    /?action=edit&uuid=<u> /edit/<u>
    /?action=sources&uuid=<u> /sources/<u>
    /?action=diff&uuid=<u>&rev=<n> /diff/<u>/<n>
    /?action=create /new
    /?action=admin[&tab=<t>] /admin[/<t>]
    /?action=categories /categories
    /?action=profile /profile
    /?action=about|legal|licenses|contact /about, /legal
    /?action=regen_thumbs /admin/regen-thumbs
    /?action=add_files&uuid=<u> /files/<u>/add
    /?action=import_image&uuid=<u> /import/<u>
    /?cat=<cat> /categorie/<cat>
    /?cursor=<uuid> /page/<uuid>
  • Moteur de recherche : index trigram+substring pré-construit (search_index.json, reconstruit à chaque écriture), accessible depuis la navbar.

Corrections

  • Métadonnées fichiers (sources) : addFileMeta() ne sauvegardait pas l'auteur et l'URL source en raison d'un guard file_exists() trop strict — supprimé.
  • Authentification OIDC (State invalide.) : session_start() était appelé avant bootstrap.php dans les fichiers OIDC, écrasant les paramètres de cookie (SameSite=Lax, Secure, HttpOnly) — corrigé dans start.php, callback.php et me.php.
  • Sidebar droite de l'article : classe Bootstrap flex-nowrap-lg inexistante, remplacée par flex-lg-nowrap — la sidebar ne tombe plus en bas de page.
  • Date d'affichage en liste : created_at affiché à la place de published_at — corrigé avec fallback approprié.
  • Formulaire d'édition : "Fichiers existants" déplacé dans la colonne de droite ; attribution auteur/source étendue à tous les types de fichiers (pas seulement images).
  • Historique des révisions : plus de révision créée si le contenu et le titre sont inchangés. Ajout des boutons de suppression par révision et suppression globale.
  • Canonical URL catégorie : passe de /?cat=… à /categorie/….
  • Flux RSS : /rss et /rss.xml redirigent en 301 vers /feed (URL canonique) ; les articles des catégories privées sont exclus du flux ; la description est convertie depuis Markdown en texte brut.

2026-05-09

Fonctionnalités

  • SEO : balises canonical, sitemap.xml, robots.txt, JSON-LD (BlogPosting / WebSite), noindex sur les pages d'administration.
  • Recherche : page de résultats avec score de pertinence, mise en évidence des termes, lien vers la catégorie depuis les résultats.
  • Support HEIC/HEIF : conversion automatique en JPEG à l'upload.
  • Support SVG : upload autorisé, servi avec Content-Type correct.
  • Avant-première : article visible en liste mais verrouillé avant sa date de publication.
  • Pagination curseur : navigation par UUID de dernier article vu, sans offset SQL.
  • Layout article 3 colonnes : sidebar gauche (catégorie), contenu central, sidebar droite (pièces jointes, liens externes, articles liés).
  • Import depuis URL : téléchargement de fichiers distants avec extraction automatique des métadonnées (EXIF, OpenGraph, PDF).
  • Gestion des pièces jointes dans le formulaire d'édition, avec attribution auteur/source affichée dans la vue article.

Corrections

  • Login intégré dans layout.php, chemins CSS en absolu.
  • Redéclaration de url() dans config.php — fatal error corrigée.
  • Correction permissions www-data sur data/.

2026-04 et antérieur

  • Flux RSS paginé (/feed, /rss, /rss.xml) avec autodiscovery.
  • Stockage des articles en fichiers Markdown (migration depuis base de données).
  • SSO via Keycloak/OIDC avec PKCE.
  • Images de couverture (liste, vue article, og:image).
  • Brouillons visibles uniquement par l'auteur.
  • Formulaire de contact (CSRF, honeypot, rate-limit).
  • Pages : mentions légales (LCEN/RGPD), licences, à propos.
  • Auto-hébergement Bootstrap 5, police Inter, favicon SVG.
  • Headers HTTP de sécurité, CSP stricte.