- Le CLI ajoute files, file:show, file:delete, network:show, status-agent:key, billing:plans et billing:checkout.
- Les commandes de lecture principales acceptent --json pour CI, scripts et diagnostics opérateur.
- La purge globale demande désormais --all, avec --yes pour les usages non interactifs.
- logout distingue le token stocké localement de CDN_PIZZA_TOKEN afin d’éviter une révocation accidentelle en CI.
- Les uploads valident les chemins locaux et exposent cache_ttl, direct_public_link et storage_nodes.
- status-agent:run sérialise ses cycles afin d’éviter des heartbeats ou résultats concurrents.
- La page /cli documente la nouvelle surface CLI/API et le tarball @cdn.pizza/cli 1.0.4.
Commandes CLI
- files, file:show et file:delete couvrent les endpoints fichiers déjà publics côté API.
- network:show expose les détails du réseau privé et la disponibilité WireGuard avant création de clés connector.
- status-agent:key crée les clés cps_... depuis la CLI et complète status-agent:enroll/status/run.
- billing:plans et billing:checkout couvrent la consultation des plans et la création d’une session Payrexx.
Fiabilité opérateur
- config affiche l’URL API effective, la source du token et l’état de connexion sans afficher le bearer token.
- logout ne révoque CDN_PIZZA_TOKEN que si --revoke-env est passé explicitement.
- Les options numériques et les préfixes de tokens cpn_/cps_ sont validés avant les appels API.
- Le package npm utilise une whitelist de fichiers afin de ne plus publier les tests.
Documentation et distribution
- La référence console /cli liste les nouvelles commandes, les endpoints status-agent, billing checkout et fichiers.
- Le fallback version CLI du control-plane et le package npm sont alignés sur 1.0.4.
- Les traductions EN/DE de la page CLI/API sont complétées.
Validation
- Suite Jest CLI complète: 42 tests passants.
- CliPageTest couvre les nouvelles commandes affichées sur /cli.
- translations:scan strict EN/DE, npm audit, npm pack --dry-run, git diff --check et scripts/check-permissions.sh exécutés.
Source: CLI reliability and command coverage pass 2026-07-12
- Les erreurs origine répétées via un POP déclenchent une quarantaine par zone/POP au lieu d’une intervention manuelle globale.
- Le mode CDN Auto respecte la quarantaine dans GeoDNS, le refresh du pool Auto et la bascule vers le mode Auto.
- La commande planifiée zones:check-origin-health teste uniquement les hosts proxifiés et ignore les records DNS-only comme les CNAME GitBook docs.
- La restauration automatique réactive le POP pour la zone après probes sains et expiration de la quarantaine.
- La version publique, les données live et le fallback statique du site exposent maintenant la version produit 0.7.7.
Routage POP par zone
- zone_pops stocke l’état de santé origine, les compteurs de succès/échec, la dernière erreur et la fin de quarantaine.
- GeoDnsService filtre les POPs en quarantaine origine avant de générer les vues country, nearest, continent et fallback.
- DomainEffectiveState signale une raison zone-spécifique quand un POP est filtré pour origine en erreur.
Automatisation
- zones:check-origin-health force la résolution du host vers chaque POP afin de tester le chemin visiteur réel POP vers origine.
- Deux échecs consécutifs placent le POP en quarantaine pour la zone et dispatchent SyncDnsZone sur la queue dns-maintenance.
- Deux succès après expiration restaurent le POP et redéclenchent une synchronisation DNS.
- Les records non proxifiés restent hors scope, ce qui préserve docs.up-network.ch et les CNAME GitBook DNS-only.
Version publique
- L’API /api/public/site-data utilise une clé cache versionnée afin qu’un ancien payload 0.7.6 ne puisse plus masquer la release courante.
- Le site statique charge site-lunoz.js?v=88, renouvelle son cache local en v4 et affiche v0.7.7 même si les données live sont temporairement indisponibles.
Validation
- Tests Laravel ajoutés pour la quarantaine après Bad Gateway répétés, la restauration après probes sains et l’exclusion des records DNS-only.
- Tests GeoDNS et Domain POPs étendus pour empêcher le mode Auto de republier un POP en quarantaine origine.
- Validation live up-network.ch: 95 probes origine, aucune dégradation persistante, apex HTTPS 200 et docs HTTPS 200 via GitBook.
Source: per-zone POP origin health quarantine and up-network.ch CDN migration hardening 2026-07-12
- Les hostnames status personnalisés servent la bonne page tenant via status.cdn.pizza sans boucle HTTPS ni exposition du mauvais tenant.
- Le provisionnement du hostname status est transactionnel afin d’éviter un état partiel enabled=true sans record DNS synchronisable.
- Les edge nodes redémarrent CoreDNS uniquement quand le reload ne prouve pas le nouveau SOA, puis publient les métadonnées d’origine après vérification.
- Les monitors publics acceptent maintenant le type Ping ICMP avec validation des cibles publiques avant exécution.
- Les pages status avec checks publics ne montrent plus un placeholder de composants vides quand aucun composant global n’est publié.
- Le patch a été validé en live sur les 23 POPs actifs pour status.up-network.ch.
Status par domaine
- GeoDNS route les hostnames status vers le fallback status canonique avec Host status.cdn.pizza et conserve le hostname public dans un header interne.
- Le middleware status lit ce header uniquement depuis le host canonique afin de sélectionner la page tenant sans accepter un spoof direct sur les autres hosts.
- La sauvegarde de la page status et le provisioning DNS partagent une transaction pour éviter les pages activées partiellement après erreur.
Edge et DNS
- Le modèle d’origine edge supporte host_header et transmet X-CDN-Pizza-Forwarded-Host au fallback status.
- La synchronisation DNS vérifie le SOA local après reload CoreDNS et bascule sur un restart contrôlé si le reload laisse une ancienne zone en mémoire.
- Les métadonnées origins.json ne sont persistées qu’après validation du reload ou du restart.
Monitoring
- Nouveau type de monitor public Ping ICMP dans la console domaine.
- Les cibles ping passent par MonitorTargetGuard comme HTTP/TCP/TLS afin de refuser les hosts privés, réservés, locaux ou non résolus.
- Le runner ping utilise un timeout borné et stocke le host demandé, l’IP validée et le code de sortie.
- La page publique masque le placeholder de composants vides dès que des checks publics sont publiés.
Validation
- Tests Laravel ajoutés pour le provisioning status transactionnel, le routage status via host canonique et le monitor Ping ICMP.
- Test public ajouté pour éviter la régression No public components configured sur les pages status avec checks.
- Tests Go ajoutés pour host_header edge, header forwarded-host et fallback restart CoreDNS après échec de vérification reload.
- Validation live status.up-network.ch: sync DNS 23/23, HTTPS 200 sur chaque POP actif et authoritative DNS bufala/diavola.
Source: domain status host routing hotfix, ICMP ping monitor and CoreDNS reload fallback 2026-07-03
- L’ajout de domaine peut importer un export DNS BIND/zone file et pré-sélectionner les records importables.
- Le mode CNAME est présenté comme mode réduit afin de pousser le mode NS complet quand import DNS, DNSSEC, wildcard SSL, status domaine et records automatiques sont nécessaires.
- Les domaines enregistrés et renouvelés via cdn.pizza affichent un badge Domaine géré basé sur une détection registrar centralisée.
- DNSSEC publie et retire automatiquement le DS chez InternetBS pour les domaines gérés par cdn.pizza, avec rollback local ou état de revue si la confirmation registrar est ambiguë.
- GeoDNS émet les réponses AAAA des POPs quand elles existent et synchronise aussi les noeuds attachés au registre nameserver.
- Les échecs ACME ne font plus perdre un wildcard SSL encore valide.
- Les origines de streams actives sont résolues et rejetées si elles pointent vers une IP privée, réservée ou un POP cdn.pizza.
- Le parcours Partner POP approuvé permet de créer un token d’enrôlement depuis la console ou l’API via un service centralisé.
- Les webhooks Payrexx ne prennent plus les anciennes références abonnement héritées.
- Le site public ajoute Open Graph/Twitter card, JSON-LD, FAQ, contenu SEO et sitemap enrichi.
DNS et registrar
- Nouveau parseur DnsZoneFileImporter pour records A, AAAA, CNAME, MX, TXT, NS, SRV et CAA.
- Les SOA et NS apex hérités sont ignorés lors de l’import pour garder la délégation cdn.pizza propre.
- Les records proxy par défaut ne sont pas ajoutés automatiquement quand un import complet est sélectionné.
- Le panneau DNSSEC indique quand cdn.pizza publie automatiquement le DS chez InternetBS.
- InternetBsClient sait pousser ou vider les DNSSEC DS via Domain/Update et marque ces mutations comme ambiguës si la confirmation distante n’est pas certaine.
Routage, SSL et edge
- GeoDNS ajoute les AAAA pour les records proxy et apex quand les POPs disposent d’une IPv6.
- Le sync DNS cible aussi les noeuds du NameserverRegistry afin que bufala.cdn.pizza et diavola.cdn.pizza restent servis.
- IssueWildcardSslCertificate conserve un état actif lorsqu’un certificat valide existe encore après un échec ACME.
- Les sections CoreDNS managées ne réactivent plus le logging par requête.
Sécurité applicative
- StreamProxyService résout les origines actives et bloque IP privées, réservées, locales et boucles vers les POPs.
- NodeController limite la liste des nodes à l’organisation authentifiée, refuse les métriques négatives et vérifie les POPs autorisés par zone.
- ResetPasswordNotification reconstruit une URL absolue depuis APP_URL.
- WafMiddleware affine les signatures .env, .env.* et .git pour réduire les faux positifs sans relâcher les blocages sensibles.
- PayrexxCheckoutController retire le support des références d’abonnement héritées.
Partner POP et site public
- PartnerPopEnrollmentTokenService centralise la création des tokens à usage unique 24h.
- La console affiche la prochaine étape post-approbation et permet de copier la commande d’enrôlement.
- Les routes API et web utilisent le même contrôle canCreateEnrollmentToken.
- Le site public enrichit titres, descriptions, Open Graph, Twitter card, JSON-LD, FAQ et sitemap lastmod/changefreq/priority.
Validation
- Tests Laravel import DNS, formulaire DNS, DNSSEC registrar, SSL auto, streams, API hardening, nodes uptime, Partner POP, Payrexx, reset password, zones API et GeoDNS.
- Tests Go edge-node pour empêcher le retour du log CoreDNS dans les zones managées.
- Tests unitaires InternetBS DNSSEC et NameserverRegistry.
Source: dns zone file import, managed registrar DNSSEC, Partner POP enrollment and security hardening 2026-07-03
- La note d’inscription n’est plus formulée comme une bêta privée.
- Les layouts auth, console et release notes utilisent un vocabulaire public cohérent.
- Les liens login/register et le sitemap du site public FR/EN/DE sont alignés sur les URLs de production.
- Le setup de zone cdn.pizza et le seed DNS de base évitent les incohérences autour du domaine système.
- La synchronisation SSL système est mieux couverte et évite les réécritures inutiles.
Inscription et site public
- Renommage du partial beta-note pour refléter la bêta publique.
- Messages d’inscription FR/EN/DE mis à jour dans les vues auth et console.
- Pages publiques et sitemap harmonisés vers console.cdn.pizza.
SSL système
- SetupCdnPizzaZone et BaseDnsRecordsSeeder alignés sur les hostnames système.
- SystemSslCertificateSyncService durci pour mieux préserver l’état attendu.
Validation
- Tests SetupCdnPizzaZoneCommand et SystemSslCertificateSyncService.
- Tests auth, dashboard et release notes ajustés.
Source: public beta signup messaging, public website promotion and system SSL hardening 2026-06-25
- La console applique un middleware de headers de sécurité centralisé.
- La configuration session est vérifiée pour la surface web publique.
- Les actions groupées admin nodes sont couvertes par une suite dédiée.
- Les données publiques et pages status/domain POPs suivent mieux l’éligibilité réelle des noeuds.
- Les dépendances CLI et control-plane sont réalignées avec les versions livrées.
Sécurité console
- EnsureSecurityHeaders et SecurityHeaders ajoutent des headers cohérents sur la console.
- La session Laravel garde des réglages plus stricts pour la bêta publique.
Exploitation nodes
- NodeAdminController supporte les actions groupées nécessaires à l’exploitation.
- DomainEffectiveState, GeoDNS et WAF tiennent mieux compte des POPs éligibles.
Validation
- Tests ConsoleSecurityHeaders, SessionSecurityConfig, NodeBulkActions, DomainPopsPage, PublicStatusPage, GeoDNS et API publique.
Source: public beta readiness, console security headers and node operations 2026-06-25
- Les pages Partner POP exposent les ressources attendues et la portée réseau avant certification.
- Les demandes Sponsor POP du site public passent par le panel pour garder un workflow traçable.
- La page status public normalise ses graisses typographiques.
- L’admin et l’API Partner POP exposent les informations utiles pour la certification.
Partner et Sponsor POP
- Copies FR/EN/DE clarifiées sur ressources, réseau et sponsor.
- Partial service-scope ajouté pour éviter les divergences entre vues.
- Liens sponsor du site public redirigés vers la console.
Validation
- Tests Partner POP admin, API et web étendus.
- Test status page pour figer le rendu typographique.
Source: Partner POP resource requirements, sponsor site routing and status typography 2026-06-23/24
- Ajout du modèle, service et job de certification Partner POP.
- Les demandes Partner POP stockent les champs nécessaires au suivi de certification.
- L’admin peut suivre l’état de certification et déclencher le contrôle.
- L’API publique ne publie que les POPs partenaires certifiés.
- La documentation agent contient le design et le plan d’implémentation Partner POP.
Certification
- RunPartnerPopCertification orchestre les contrôles post-approbation.
- PartnerPopCertificationService centralise l’évaluation et les messages.
- StatusPageService et PublicSiteDataController tiennent compte des POPs partenaires certifiés.
Validation
- Migration Partner POP automation ajoutée.
- Tests Partner POP admin, API, web et PublicSiteDataApi.
Source: Partner POP automation design and certification workflow 2026-06-23
- Chaque domaine peut avoir une page de status isolée avec titre, sous-titre, composants, incidents et monitors publics.
- Les zones gérées en NS peuvent provisionner automatiquement leur hostname status proxifié; les zones CNAME restent sans mutation DNS automatique.
- Les monitors HTTP, TCP, DNS et TLS s’exécutent sur une queue dédiée avec latence, état courant et détection des runs bloqués.
- Le nouvel agent cdn-pizza peut être enrôlé sur une machine légère pour remonter heartbeat, configuration et résultats sans exposer de secret.
- Les zones DNS gérées par CDN.PIZZA peuvent activer DNSSEC depuis la page DNS, avec DS à publier, signature de zone et vérification du DS parent.
- La console et les mails transactionnels suivent maintenant la locale utilisateur FR/EN/DE jusque dans les notifications billing, sécurité et invitation.
- L’inscription bêta est ouverte sans code d’invitation et demande la langue par défaut utilisée ensuite par la session, le profil et les mails.
- Le WAF montre l’effet réel des règles, notamment le mode Surveillance, et les certificats SSL générés peuvent être exportés en bundle PEM.
- Les cibles publiques sont filtrées contre les réseaux locaux, privés et réservés afin de réduire le risque SSRF.
- Le rollout est tolérant au schéma et le déploiement Docker/Nginx/CoreDNS évite les 500/502 persistants ou les reloads DNS non restaurés.
Pages status domaine
- Nouvelle page de gestion depuis le domaine pour activer, personnaliser et prévisualiser le status.
- Rendu public isolé par hostname afin qu’un domaine ne puisse pas voir les composants ou incidents d’un autre.
- Provisioning DNS automatique limité aux zones en mode NS, avec record A proxifié vers l’origine fallback cdn.pizza.
- Les domaines en mode CNAME affichent une limite explicite et ne déclenchent pas de changement DNS côté plateforme.
Monitors et files
- Création de monitors HTTP, TCP, DNS et TLS avec intervalle, timeout, seuils HTTP et visibilité publique configurables.
- Résultats historisés avec statut, latence, erreur normalisée et horodatage de check.
- Nouveaux jobs et commandes pour dispatcher les checks dus, marquer les runs stale et surveiller la queue monitors.
- Worker Docker dédié aux monitors afin de ne pas mélanger les probes de santé avec les queues déploiement/default.
Agent status
- Commandes CLI status-agent: enroll, status et run.
- Enrollment par token court et à usage limité, stockage local sous ~/.cdn-pizza/status-agents avec permissions strictes.
- Heartbeat et publication de résultats via bearer token hashé; l’API ignore les identités envoyées dans le body.
- Configuration agent renvoyée seulement pour la page status et l’organisation authentifiées.
DNSSEC domaine
- Nouveau panneau DNSSEC pour les zones gérées par les nameservers CDN.PIZZA: activation, désactivation, état signé et DS à transmettre au registrar.
- Génération de clés KSK/ZSK et signature des zones avant synchronisation vers les edge nodes.
- Vérification du DS parent afin d’indiquer si la délégation publiée chez le registrar correspond au DS attendu.
- Les records DNSSEC techniques DS et DNSKEY sont exclus du formulaire DNS standard pour éviter des configurations partielles ou contradictoires.
- Les domaines en mode CNAME affichent une explication dédiée: DNSSEC reste géré chez le fournisseur DNS externe.
Localisation et mails
- Locales centralisées dans config/locales.php et App\Support\SupportedLocales pour français, anglais et allemand.
- Inscription avec choix de langue par défaut, persistance users.locale, réhydratation de session au login, TOTP et WebAuthn.
- Les modèles User implémentent HasLocalePreference afin que NotificationSender applique la locale du destinataire.
- Les notifications billing et sécurité résolvent maintenant titres, corps, labels de contexte et actions au moment du rendu mail.
- Les invitations envoyées à une adresse anonyme portent explicitement la locale de l’inviteur.
- Scanner translations:scan étendu avec --strict, --locale et --path pour garder les catalogues FR/EN/DE complets.
Console WAF, SSL et exploitation
- La page WAF présente l’état effectif du trafic, le mode appliqué, la readiness challenge, le filtrage pays, le rate limit et l’ordre d’évaluation.
- Le mode Surveillance journalise les blocklists pays côté edge au lieu de bloquer, et la console affiche cet effet réel.
- Export PEM disponible pour les certificats SSL automatiques actifs, générés et déjà poussés sur les POPs.
- Le health-check des POPs CDN vérifie aussi le port 53 pour retirer du DNS les noeuds dont le DNS public ne répond plus.
- Le sync CoreDNS privilégie systemctl reload, restaure après rollback et évite un restart complet quand un reload suffit.
- Logo CDN.PIZZA harmonisé sur console, releases et vitrine générée.
Sécurité et rollout
- Blocage des targets locales, privées, réservées, documentation, multicast et liens locaux pour les monitors publics.
- Aucun token, endpoint interne ou détail privé de node n’est rendu dans la page status publique.
- Garde de compatibilité dans le service status pour éviter un 500 si /api/public/site-data est appelé avant la fin des migrations.
- Migrations appliquées pour les pages status, monitors, résultats, clés d’enrollment et agents.
- Image Laravel reconstruite avec ldns-tools pour générer et signer les zones DNSSEC dans les conteneurs applicatifs.
- Nginx résout désormais dynamiquement l’upstream app via le resolver Docker afin de ne pas garder une ancienne IP de conteneur après recreate.
Validation
- Tests Laravel pour pages status domaine, monitors, API agent, page publique et rollout /api/public/site-data.
- Tests Jest CLI pour l’agent status, les tokens et les sorties sans secret.
- Tests mail/localisation pour session FR/EN/DE, rendu réel via NotificationSender, billing, sécurité et invitations anonymes.
- Tests WAF pour état effectif, mode Surveillance, layout progressif et comportement edge des blocklists pays.
- Tests SSL export, santé POP DNS :53 et reload/rollback CoreDNS.
- Tests Laravel DNS/DNSSEC/GeoDNS pour résolution DS, formulaire DNS, activation DNSSEC, signature de zone et sync signée.
- Endpoint /api/public/site-data vérifié en 200 après migration et cache clear.
- Binaire ldns-keygen et ldns-signzone vérifiés dans les conteneurs applicatifs après rebuild Docker.
- Console vérifiée en 200 sur /login après correction Nginx et redémarrage/recreate des services applicatifs.
- Scanner strict traductions, Pint ciblé, git diff --check et garde-fou permissions exécutés.
Source: domain status pages, monitors, lightweight status agent, DNSSEC and localized mail 2026-06-23
- La console dispose de nouvelles validations bêta: smoke Playwright authentifiée, seed sandbox et tests BaseDNS, SSL, billing, Payrexx, fichiers, purge et GeoDNS.
- La navigation console est regroupée en catégories Services, Opérations et Paramètres, avec le compte et les réglages mieux alignés à droite.
- Le CDN HTTP peut maintenant mettre en cache les réponses d’origine sûres avec modes, TTL POP, TTL navigateur et stratégie query string par domaine.
- Les edge nodes évitent automatiquement de cacher les requêtes sensibles: Authorization, Cookie, Range, Set-Cookie et directives privées/no-store/no-cache.
- La page DNS présente un bloc CDN HTTP clair qui sépare origine web, cache edge et portée des records Proxy actif.
- Le site public de développement a été poli pour la bêta avec une section console réelle et un carousel panel plus stable.
Console bêta
- Ajout d’un environnement Playwright console avec utilisateur sandbox, base SQLite dédiée, serveur de test et teardown propre.
- Renforcement des parcours testés: facturation, dépôts Payrexx, fichiers, purge cache, BaseDNS admin, certificats SSL admin, GeoDNS et endpoint nodes.
- Les jobs de purge et de synchronisation fichiers transportent mieux le contexte zone et node pour éviter les actions ambiguës.
Navigation console
- Regroupement des entrées secondaires en menus déroulants Services, Opérations et Paramètres.
- Réduction du poids visuel de la navbar sur desktop et vérification du comportement mobile authentifié.
- Déplacement logique du bloc compte/réglages vers la droite afin de séparer navigation produit et actions utilisateur.
Cache CDN
- Nouveaux réglages domaine: mode cache, TTL edge, TTL navigateur, query string incluse ou ignorée et bypass cookies.
- Les payloads DNS sync transmettent la politique cache aux edge nodes pour les hostnames proxyfiés.
- Le cache edge ne stocke que les réponses HTTP sûres et sert les HEAD depuis le cache sans peupler de nouvelles entrées.
- Les purges restent disponibles via API et les stratégies par domaine sont couvertes par tests Laravel, Go et API zones.
DNS et interface cache
- Le bloc DNS “CDN HTTP : origine et cache” explique que les records DNS-only restent de simples réponses DNS.
- Les réglages sont séparés entre Origine web et Cache edge, avec libellés explicites pour connexion origine, HTTPS visiteur, TTL POP et cache navigateur.
- Correction CSP de la page DNS grâce au nonce sur le script dynamique du formulaire DNS.
Site public dev
- Section console réelle et carousel panel ajustés pour mieux montrer le produit sans inventer d’interface.
- Amélioration responsive et réduction des répétitions visuelles dans les pages de préparation bêta.
- Contrôles des données publiques pour éviter les valeurs frontend incohérentes.
Validation
- Tests Laravel ciblés sur DNS/cache, release notes et parcours bêta.
- Tests Go edge-node pour cache HTTP, sync DNS et règles de bypass.
- Validation Playwright desktop/mobile de la navigation et du panneau DNS/cache, sans erreur console/CSP.
- Pint et garde-fou permissions exécutés sur les changements livrés.
Source: beta console readiness, navigation grouping and configurable CDN cache 2026-06-21
- La page WAF expose un état de protection effectif avant les réglages.
- Les actions Bloquer et Challenge affichent leur effet réel en Surveillance.
- Le filtrage pays côté edge respecte désormais le mode Surveillance et journalise au lieu de bloquer.
- Les libellés des actions custom, managed, géo et rate limit sont harmonisés.
Console WAF
- Ajout d’un bloc État de protection avec trafic protégé/non protégé, mode effectif, challenge, géo, rate limit et ordre d’évaluation.
- Affichage explicite Action configurée / Effet maintenant pour éviter de promettre un blocage lorsque le WAF est en Surveillance.
- Copies clarifiées sur les listes pays et IP pour rappeler que l’effet dépend du mode WAF.
Edge WAF
- Le filtrage géographique utilise la même résolution d’action que les autres règles WAF.
- En mode Surveillance, les pays blocklistés sont journalisés au lieu d’être bloqués.
Validation
- Tests Go edge WAF pour les blocklists pays en Surveillance.
- Tests Laravel de rendu WAF pour trafic non protégé, Surveillance et protection active.
- Validation Playwright desktop/mobile et garde-fou permissions.
Source: waf clarity and monitor mode consistency 2026-06-21
- Le site public présente désormais les surfaces clés pour la bêta: fonctionnalités, réseau live, CLI/API, sponsors, prix, sécurité et pages multilingues FR/EN/DE.
- La homepage remplace les aperçus inventés par un carousel de captures réelles du panel issues d’un compte sandbox isolé, sans données client.
- La page réseau utilise une carte Leaflet fondée sur les coordonnées réelles des POPs, avec flags robustes et inventaire public cohérent.
- Les données publiques exposent les tiers POP réels Margherita/Diavola et évitent les valeurs frontend hardcodées.
- Le branding public a été consolidé autour du logo cloud + pizza, des icônes Lunoz/Boxicons et du crédit UP-NETWORK Sàrl.
Site public
- Pages publiques structurées pour la bêta: accueil, fonctionnalités, réseau live, développeurs, sponsors, prix et sécurité.
- Versions statiques FR, EN et DE avec URLs propres, liens hreflang/canonical et sitemap public.
- Suppression des notes internes/SEO visibles au profit d’un contenu public orienté produit.
Console et preuve produit
- Carousel de captures réelles du panel: tableau de bord, domaines, DNS, WAF, fichiers et réseaux privés.
- Captures labellisées comme sandbox isolée afin de rendre la console tangible sans exposer de données client.
- Mise en scène homepage plus compacte pour la bêta publique, avec contrôles accessibles et états actifs.
Réseau live et données publiques
- Carte Leaflet sombre avec coordonnées POP réelles, markers/flags stabilisés et regroupement plus lisible.
- Inventaire POP public aligné avec les données backend: statut, régions, tiers et prix par GB.
- Cartes POP plus denses: statuts compacts et suppression des répétitions de données manquantes.
Branding et exploitation
- Logo cloud + pizza appliqué au site public, à la console et aux variantes statiques.
- Remplacement des décorations emoji par les icônes Lunoz/Boxicons adaptées au style cdn.pizza.
- Version console et changelog remis à jour pour suivre la préparation de sortie bêta publique.
Source: public beta preparation + public site commits 2026-06-19/20
- Les dépôts Payrexx sont liés à leur référence locale avant tout crédit wallet.
- Le montant, la gateway et la devise attendus sont vérifiés contre les données confirmées par Payrexx.
- Les rejouements ou transactions externes ne peuvent plus créditer un dépôt en attente sans correspondance.
- La console expose ce durcissement dans le changelog public et le footer de version.
Billing
- Le webhook refuse les transactions confirmées qui ne pointent pas vers le dépôt pending correspondant.
- Les écarts de montant, monnaie ou passerelle restent en attente au lieu de créditer automatiquement le wallet.
- Les tests de régression couvrent le binding transaction/dépôt et les cas de spoofing webhook.
Console
- Version bêta mise à jour en v0.5.3 dans le footer console et auth.
- Entrée changelog publique ajoutée pour tracer le correctif de sécurité Payrexx.
Source: security/payrexx-webhook-hardening
- Les policies réseau default-deny couvrent aussi les routes privées configurées côté edge.
- Les règles ACL personnalisées invalides restent en brouillon et ne cassent plus l’application edge.
- Les coupons trafic sont réconciliés lors des corrections de consommation à la baisse.
- Les builds et playbooks évitent d’exposer les secrets dans les images ou logs de déploiement.
Sécurité réseau
- Application nftables sérialisée côté edge pour éviter les courses entre pushes de policy.
- Default-deny appliqué même sans règle active afin d’éviter les échecs ouverts.
- Activation ACL bloquée tant que les règles ne disposent pas de données CIDR appliquables.
Billing et exploitation
- Allowance premium 100 GB alignée entre API, console et configuration.
- Crédits coupons restaurés quand une rerun journalière corrige la consommation à la baisse.
- Docker, CoreDNS, GitHub Actions et templates Ansible durcis pour une reprise de développement propre.
Source: working tree 2026-06-04
- Les formulaires data-confirm ouvrent un dialogue intégré au panel Lunoz via SweetAlert2.
- Les alertes JS visibles sur nodes, POPs, renouvellement registrar et bulk actions utilisent le même helper panel.
- Les confirm/alert natifs sont bannis des vues Blade actives par test automatique.
- La suppression groupée des nodes conserve la confirmation serveur confirm_bulk_delete et les protections nameservers critiques.
Interface
- Chargement global des assets SweetAlert2 du template Lunoz et styles compatibles dark mode.
- Libellés de confirmation centralisés et traduits depuis le layout applicatif.
- Fallback Bootstrap fermé si SweetAlert2 n’est pas disponible, sans soumission silencieuse.
Sécurité et accessibilité
- Messages injectés en texte, pas en HTML, afin de limiter les risques XSS.
- Suppression des handlers inline onclick/onsubmit confirm pour rester compatible CSP.
- Contrats de tests ajoutés pour empêcher le retour de window.confirm, alert ou confirm natif dans le panel.
Source: working tree 2026-06-01
- Les edge nodes reportent version, commit, date de build et capabilities dans heartbeat et health.
- Le control-plane stocke la compatibilité des nodes et bloque les métadonnées private-origin sur les builds qui ne prouvent pas le support.
- Commande d’audit nodes:audit-compatibility et badges admin fleet pour repérer les nodes unknown/incompatible.
- Passe sécurité: SSRF IPv6 transition, WebDAV, reset password, BYOC, webhooks, supply-chain PHP/Go et action GitHub de déploiement.
Compatibilité edge
- Capability requise: private_origin_metadata_v1.
- Statuts normalisés: compatible, incompatible ou unknown selon les métadonnées reçues.
- Les fingerprints DNS tiennent compte du support capability afin de resynchroniser après upgrade ou downgrade.
Sécurité
- SafeOutboundHttpClient bloque les formes IPv6 de transition vers des cibles privées ou réservées.
- Les URLs webhook loggées sont nettoyées de userinfo et query string.
- Le reset password révoque les tokens et sessions database existants.
Origines privées et BYOC
- Les POPs sans capability private-origin ne reçoivent plus de métadonnées d’origine privée.
- Les nodes BYOC sont rattachées à l’organisation courante et la rotation de token exige la clé actuelle.
- Les stats et messages multi-tenant évitent d’exposer des POPs, réseaux ou CIDR d’autres organisations.
Edge et supply-chain
- Le stockage public edge ne sert plus l’espace interne .metadata/.
- La sync DNS edge purge les hôtes managés hors zone au reload/sync.
- Go, dépendances PHP et images Docker edge sont mis à jour avec versions plus explicites.
Source: docs/SECURITY-AUDIT-2026-05-29.md + docs/superpowers/plans/2026-05-29-edge-node-compatibility-contract.md
- Footer console et auth relié au changelog public.
- Catalogue centralisé des versions bêta avec dates, statut, sources et détails.
- Page publique /releases avec définition de versioning et historique complet.
Versioning
- La version courante est reconstruite depuis le catalogue et retombe sur la dernière entrée si APP_VERSION est vide ou obsolète.
- Les versions précédentes restent visibles avec leur date de publication locale et leur source documentaire.
Interface
- Le badge v0.4.2 du footer devient un lien accessible vers le changelog.
- La page publique reste disponible sans authentification pour les footers des écrans de login.
Source: working tree 2026-05-29
- Branches codex consolidées dans main sans travail unique restant.
- Garde-fou permissions ajouté avec scripts de contrôle/correction et hook pre-commit.
- Contraste du layout Laravel corrigé pour les tables en mode sombre.
- Validation complète Laravel, Go, CLI, permissions et diff Git.
Exploitation
- La suite du développement repart explicitement de main.
- Les scripts de permissions protègent les fichiers suivis sans relâcher storage, cache, .env ou secrets runtime.
Validation
- Laravel: 545 tests et 3202 assertions.
- Edge-node: go test ./... validé.
- CLI: 6 suites Jest et 15 tests validés.
Source: docs/UPDATE-2026-05-26.md
- Protection dev par mot de passe et personnalisation du challenge WAF.
- Synchronisation réseau privée plus stricte entre control-plane et edge nodes.
- Webhooks customer, client HTTP sortant sûr et protections SSRF.
- Pages Organisation/Billing alignées avec le wallet pay-as-you-go.
Réseau et edge
- Policies réseau vérifiées par hash, node, profil POP et statut réel de l’applier.
- Edge-node renforcé pour WireGuard, WAF dev auth, DNS CoreDNS et redémarrages robustes.
Console
- Page CLI enrichie avec commandes, endpoints API, erreurs HTTP et notes de sécurité.
- Navigation console refactorisée avec topbar, menu horizontal et corrections mobile.
Sécurité
- Validation des URL webhooks et SEO via SafeOutboundHttpClient.
- Détails de facturation masqués aux rôles non managers.
Source: docs/UPDATE-2026-05-23.md
- WebAuthn/passkeys pour la 2FA et durcissement des tokens API.
- Coupons trafic, registrar en queue et renouvellement des domaines gérés.
- Jobs DNS/registrar visibles dans les tâches opérationnelles.
- Edge management protégé par CIDR et proxy origin durci.
Compte et admin
- Création de tokens API protégée par mot de passe courant.
- Mode admin protégé par 2FA avec gestion utilisateurs enrichie.
DNS et POPs
- Synchronisation DNS, suppression DNS et base-zone déplacées en jobs.
- Sélection des POPs actifs et probes de latence dédiées à la queue latency.
Source: docs/UPDATE-2026-05-19.md
- Organisations avec rôles, invitations et remplacement d’organisation personnelle vide.
- Support client avec tickets, réponses, notes internes et pièces jointes.
- Registrar Internet.bs, mail géré, WebDAV et stockage répliqué.
- WAF avec presets, listes pays/IP, challenge et synchronisation edge.
Produit
- Pages POP/réseau remaniées avec smart routing et probes de qualité inter-noeuds.
- Audits SEO avancés sandboxés avec débit wallet et artefacts.
Technique
- Middleware de rôle organisation sur les mutations customer.
- Nouvelles migrations pour tickets, invitations, mail, SEO, probes et codes d’invitation.
Source: docs/UPDATE-2026-05-17.md