Questionnaire d'intégration
Ce questionnaire nous permet de vous recommander la meilleure approche d’intégration et de vous fournir l’exemple de code adapté à votre stack.
Recommandation express
Version interactive des sections B → E + G : vos réponses sont enregistrées dans votre navigateur et partageables par lien (pratique pour nous les transmettre). Tout reste utilisable sans JavaScript via les sections détaillées plus bas.
Votre recommandation
Répondez ci-dessus (au moins le protocole ou votre stack) pour afficher une recommandation. Sans JavaScript, reportez-vous au tableau d’aiguillage plus bas.
Le détail à nous transmettre
Section intitulée « Le détail à nous transmettre »Le formulaire ci-dessus couvre l’essentiel pour l’aiguillage. Complétez ensuite les champs ci-dessous — notamment l’identité de la ressource (section A) et les URLs exactes (section F) — puis envoyez-les nous (voir Comment nous l’envoyer).
Section A — Identité de la ressource
Section intitulée « Section A — Identité de la ressource »| Champ | Votre réponse |
|---|---|
| Nom de l’éditeur | __________________________ |
| Nom de la ressource (telle qu’affichée dans le médiacentre) | __________________________ |
| Contact technique (nom + e‑mail) | __________________________ |
| Environnements souhaités | ☐ Préproduction ☐ Production |
| Réf. GAR / id ressource (si connue) | __________________________ |
Section B — Protocole souhaité
Section intitulée « Section B — Protocole souhaité »Si vous n’avez pas de contrainte, choisissez OIDC : c’est le protocole le mieux outillé et le plus simple à intégrer.
- OIDC (OpenID Connect) — recommandé
- SAML2
- CAS3
- Je ne sais pas / aidez‑moi à choisir
De quel côté implémentez‑vous ? Vous êtes le fournisseur de service (SP / Relying Party) ; ProxyNinja est le fournisseur d’identité (IdP / OP).
- Je peux agir en client OIDC / SP SAML / client CAS standard
- J’ai besoin d’aide pour ce rôle
Section C — Comment intégrez‑vous l’authentification chez vous ?
Section intitulée « Section C — Comment intégrez‑vous l’authentification chez vous ? »- Nouvelle application — je pars d’une page blanche
- Application existante — j’ajoute un fournisseur d’identité supplémentaire
- Middleware / reverse‑proxy devant l’application (ex. oauth2‑proxy, mod_auth_openidc, Vouch)
- Passerelle / API gateway (ex. APISIX, Kong, Traefik ForwardAuth)
- Autre :
__________________________
Point d’entrée fonctionnel : disposez‑vous déjà d’une URL qui peut servir de point d’entrée après authentification (où l’utilisateur « atterrit ») ?
- Oui — URL :
__________________________ - Non — à concevoir (voir le guide d’intégration)
Section D — Développez‑vous en interne ?
Section intitulée « Section D — Développez‑vous en interne ? »- Oui, développement interne
- Non — éditeur tiers / progiciel / no‑code (précisez) :
____________
Si oui, indiquez votre stack (cela détermine la bibliothèque recommandée) :
| Champ | Votre réponse |
|---|---|
| Langage principal | ☐ PHP ☐ Node.js ☐ .NET / C# ☐ Java ☐ Python ☐ Autre : ______ |
| Framework | ☐ Laravel ☐ Symfony ☐ Express/Fastify ☐ NestJS ☐ ASP.NET ☐ Spring ☐ Autre : ______ |
| Version du framework | __________________________ |
| Gestion de session actuelle | ☐ Cookie de session serveur ☐ JWT/stateless ☐ Autre : ______ |
Section E — Avez‑vous déjà des intégrations SSO ?
Section intitulée « Section E — Avez‑vous déjà des intégrations SSO ? »Si vous avez déjà un SSO, nous pouvons souvent réutiliser votre brique existante plutôt que d’en ajouter une.
- Non, aucune intégration SSO à ce jour
- Oui — cochez ce qui s’applique :
- Keycloak (client/adapter déjà en place)
- OIDC générique (Auth0, Azure AD / Entra ID, Google, Okta…)
- SAML2 (ADFS, Shibboleth, simpleSAMLphp…)
- CAS (apereo CAS, phpCAS…)
- LTI 1.3 / LTI Advantage
- Autre :
__________________________
Détail libre (briques existantes, librairies, contraintes) :
____________________________________________________________________________________________________________________________________________Section F — URLs à nous communiquer (prod + préprod)
Section intitulée « Section F — URLs à nous communiquer (prod + préprod) »| Élément | Préproduction | Production |
|---|---|---|
| URL de login (point d’entrée) | ________________ |
________________ |
| URL de redirection (callback OIDC / ACS SAML) | ________________ |
________________ |
| URL de logout back‑channel (OIDC ou CAS) | ________________ |
________________ |
Section G — Attributs souhaités
Section intitulée « Section G — Attributs souhaités »Quels attributs utilisateur/établissement attendez‑vous ? (Voir la référence des attributs GAR.)
- Identité (nom, prénom)
- Profil (élève / enseignant / …)
- Établissement (UAI/RNE, nom)
- Niveau / classe / structure
- Autre :
__________________________
Votre recommandation (auto‑aiguillage)
Section intitulée « Votre recommandation (auto‑aiguillage) »Le formulaire en haut de page applique la logique ci‑dessous. Le tableau reste la référence (et le repli sans JavaScript) :
| Si vous avez répondu… | Recommandation | Pour aller plus loin |
|---|---|---|
| Protocole OIDC + PHP/Laravel | jumbojett/openid-connect-php, ou Laravel Socialite + socialiteproviders/keycloak |
Guide → OIDC · PHP/Laravel |
| Protocole OIDC + Node.js | openid-client (certifié) + Passport |
Guide → OIDC · Node |
| SSO Keycloak déjà en place | Réutiliser votre adaptateur, pointer l’issuer sur ProxyNinja | Guide → Configuration |
| Protocole SAML2 | SP SAML : onelogin/php-saml (PHP) ou @node-saml/passport-saml (Node) |
Guide → SAML2 |
| Protocole CAS3 | apereo/phpCAS (PHP) ou client CAS Node |
Guide → CAS3 |
| Pas de dev interne (middleware) | oauth2‑proxy / mod_auth_openidc devant la ressource | Guide → Point d’entrée |
| Je ne sais pas | Nous vous orientons après lecture de vos réponses | écrivez‑nous (ci‑dessous) |
Comment nous l’envoyer
Section intitulée « Comment nous l’envoyer »Deux options, au choix :
- Lien de partage (rapide). Renseignez le formulaire en haut de page,
cliquez sur « Copier le lien de partage », et envoyez‑nous ce lien : il
encode vos réponses dans l’URL (
?proto=…&stack=…). - Document détaillé. Copiez les sections A → G, complétez‑les (identité, URLs exactes, attributs indispensables) et joignez‑les.
Adressez le tout à @eric dans le canal Slack garninja (ou par e‑mail au contact qui vous a été communiqué). Nous répondons avec votre recommandation détaillée + le code de référence adapté à votre stack.