• v1.3.0-rc.1 cce7d90825

    NoBaSe 1.3.0-rc.1
    All checks were successful
    Intégration continue / ci (push) Successful in 1m34s
    Publication d'une version / release (push) Successful in 1m39s
    nobase/tests 926 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 headles
    Pre-release

    jlequen released this 2026-10-11 20:36:58 +00:00 | 14 commits to main since this release

    Français

    • Publication programmée : dans l'éditeur, « Publier maintenant » ou « Programmer » (date et
      heure à l'heure du site, fuseau affiché). Un contenu programmé n'est visible qu'à partir de sa
      date — jamais avant — sur sa page, dans les listes, l'accueil, le plan du site, les liens
      hreflang et les menus ; il apparaît automatiquement à l'heure, même sans aucune visite d'un
      administrateur (pseudo-cron à la première visite qui suit, règle d'affichage évaluée à la
      lecture, cache des pages jamais resservi au-delà de l'échéance).
    • Retrait programmé : date de fin facultative ; le contenu est archivé et disparaît du site à
      l'échéance, avec les mêmes garanties.
    • Circuit de relecture : nouveau statut « En relecture ». Le Rédacteur « Soumet pour
      relecture » ; les Éditeurs sont prévenus (tableau de bord et e-mail, désactivable dans Mon
      compte), voient « À relire », publient, programment ou renvoient en brouillon avec un
      commentaire visible par l'auteur, qui est prévenu. Programmer = publier : refusé (403) au
      Rédacteur, comme publier, modifier un contenu programmé ou changer ses dates.
    • Tableau de bord : « À relire », « Prochaines publications » (et retraits), notifications.
      Listes : repères « En relecture », « Programmé le … », « Retrait le … », filtres par statut.
      Éditeur : « Appliquer à toutes les langues » (statut et dates), dernier retour de relecture.
    • Journal d'audit : soumission, renvoi (avec le commentaire), programmation, déprogrammation,
      dates, et bascules automatiques au nom du « système » ; révision à chaque changement.
    • Le refus d'une action réservée à un autre rôle sur un contenu répond désormais 403 (au lieu
      de 400).
    • Tests : nouvelle étape schedule (horloge réelle, cache, plan du site, relecture, e-mails
      interceptés), routes ajoutées aux étapes access et mobile.
    • Formulaires du site (contact, demande de devis ou de réservation), sans service externe :
      constructeur dans le back-office (menu Formulaires : champs texte, e-mail, téléphone, nombre, date,
      dates d'arrivée et de départ, liste, boutons radio, cases à cocher, consentement RGPD, champ caché de
      contexte ; contraintes, valeurs par défaut, ordre par glisser-déposer ou flèches ; textes par langue
      du site ; message ou page de remerciement ; destinataires et objet de l'e-mail ; réponse
      automatique facultative), modèles « Contact » et « Demande de réservation », duplication.
    • Insertion par un champ de genre « Formulaire » des types de contenu (ajouté aux Pages des
      nouveaux sites) ; rendu accessible par le thème Vierge (labels, erreurs reliées aux champs,
      récapitulatif, clavier), fonctionnel sans JavaScript, compatible CSP stricte.
    • Jeton anti-rejeu signé (HMAC, 3 h, usage unique) posé à chaque affichage : les pages avec
      formulaire restent dans le cache des pages sans qu'aucun jeton n'y soit figé.
    • Anti-spam : champ piège, délai minimal, débit par IP et par formulaire, heuristiques (liens,
      balises, mots, alphabets), défi simple et accessible si l'envoi est douteux, signalement au
      pare-feu (catégorie « Formulaires du site » du journal Sécurité) ; envois indésirables gardés à part.
    • Messages reçus : liste filtrable, détail, statuts (nouveau, lu, traité, indésirable), suppression
      (y compris groupée), export CSV protégé contre l'injection de formules, pastille des non lus,
      notification par e-mail en texte brut (en-têtes sûrs, Reply-To validé).
    • RGPD : durée de conservation par formulaire et purge automatique (pseudo-cron,
      php app/cli/forms.php purge), aucune IP conservée avec un envoi, preuve du consentement ;
      envois reçus inclus dans les sauvegardes, indésirables exclus.
    • Nouveau droit forms (Administrateur et Éditeur) ; documentation docs/formulaires.md,
      guide utilisateur ; étape de tests forms, contrôle d'accès des nouvelles routes, page publique
      et pages du back-office à 390 px.

    English

    • Scheduled publication: in the editor, “Publish now” or “Schedule” (date and time in the
      site's time zone, shown). A scheduled entry is only visible from its date — never before — on
      its page, in lists, on the home page, in the sitemap, hreflang links and menus; it appears on
      time automatically, even without any administrator visit (pseudo-cron on the next visit,
      visibility rule evaluated on read, page cache never served past the due time).
    • Scheduled withdrawal: optional end date; the entry is archived and leaves the site on time,
      with the same guarantees.
    • Review workflow: new “In review” status. Authors “Submit for review”; editors are notified
      (dashboard and e-mail, can be turned off in My account), see “To review”, publish, schedule or
      send back to draft with a comment shown to the author, who is notified. Scheduling = publishing:
      refused (403) to authors, like publishing, editing a scheduled entry or changing its dates.
    • Dashboard: “To review”, “Upcoming publications” (and withdrawals), notifications. Lists:
      “In review”, “Scheduled for …”, “Withdrawal on …” markers, status filters. Editor: “Apply to
      all languages” (status and dates), latest review feedback.
    • Audit log: submission, send-back (with the comment), scheduling, unscheduling, dates, and
      automatic switches by the “system”; a revision for each change.
    • Refusing an action reserved to another role on an entry now answers 403 (instead of 400).
    • Tests: new schedule step (real clock, cache, sitemap, review, intercepted e-mails), routes
      added to the access and mobile steps.
    • Site forms (contact, quote or booking request) with no external service: back-office form
      builder, insertion through a “Form” content field, accessible rendering without JavaScript,
      single-use signed anti-replay token compatible with the page cache, spam protection (honeypot,
      minimum time, per-IP rate limits, heuristics, accessible challenge, firewall reporting), received
      messages with statuses, CSV export protected against formula injection, safe plain-text e-mails,
      per-form retention with automatic purge (GDPR). New forms right (Administrator, Editor).

    Fichier Taille SHA-256
    nobase-1.3.0-rc.1.zip 1.11 Mo 524cf21a685dc162033c72ab7e09cd09d08f41d3c07ab7085f6f624dae8fc887
    nobase-update-1.3.0-rc.1.zip 0.90 Mo 6d920ecd85171ae5c2a960aa4d042d00f7ea1eb787178aa71c336c961dfe9364
    • nobase-1.3.0-rc.1.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.3.0-rc.1.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° 46, commit cce7d90825b9).
    Downloads