• v1.9.0 41ab0287ee

    NoBaSe 1.9.0
    All checks were successful
    nobase/tests 1449 vérification(s) réussie(s), 0 échec(s) ; NON EXÉCUTÉ : webauthn : navigateur headless inutilisable pour WebAuthn sur cet hôte : ERREUR (environnement de test) : bibliothèques système manquantes pour chrome-headless-s | mobile : navigateur headle
    Publication d'une version / release (push) Successful in 2m18s
    Stable

    jlequen released this 2026-10-30 09:02:06 +00:00 | 2 commits to main since this release

    Français

    • Mises à jour des thèmes indépendantes du CMS : chaque thème peut déclarer dans son
      theme.json son propre canal signé (update : adresse de l'index + clés publiques de son
      auteur). Le site vérifie le canal chaque jour, annonce les nouvelles versions (Thèmes → Mises à
      jour des thèmes
      , alerte e-mail) et les installe après validation (droit themes, 2FA,
      confirmation d'identité). Sécurité : clés de l'auteur figées à l'installation, index signé avec
      expiration et anti-rejeu, téléchargement anti-SSRF (adresse publique épinglée, sans
      redirection), empreinte du paquet, puis la même analyse que l'import (sans forçage).
    • Mise à jour sur place du thème actif (par le canal ou par import d'un .zip) : ancienne
      version archivée, réglages conservés, contrôle de santé du site juste après, retour automatique
      à l'ancienne version en cas de problème. Il n'est plus nécessaire d'activer un autre thème.
    • L'import compare les versions (installée → nouvelle), signale une version plus ancienne et un
      changement de canal ou de clés.
    • Compatibilité thème ↔ CMS : nobase_min et nobase_below dans theme.json. Un thème
      incompatible n'est ni importé, ni activé, ni proposé en mise à jour ; une mise à jour du CMS est
      bloquée tant que le thème actif ne la prend pas en charge.
    • Outil de l'auteur : tools/theme_release.py (keygen, release, index, verify) construit
      et signe les versions d'un thème ; CHANGELOG.md permis à la racine d'un thème (notes de version).
    • Tests : nouvelle étape themes (faux canal signé : accès, parcours complet, canal hostile,
      compatibilité, version qui casse le site, import sur place) ; page Thèmes mesurée sur mobile.

    English

    • Theme updates independent of the CMS: each theme can declare its own signed channel in
      theme.json (update: index URL + its author's public keys). The site checks it daily,
      announces new versions and installs them after approval (themes permission, 2FA, identity
      confirmation). Author keys pinned at install, signed index with expiry and anti-replay,
      SSRF-safe download, package hash, then the full import analysis (no override).
    • In-place update of the active theme (channel or .zip import): previous version archived,
      settings kept, site health check, automatic rollback.
    • Import compares versions and flags downgrades and channel/key changes.
    • Theme ↔ CMS compatibility: nobase_min / nobase_below; incompatible themes are refused,
      and a CMS update is blocked while the active theme does not support it.
    • Author tool: tools/theme_release.py. Tests: new themes step.

    Fichier Taille SHA-256
    nobase-1.9.0.zip 1.23 Mo 450c28d828c28b58b2c9e49d008c3816f3045732677452370544224fa5a89464
    nobase-update-1.9.0.zip 1.00 Mo 07268597bc3cfb3c2d40c9aeb16e218699004584ed14701f887c4f2193afe16c
    • nobase-1.9.0.zip : paquet d'installation public, sans jeton (créez le vôtre : php app/cli/install.php --new-token, ou voir INSTALLATION.txt).
    • nobase-update-1.9.0.zip : paquet de mise à jour signé (Ed25519 + ECDSA P-256), installé depuis le back-office (Mises à jour) ou par le canal latest.json de la branche updates.
    • Signé par la clé cccd09dc81ef2c61 — empreinte SHA-256 cccd09dc81ef2c6173538eaf923ea4463eee78491c4a48cf622645e2658ff875 (comparez avec www/app/update-keys.json).
    • Construit et signé automatiquement par la forge (exécution n° 66, commit 41ab0287eeec).
    Downloads