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
Architecture
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.
Points techniques
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