alpinux-static/app/CHANGELOG.md
Alpinux a94bf12e4d chore: version 1.5.0 — page Erreurs 404
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 12:57:37 +02:00

4.1 KiB

Changelog — Alpinux Static

[1.5.0] — 2026-05-06

Ajouté

  • Onglet Erreurs dans la navigation : analyse des logs Apache des 7 derniers jours (fichiers .gz inclus)
  • Tableau des erreurs 404 trié par fréquence, avec badge statut coloré (✗ actif / ✓ résolu) cliquable
  • Détail par chemin (AJAX) : liste des IPs avec compteur, dernière date, referers
  • Ignorer une IP (devs, tests, IPs internes) — persisté dans ignored_ips.json, cache invalidé
  • Bannir une IP directement depuis l'interface via fail2ban-client set global-blacklist banip
  • Section des IPs ignorées avec suppression individuelle

[1.4.2] — 2026-05-06

Corrigé

  • Statistiques : la page affichait une erreur de génération alors qu'ISPConfig génère déjà le rapport GoAccess chaque nuit — STATS_FILE pointe maintenant directement sur le fichier ISPConfig

[1.4.1] — 2026-05-06

Corrigé

  • Changelog : TypeError au rendu — clé items du dict en conflit avec la méthode Python dict.items() en Jinja2 (renommée entries)
  • Sélecteur de largeur : boutons L et ∞ sans effet — max-width:none + margin:auto sur flex child rétrécissait <main> ; remplacé par data-cw sur <html> + sélecteurs CSS d'attribut

[1.4.0] — 2026-05-06

Ajouté

  • Sélecteur de largeur du contenu dans le header : Étroit (900 px), Normal (1 200 px), Large (1 600 px), Plein — préférence mémorisée dans le navigateur
  • Changelog avec numéro de version sémantique, accessible depuis le footer

Corrigé

  • Décalage de largeur entre les pages dû à l'apparition/disparition de la scrollbar (scrollbar-gutter: stable)
  • Labels EXIF non traduits : ResolutionUnit, XResolution, YResolution
  • Valeur numérique brute pour ColorSpace → libellé lisible (sRGB, Adobe RGB, Non calibré)

Modifié

  • Contenu principal en pleine largeur (suppression du max-width fixe sur <main>)

[1.3.0] — 2026-05-06

Ajouté

  • Prévisualisation des fichiers depuis la corbeille (propriétés, métadonnées, téléchargement)
  • Footer sur toutes les pages avec liens de navigation et numéro de version
  • Stats corbeille dans le tableau de bord (nombre de fichiers, taille totale, date du plus ancien)

Modifié

  • Header compact : avatar initiale + prénom + icône déconnexion (suppression du bouton texte)
  • Suppression du lien « Tableau de bord » dans la navigation (doublon avec le logo)
  • user, humansize, trash_count centralisés dans le context processor Flask (disponibles sur toutes les pages)

[1.2.0] — 2026-05-06

Ajouté

  • Corbeille : mise à la corbeille depuis /browse, restauration avec gestion des conflits (écraser / renommer), suppression définitive
  • Purge automatique des éléments en corbeille depuis plus de 30 jours
  • Badge dans la navigation indiquant le nombre d'éléments en corbeille
  • Page /trash avec tableau partagé (mode browse / trash) et bouton « Vider la corbeille »

[1.1.0] — 2026-05-06

Ajouté

  • Redimensionnement d'images depuis la prévisualisation : tailles prédéfinies, dimension libre, formats PNG/JPG/ICO
  • Gestion des conflits lors du redimensionnement (backup, écraser, renommer, ignorer)
  • Renommage de fichiers inline dans /browse et la page de prévisualisation
  • Affichage des métadonnées image (dimensions, format, mode couleur, DPI, EXIF)
  • Dimension libre avec contrainte de proportions (mode « carré »)

Corrigé

  • Échec du redimensionnement sur les fichiers ICO en mode palette (conversion RGBA avant LANCZOS)
  • Aucune sélection de taille ou format → copie à l'identique (comportement par défaut)

[1.0.0] — 2026-05-03

Ajouté

  • Upload de fichiers par glisser-déposer avec gestion des conflits (écraser, backup, renommer, ignorer)
  • Parcourir les assets CDN depuis /browse avec fil d'Ariane
  • Statistiques de consultation via GoAccess (/stats), générées à la demande
  • Authentification SSO via AlpID (Keycloak / OpenID Connect)
  • Recherche dans les fichiers
  • Scripts rsync push-assets.sh et pull-assets.sh pour la synchronisation locale ↔ serveur
  • Script deploy-app.sh pour le déploiement de l'application Flask