Présentation Access Gateway · Architecture

Partager des idées.
Contrôler chaque accès.

Une passerelle centrale protège des mini-sites HTML statiques avec des invitations personnelles, des sessions courtes et une décision d'accès prise par l'application avant chaque fichier.

Ouvrir la passerelle →

🔒 Administration privée · invitations individuelles

Le navigateur ne décide jamais seul

Les présentations restent des fichiers statiques. nginx intercepte chaque requête, demande une autorisation à Node.js, puis ne sert le fichier qu'après une réponse positive.

InvitéLien personnel, PIN facultatif, session opaque
GatewayExpress 5, SQLite, sessions et règles de droits
nginxauth_request puis fichiers statiques protégés
Node.js 24Express 5SQLitenginx auth_requestArgon2idsystemdHTTPS

Ce qui rend le système sûr

🔗

Un lien, un destinataire, une durée

Le token aléatoire n'est affiché qu'une fois. Seul son hash est stocké. Une activation crée une session indépendante, limitée par l'expiration et le quota d'utilisation.

🛡️

Chaque fichier repasse par l'autorisation

HTML, CSS, JavaScript, images, vidéos et documents passent par le même contrôle auth_request. Le navigateur ne peut pas fournir lui-même l'identité de la présentation.

📦

Importer sans modifier nginx

Un ZIP administrateur est contrôlé, extrait dans une zone temporaire puis publié atomiquement sous une clé. Réimporter la même clé remplace le mini-site sans casser ses invitations.

♻️

Révoquer et remplacer proprement

Une suppression révoque invitations et sessions liées. Si un lien est perdu, un lien de remplacement est généré une seule fois ; l'ancien devient immédiatement inutilisable.

🔐

Administration séparée des visiteurs

L'administration utilise Google OIDC pour pub@loirette.com et des sessions distinctes. Les invités n'ont jamais de compte ni de droits d'administration.

🧾

Des traces utiles, sans secrets

Les activations, refus, révocations et accès significatifs sont journalisés. Les tokens, cookies, PIN et mots de passe ne le sont jamais.

Le résultat est volontairement sobre : les mini-sites restent indépendants et statiques, tandis que la passerelle centralise l'identité, les invitations et la décision d'accès.

Une présentation reste un simple site statique

La sécurité vit dans la passerelle et dans nginx, pas dans le JavaScript de chaque slide.

← Retour à Frédéric Loirette