• v1.3.0 e594ef1409

    NoBaSe 1.3.0
    All checks were successful
    Intégration continue / ci (push) Successful in 1m36s
    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
    Publication d'une version / release (push) Successful in 1m37s
    Stable

    jlequen released this 2026-10-15 07:20:53 +00:00 | 13 commits to main since this release

    Français

    • Comprend toutes les nouveautés de la 1.2.4 (jamais publiée en stable), dont les clés de sécurité FIDO2 (YubiKey…) pour la double authentification.
    • 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

    • Includes everything from 1.2.4 (never released as stable), including FIDO2 security keys (YubiKey…) for two-factor authentication.
    • 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.zip 1.11 Mo b6562b78858bda2bfa2813cbce63fc01279a47b863c613dc0379fb8fcb7aaf9d
    nobase-update-1.3.0.zip 0.90 Mo 46d4d51647b873deba91fd1c8677356847c73bfd5aa6fe06d8aae4e41a196c92
    • nobase-1.3.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.3.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° 48, commit e594ef1409f7).
    Downloads
  • 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
  • v1.2.4-rc.4 2bb3707331

    NoBaSe 1.2.4-rc.4
    All checks were successful
    Intégration continue / ci (push) Successful in 1m6s
    nobase/tests 616 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
    Publication d'une version / release (push) Successful in 1m9s
    Pre-release

    jlequen released this 2026-10-11 18:55:48 +00:00 | 23 commits to main since this release

    Corrigé (1.2.4-rc.4)

    • Ajout ou utilisation d'une clé de sécurité : si le navigateur ne répond jamais (Chrome sur Android
      avec un gestionnaire de clés d'accès tiers), la demande est abandonnée après le délai, avec un
      message qui explique quoi faire, au lieu d'un écran bloqué ; diagnostic : système « Android »
      correctement reconnu.

    Ajouté (1.2.4-rc.3)

    • Diagnostic de l'ajout d'une clé de sécurité dans le journal d'audit (Sécurité) : demande transmise
      au navigateur, réponse d'erreur du navigateur (nom DOM, navigateur, système), motif d'un refus
      par le serveur — lisible sans accès aux journaux PHP de l'hébergeur.

    Corrigé (1.2.4-rc.2)

    • Clé de sécurité NFC sur téléphone : Chrome pour Android ne proposait pas la clé (seulement
      les passkeys du téléphone). La demande précise désormais une clé externe (cross-platform,
      indication security-key), à l'ajout comme à l'utilisation.

    Nouveau

    • Clés de sécurité FIDO2 (YubiKey…) pour la double authentification, à côté de l'application
      d'authentification ou à sa place. Mon compte → Clés de sécurité : ajouter une ou plusieurs clés
      nommées (« YubiKey bureau »), voir leur date d'ajout et de dernière utilisation, les renommer,
      les retirer ; ajouter ou retirer une clé demande de confirmer son identité, est journalisé et
      alerte (e-mail, notification). Une clé seule suffit à activer la double authentification (codes
      de secours proposés). À la connexion, après le mot de passe, « Utiliser ma clé de sécurité »
      est proposé par défaut (ou le code de l'application, ou un code de secours) ; toutes les
      confirmations « mot de passe + code » (réglages système, mises à jour, thèmes, sauvegardes,
      originaux des images) acceptent aussi la clé. Les comptes protégés par une clé comptent comme
      ayant la 2FA partout (bilan de santé, scan, actions qui l'exigent) ; la liste des comptes indique
      le type de facteur (application, clé). Vérification rigoureuse côté serveur, en PHP natif
      (défi à usage unique lié à la session, origine et domaine exacts, présence de l'utilisateur,
      compteur anti-clonage, ES256 / EdDSA / RS256) : docs/securite.md, « Clés de sécurité FIDO2 /
      WebAuthn » ; pas à pas : docs/guide-utilisateur.md, « Ajouter une clé YubiKey ».
    • Tests : nouvelle étape webauthn (tests unitaires de la vérification, parcours complet dans
      Chrome avec l'authentificateur virtuel WebAuthn).

    Note

    • Les clés sont liées au domaine de l'adresse du site (Réglages système) : un changement de
      domaine oblige à les réenregistrer. Elles exigent une adresse en HTTPS.

    English

    • FIDO2 security keys (YubiKey…) for two-factor authentication, alongside or instead of the
      authenticator app: add, rename and remove named keys in My account (identity confirmation, audit
      log, alerts); sign in with "Use my security key"; every "password + code" confirmation also
      accepts the key. Strict server-side verification in plain PHP. Keys are bound to the site's
      domain (System settings) and require HTTPS.

    Fichier Taille SHA-256
    nobase-1.2.4-rc.4.zip 1.01 Mo e898b127d34a9d30df267f89264e970e0ff7e15d44a4a5eb139bf98e07a631b0
    nobase-update-1.2.4-rc.4.zip 0.82 Mo 3c59fdb27a9333f3a8e1d56265eb579f6f9fdc96abd01e0d0904a59e15deec54
    • nobase-1.2.4-rc.4.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.2.4-rc.4.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° 42, commit 2bb37073310e).
    Downloads
  • v1.2.4-rc.3 ac8d6a9fb2

    NoBaSe 1.2.4-rc.3
    All checks were successful
    Intégration continue / ci (push) Successful in 1m2s
    nobase/tests 616 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
    Publication d'une version / release (push) Successful in 1m9s
    Pre-release

    jlequen released this 2026-10-11 18:46:55 +00:00 | 24 commits to main since this release

    Ajouté (1.2.4-rc.3)

    • Diagnostic de l'ajout d'une clé de sécurité dans le journal d'audit (Sécurité) : demande transmise
      au navigateur, réponse d'erreur du navigateur (nom DOM, navigateur, système), motif d'un refus
      par le serveur — lisible sans accès aux journaux PHP de l'hébergeur.

    Corrigé (1.2.4-rc.2)

    • Clé de sécurité NFC sur téléphone : Chrome pour Android ne proposait pas la clé (seulement
      les passkeys du téléphone). La demande précise désormais une clé externe (cross-platform,
      indication security-key), à l'ajout comme à l'utilisation.

    Nouveau

    • Clés de sécurité FIDO2 (YubiKey…) pour la double authentification, à côté de l'application
      d'authentification ou à sa place. Mon compte → Clés de sécurité : ajouter une ou plusieurs clés
      nommées (« YubiKey bureau »), voir leur date d'ajout et de dernière utilisation, les renommer,
      les retirer ; ajouter ou retirer une clé demande de confirmer son identité, est journalisé et
      alerte (e-mail, notification). Une clé seule suffit à activer la double authentification (codes
      de secours proposés). À la connexion, après le mot de passe, « Utiliser ma clé de sécurité »
      est proposé par défaut (ou le code de l'application, ou un code de secours) ; toutes les
      confirmations « mot de passe + code » (réglages système, mises à jour, thèmes, sauvegardes,
      originaux des images) acceptent aussi la clé. Les comptes protégés par une clé comptent comme
      ayant la 2FA partout (bilan de santé, scan, actions qui l'exigent) ; la liste des comptes indique
      le type de facteur (application, clé). Vérification rigoureuse côté serveur, en PHP natif
      (défi à usage unique lié à la session, origine et domaine exacts, présence de l'utilisateur,
      compteur anti-clonage, ES256 / EdDSA / RS256) : docs/securite.md, « Clés de sécurité FIDO2 /
      WebAuthn » ; pas à pas : docs/guide-utilisateur.md, « Ajouter une clé YubiKey ».
    • Tests : nouvelle étape webauthn (tests unitaires de la vérification, parcours complet dans
      Chrome avec l'authentificateur virtuel WebAuthn).

    Note

    • Les clés sont liées au domaine de l'adresse du site (Réglages système) : un changement de
      domaine oblige à les réenregistrer. Elles exigent une adresse en HTTPS.

    English

    • FIDO2 security keys (YubiKey…) for two-factor authentication, alongside or instead of the
      authenticator app: add, rename and remove named keys in My account (identity confirmation, audit
      log, alerts); sign in with "Use my security key"; every "password + code" confirmation also
      accepts the key. Strict server-side verification in plain PHP. Keys are bound to the site's
      domain (System settings) and require HTTPS.

    Fichier Taille SHA-256
    nobase-1.2.4-rc.3.zip 1.01 Mo 2b66c73aff91c5d882e01ad3842ad2d6055db5557131134738f9cb9830d3b6e8
    nobase-update-1.2.4-rc.3.zip 0.81 Mo 464c4c4c5c5b232ef93ec7f8452a0b939e462b16dd4d5cf881088096dab55df1
    • nobase-1.2.4-rc.3.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.2.4-rc.3.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° 40, commit ac8d6a9fb294).
    Downloads
  • v1.2.4-rc.2 5a27b13f2e

    NoBaSe 1.2.4-rc.2
    All checks were successful
    Intégration continue / ci (push) Successful in 1m0s
    nobase/tests 613 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
    Publication d'une version / release (push) Successful in 1m11s
    Pre-release

    jlequen released this 2026-10-11 18:17:15 +00:00 | 25 commits to main since this release

    Corrigé (1.2.4-rc.2)

    • Clé de sécurité NFC sur téléphone : Chrome pour Android ne proposait pas la clé (seulement
      les passkeys du téléphone). La demande précise désormais une clé externe (cross-platform,
      indication security-key), à l'ajout comme à l'utilisation.

    Nouveau

    • Clés de sécurité FIDO2 (YubiKey…) pour la double authentification, à côté de l'application
      d'authentification ou à sa place. Mon compte → Clés de sécurité : ajouter une ou plusieurs clés
      nommées (« YubiKey bureau »), voir leur date d'ajout et de dernière utilisation, les renommer,
      les retirer ; ajouter ou retirer une clé demande de confirmer son identité, est journalisé et
      alerte (e-mail, notification). Une clé seule suffit à activer la double authentification (codes
      de secours proposés). À la connexion, après le mot de passe, « Utiliser ma clé de sécurité »
      est proposé par défaut (ou le code de l'application, ou un code de secours) ; toutes les
      confirmations « mot de passe + code » (réglages système, mises à jour, thèmes, sauvegardes,
      originaux des images) acceptent aussi la clé. Les comptes protégés par une clé comptent comme
      ayant la 2FA partout (bilan de santé, scan, actions qui l'exigent) ; la liste des comptes indique
      le type de facteur (application, clé). Vérification rigoureuse côté serveur, en PHP natif
      (défi à usage unique lié à la session, origine et domaine exacts, présence de l'utilisateur,
      compteur anti-clonage, ES256 / EdDSA / RS256) : docs/securite.md, « Clés de sécurité FIDO2 /
      WebAuthn » ; pas à pas : docs/guide-utilisateur.md, « Ajouter une clé YubiKey ».
    • Tests : nouvelle étape webauthn (tests unitaires de la vérification, parcours complet dans
      Chrome avec l'authentificateur virtuel WebAuthn).

    Note

    • Les clés sont liées au domaine de l'adresse du site (Réglages système) : un changement de
      domaine oblige à les réenregistrer. Elles exigent une adresse en HTTPS.

    English

    • FIDO2 security keys (YubiKey…) for two-factor authentication, alongside or instead of the
      authenticator app: add, rename and remove named keys in My account (identity confirmation, audit
      log, alerts); sign in with "Use my security key"; every "password + code" confirmation also
      accepts the key. Strict server-side verification in plain PHP. Keys are bound to the site's
      domain (System settings) and require HTTPS.

    Fichier Taille SHA-256
    nobase-1.2.4-rc.2.zip 1.01 Mo d46124edc51ec50ad8f3b9638747fc12e6c07f8078d69a4c1d7cfe0c9f06fd1a
    nobase-update-1.2.4-rc.2.zip 0.81 Mo 73f53f96e41c65ccd33727b86b9fdbe2a29ec953c1edc78fc1a1f6be90d72dab
    • nobase-1.2.4-rc.2.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.2.4-rc.2.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° 38, commit 5a27b13f2e63).
    Downloads
  • v1.2.4-rc.1 dabb314751

    NoBaSe 1.2.4-rc.1
    All checks were successful
    Intégration continue / ci (push) Successful in 56s
    nobase/tests 611 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
    Publication d'une version / release (push) Successful in 1m8s
    Pre-release

    jlequen released this 2026-10-11 17:55:51 +00:00 | 26 commits to main since this release

    Nouveau

    • Clés de sécurité FIDO2 (YubiKey…) pour la double authentification, à côté de l'application
      d'authentification ou à sa place. Mon compte → Clés de sécurité : ajouter une ou plusieurs clés
      nommées (« YubiKey bureau »), voir leur date d'ajout et de dernière utilisation, les renommer,
      les retirer ; ajouter ou retirer une clé demande de confirmer son identité, est journalisé et
      alerte (e-mail, notification). Une clé seule suffit à activer la double authentification (codes
      de secours proposés). À la connexion, après le mot de passe, « Utiliser ma clé de sécurité »
      est proposé par défaut (ou le code de l'application, ou un code de secours) ; toutes les
      confirmations « mot de passe + code » (réglages système, mises à jour, thèmes, sauvegardes,
      originaux des images) acceptent aussi la clé. Les comptes protégés par une clé comptent comme
      ayant la 2FA partout (bilan de santé, scan, actions qui l'exigent) ; la liste des comptes indique
      le type de facteur (application, clé). Vérification rigoureuse côté serveur, en PHP natif
      (défi à usage unique lié à la session, origine et domaine exacts, présence de l'utilisateur,
      compteur anti-clonage, ES256 / EdDSA / RS256) : docs/securite.md, « Clés de sécurité FIDO2 /
      WebAuthn » ; pas à pas : docs/guide-utilisateur.md, « Ajouter une clé YubiKey ».
    • Tests : nouvelle étape webauthn (tests unitaires de la vérification, parcours complet dans
      Chrome avec l'authentificateur virtuel WebAuthn).

    Note

    • Les clés sont liées au domaine de l'adresse du site (Réglages système) : un changement de
      domaine oblige à les réenregistrer. Elles exigent une adresse en HTTPS.

    English

    • FIDO2 security keys (YubiKey…) for two-factor authentication, alongside or instead of the
      authenticator app: add, rename and remove named keys in My account (identity confirmation, audit
      log, alerts); sign in with "Use my security key"; every "password + code" confirmation also
      accepts the key. Strict server-side verification in plain PHP. Keys are bound to the site's
      domain (System settings) and require HTTPS.

    Fichier Taille SHA-256
    nobase-1.2.4-rc.1.zip 1.01 Mo 41bab4d37fcf376a98b6ae8133a1f4883eacc748d4d550b2756e33787ef9429b
    nobase-update-1.2.4-rc.1.zip 0.81 Mo 912ea1d33b9dc25beee0917de56557c0244b2f972a03c71062245afadf3d3081
    • nobase-1.2.4-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.2.4-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° 36, commit dabb3147514e).
    Downloads
  • v1.2.3 eb04998787

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

    jlequen released this 2026-10-11 17:54:24 +00:00 | 32 commits to main since this release

    Modifié

    • Mises à jour sans double authentification : un administrateur qui n'a pas (encore) activé
      la 2FA peut changer le canal (stable / test) et le mode d'installation, et revenir à
      la version précédente
      , après confirmation de son identité par mot de passe (le code reste
      demandé si la 2FA est active). Journalisé et alerté comme avant. Le téléversement ou la
      vérification d'un paquet à la main et le retour à une version plus ancienne restent réservés
      aux comptes protégés par la 2FA.

    Fichier Taille SHA-256
    nobase-1.2.3.zip 0.98 Mo b19429ef66b87d4a4c5c975350e712d865d93d3e72131a974d362b64086f3154
    nobase-update-1.2.3.zip 0.79 Mo 7846aa31e06dc46fd0250a3ab0d9dc60a7ce12224b848e55c5ba64c2e0277640
    • nobase-1.2.3.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.2.3.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° 35, commit eb049987876a).
    Downloads
  • v1.2.3-rc.1 74b8477b94

    NoBaSe 1.2.3-rc.1
    All checks were successful
    Intégration continue / ci (push) Successful in 58s
    nobase/tests 605 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
    Publication d'une version / release (push) Successful in 1m8s
    Pre-release

    jlequen released this 2026-10-11 17:28:05 +00:00 | 28 commits to main since this release

    Nouveau

    • Clés de sécurité FIDO2 (YubiKey…) pour la double authentification, à côté de l'application
      d'authentification ou à sa place. Mon compte → Clés de sécurité : ajouter une ou plusieurs clés
      nommées (« YubiKey bureau »), voir leur date d'ajout et de dernière utilisation, les renommer,
      les retirer ; ajouter ou retirer une clé demande de confirmer son identité, est journalisé et
      alerte (e-mail, notification). Une clé seule suffit à activer la double authentification (codes
      de secours proposés). À la connexion, après le mot de passe, « Utiliser ma clé de sécurité »
      est proposé par défaut (ou le code de l'application, ou un code de secours) ; toutes les
      confirmations « mot de passe + code » (réglages système, mises à jour, thèmes, sauvegardes,
      originaux des images) acceptent aussi la clé. Les comptes protégés par une clé comptent comme
      ayant la 2FA partout (bilan de santé, scan, actions qui l'exigent) ; la liste des comptes indique
      le type de facteur (application, clé). Vérification rigoureuse côté serveur, en PHP natif
      (défi à usage unique lié à la session, origine et domaine exacts, présence de l'utilisateur,
      compteur anti-clonage, ES256 / EdDSA / RS256) : docs/securite.md, « Clés de sécurité FIDO2 /
      WebAuthn » ; pas à pas : docs/guide-utilisateur.md, « Ajouter une clé YubiKey ».
    • Tests : nouvelle étape webauthn (tests unitaires de la vérification, parcours complet dans
      Chrome avec l'authentificateur virtuel WebAuthn).

    Note

    • Les clés sont liées au domaine de l'adresse du site (Réglages système) : un changement de
      domaine oblige à les réenregistrer. Elles exigent une adresse en HTTPS.

    English

    • FIDO2 security keys (YubiKey…) for two-factor authentication, alongside or instead of the
      authenticator app: add, rename and remove named keys in My account (identity confirmation, audit
      log, alerts); sign in with "Use my security key"; every "password + code" confirmation also
      accepts the key. Strict server-side verification in plain PHP. Keys are bound to the site's
      domain (System settings) and require HTTPS.

    Fichier Taille SHA-256
    nobase-1.2.3-rc.1.zip 1.01 Mo 67340b430848f2516204abe7752b82625c3de90fc081f19d3940f3e5535a8ae5
    nobase-update-1.2.3-rc.1.zip 0.81 Mo 74e6136af752ba1288106fc93f19455499419bea4c279c9ccc63d3c477fe4c80
    • nobase-1.2.3-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.2.3-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° 33, commit 74b8477b94be).
    Downloads
  • v1.2.2 a96544defe

    NoBaSe 1.2.2
    All checks were successful
    Intégration continue / ci (push) Successful in 54s
    Publication d'une version / release (push) Successful in 1m10s
    nobase/tests 435 vérification(s) réussie(s), 0 échec(s) ; NON EXÉCUTÉ : mobile : navigateur headless inutilisable sur cet hôte : ERREUR (environnement de test) : bibliothèques système manquantes pour chrome-headless-shell : libatk-
    Stable

    jlequen released this 2026-10-11 17:11:09 +00:00 | 33 commits to main since this release

    Nouveau

    • Une mise à jour ne reste plus jamais bloquée, sans FTP ni SFTP. Une version refusée ou en
      échec est retentée automatiquement avec un délai croissant (1 h, 4 h, 16 h, puis toutes les
      24 h), chaque essai revérifiant tout (une signature invalide reste refusée à chaque essai) ;
      une alerte au premier échec d'une version, pas à chaque essai ; une version plus récente passe
      toujours devant ; bouton « Réessayer maintenant » (sans 2FA pour une version du canal signé).
    • Causes du paquet (signature, empreinte, syntaxe, version de départ, PHP…) et causes de
      l'environnement (réseau, disque, dossier disparu, processus tué) distinguées : les secondes
      ne sont jamais présentées comme un refus.
    • Travail abandonné (dossier de travail disparu, interruptions répétées, aucun progrès) soldé et
      retenté au lieu de rester « en cours » ; maintenance orpheline levée ; nettoyage lent mis à la
      corbeille ; paquet prêt périmé remplacé ; toute installation validée d'office après 7 jours.
    • Retour automatique incomplet : bouton « Relancer le retour arrière » (2FA) — seul état
      encore bloquant.
    • Plusieurs serveurs web (OVH mutualisé) : bail atomique par tranche et numéro de séquence
      de l'état (comparer-puis-écrire) : deux tranches concurrentes ne peuvent plus corrompre une
      mise à jour.
    • Canal de test (préversions) : page Mises à jour → « Canal de mise à jour » → Stable ou
      Test (préversions) (2FA + confirmation, journalisé). Les préversions X.Y.Z-rc.N sont
      publiées par une étiquette vX.Y.Z-rc.N dans un second index signé test.json (jamais dans
      latest.json), ne s'installent jamais sans validation, et le retour au canal stable garde la
      préversion jusqu'à la stable suivante. Badges « Canal de test actif » / « Préversion », point
      orange du bilan de santé.

    Modifié

    • Publication : tools/release.py signe latest.json ET test.json (canal signé dans l'index),
      ordre des versions identique à version_compare() de PHP ; tools/publish.py,
      tools/verify-update.php, tools/ci.sh et les workflows publient, vérifient et re-signent les
      deux index ; release de la forge marquée « pré-version » pour une rc.
    • Tests : nouvelle étape resilience de make test (nouveaux essais, causes d'environnement,
      travail abandonné, canal de test aller-retour).

    Corrigé

    • Page Mises à jour : l'ancien échec d'une version déjà installée (ou dépassée) n'est plus affiché
      comme une alerte.
    • Une version écartée puis restée « annulée » en cours de téléchargement n'est plus abandonnée
      pour toujours ; un retour arrière demandé n'est plus suivi d'une réinstallation automatique de
      la même version.

    Note

    • Sites en 1.2.0 ou avant sur un hébergement touché par le défaut corrigé en 1.2.1 (OVH
      mutualisé…) : la mise à jour par le back-office y est refusée à tort ; déposer une fois le cœur à
      la main (docs/depannage.md, « Mise à jour refusée »). Ensuite, tout repasse par le back-office.

    Fichier Taille SHA-256
    nobase-1.2.2.zip 0.98 Mo 6246e61ca52c0ff1d5f3dd25a071d8f0f6c7a1ac1562b6c83c57f6955d5462f4
    nobase-update-1.2.2.zip 0.79 Mo 33fa0529ffc9a3133bb149acb45c7e14a39ee4b39ea6075e3a4270c60f3b59a5
    • nobase-1.2.2.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.2.2.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° 31, commit a96544defeed).
    Downloads
  • v1.2.1 7ec74fcd04

    NoBaSe 1.2.1
    All checks were successful
    Intégration continue / ci (push) Successful in 49s
    nobase/tests 346 vérification(s) réussie(s), 0 échec(s) ; NON EXÉCUTÉ : mobile : navigateur headless inutilisable sur cet hôte : ERREUR (environnement de test) : bibliothèques système manquantes pour chrome-headless-shell : libatk-
    Publication d'une version / release (push) Successful in 45s
    Stable

    jlequen released this 2026-10-11 16:34:00 +00:00 | 38 commits to main since this release

    Corrigé

    • Mises à jour refusées à tort sur certains hébergements (OVH mutualisé) : le contrôle de
      syntaxe PHP passait par « php -l » lancé en sous-processus, dont le code de sortie y est
      renvoyé faux par intermittence (fichiers corrects refusés avec « No syntax errors
      detected », puis « Could not open input file »). La syntaxe est désormais contrôlée par
      l'analyseur interne de PHP (même version que le site, sans programme externe) ; « php -l »
      ne sert plus qu'en secours, et son verdict est lu dans son texte.

    Fichier Taille SHA-256
    nobase-1.2.1.zip 0.96 Mo 49728f497a39955992555c7e547df761a53f640ca4a945cfa7ad49a5076ace5b
    nobase-update-1.2.1.zip 0.78 Mo 5609f34a7b662c4892a6c70baa4b4554c8305be6b6f81de78bb3f892698d21e3
    • nobase-1.2.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.2.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° 29, commit 7ec74fcd0443).
    Downloads