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
- LTI 1.3 (LTI Advantage) — ma ressource est (ou doit être) un outil LTI
- 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). En LTI 1.3, la même asymétrie s’exprime autrement : vous êtes l’outil (Tool), ProxyNinja est la plateforme (Platform) qui vous lance.
- Je peux agir en client OIDC / SP SAML / client CAS standard
- Je peux agir en outil LTI 1.3 (j’expose
initiate_login_uri+target_link_uriet je valide leid_tokende lancement) - 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 — précisez le rôle tenu par votre brique :
- outil (Tool) — vous êtes lancé par un LMS
- plateforme (Platform) — vous lancez d’autres outils
- Autre :
__________________________
Une brique LTI outil déjà en place est réutilisable telle quelle : nous déclarons ProxyNinja comme plateforme et vous n’ajoutez aucun client OIDC.
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) | ________________ |
________________ |
Si vous intégrez en LTI 1.3, ajoutez :
| Élément | Préproduction | Production |
|---|---|---|
initiate_login_uri (initiation OIDC tierce) |
________________ |
________________ |
target_link_uri (URL de lancement) |
________________ |
________________ |
| URL JWKS de votre outil (seulement si services LTI Advantage) | ________________ |
________________ |
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 |
| Protocole LTI 1.3 | Outil LTI 1.3 Advantage : packbackbooks/lti-1p3-tool (PHP) ou ltijs (Node) |
Guide → LTI 1.3 |
| SSO LTI outil déjà en place | Réutiliser votre brique LTI ; nous déclarons ProxyNinja comme plateforme | Guide → LTI 1.3 |
| 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 au contact qui vous a été communiqué (à l’onboarding). Nous répondons avec votre recommandation détaillée + le code de référence adapté à votre stack.