Guide d interfaçage SSO Connexion des ressources aux plates-formes de type Corrélyce. Sommaire. Titre du document

Dimension: px
Commencer à balayer dès la page:

Download "Guide d interfaçage SSO Connexion des ressources aux plates-formes de type Corrélyce. Sommaire. Titre du document"

Transcription

1 Connexion des ressources aux plates-formes de type Corrélyce CRDP ACADÉMIE D AIX-MARSEILLE 31, bd d Athènes Marseille cedex 1 T F Établissement public administratif régi par les articles D et suivants du Code de l éducation Affaire suivie par G. Puimatto, Directeur adjoint Sommaire Contenu de ce document Présentation générale de CAS Intérêt Fonctionnement de base Fonctionnement en mode proxy-cas Notions de TGC et ST Fonctionnement en mode Proxy-CAS Implémentation côté éditeur Création d'une page d'accès à la ressource Informations mises à disposition à l issue d une connexion réussie Liaison avec l url d accès Tests Exemples de flux XML CAS Exemples de code utilisables pour la réalisation de la page d accès Principe fonctionnel Les exemples de code proposés ci-après Licence.txt Ressource.php Single_cas_secure.php Multiple_cas_secure.php Lib.php Corree.php Login.php Logout.php Titre du document Guide d interfaçage SSO Courdecol13 Nom du document CycDiff_GuideSSO_C13_ pdf Date 23 Aout 2012 Version 2 /Courdecol13 Auteur(s) CRDP de l académie d Aix-Marseille - Alexandre Mathieu, Nicolas Michel, Gérard Puimatto Observations «Guide d interfaçage SSO - Connexion des ressources aux plates-formes de type Corrélyce» réalisé par le CRDP de l'académie d'aix-marseille est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d'utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.

2 CONTENU DE CE DOCUMENT Ce document est destiné aux correspondants techniques des éditeurs de ressources en ligne souhaitant intégrer leurs ressources dans l une des plateformes dérivées de Corrélyce (Corrélyce, Courdecol13, Coréprim, etc.). Il décrit techniquement les protocoles d interfaçage des ressources en accès SSO, notamment les modes CAS utilisés. En annexe, des exemples de codes sont fournis pour éclairer les explications et fournir une base de travail aux programmeurs de ces interfaces. Dans les pages qui suivent, Courdecol13 désigne l application qui assure le fonctionnement de la plate-forme. Le cœur de ces plateformes, décrit ci-dessous, est fondé sur une organisation de type «socle ENT», appuyé sur le système SSO (Single Sign On, authentification unique). Au-delà de la facilité de ne pas avoir à ressaisir l identification pour chaque service accédé, le SSO permet aussi d ouvrir des canaux d accès aux ressources d éditeurs tiers sans avoir à communiquer d informations nominatives. Le recours au SSO sans transmission d identifiants nominatifs est le principe de base adopté pour la connexion aux ressources via les ENT, notamment décrit par le SDET et les avis de la CNIL. Figure 1 - Organisation générale Les ressources peuvent être gratuites ou payantes, soumises à contrôle d accès ou pas. Le dispositif évoqué ici vise à décrire les accès aux ressources à accès contrôlé, qu elles soient gratuites ou payantes. La propagation de l authentification vers les ressources utilise le protocole CAS. CRDP de l Académie d Aix-Marseille page 2 Aout 2012

3 Connexion des ressources aux plates-formes de type Corrélyce 1. PRESENTATION GENERALE DE CAS CAS est un système d'authentification unique développé par l'université de Yale 1. C'est un mécanisme très fiable, qui est implanté dans de nombreuses universités et organismes dans le monde. CAS est une application Web écrite en Java et distribuée comme un logiciel libre Intérêt CAS évite de s'authentifier à chaque fois qu'on accède à une application en mettant en place un système de ticket. C est un système de SSO : on s'authentifie sur un site web, et on est alors authentifié sur tous les sites web qui utilisent le même serveur CAS Fonctionnement de base Dans son fonctionnement de base, une application CASifiée 2 s'en remet à CAS pour son authentification. Lors de l'accès d'un utilisateur à une page protégée, le serveur CAS est interrogé. Si l utilisateur est identifié sur le serveur CAS, c est cette identification qui est soumise au service demandé ; si l utilisateur n est pas authentifié sur le serveur CAS, la fenêtre d authentification est affichée. L existence d une authentification sur le serveur CAS est conservée sur le navigateur du client sous la forme d un cookie. De même, tous les échanges entre l application demandée et le serveur CAS sont réalisés au moyen de redirections via le navigateur (http 302). 3 - authentification Serveur CAS 4 auth OK : TGC + ST TGC 5 validation ST Navigateur web (utilisateur) 4 transmission ST 2 - demande authentification 1 - demande initiale Application cassifiée Figure 2 - Synoptique simplifié des échanges (utilisateur non authentifié sur le CAS) 1 Central Authentication Service : 2 Une application CASsifiée est une application qui se connecte à un serveur CAS pour son identification. Corrélyce et Corrélyce-diffusion sont des marques déposées par la Région PACA Courdecol13 est une marque déposée par le Conseil Général des Bouches du Rhône Corédu et Coréprim sont des marques déposées par le CRDP de l académie d Aix-Marseille page 3

4 Serveur CAS 3 TGC OK : transmission ST TGC 4 validation ST Navigateur web (utilisateur) 3 transmission ST 2 - demande authentification 1 - demande initiale Application cassifiée Figure 3 - Synoptique simplifié des échanges (2ème connexion utilisateur déjà authentifié sur le CAS) Dans les Applications Coré, une version de CAS plus élaborée a été choisie, qui simplifie l interface côté page de l éditeur. Il s agit du «Proxy CAS» 1.3. Fonctionnement en mode proxy-cas En mode Proxy CAS, une application mandataire assure la gestion des accès. Figure 4 - Mode Proxy CAS, première connexion CRDP de l Académie d Aix-Marseille page 4 Aout 2012

5 Connexion des ressources aux plates-formes de type Corrélyce Serveur CAS TGC 3 auth OK : TGC + ST 4 demande PT 6 validation PT Navigateur web (utilisateur) 3 transmission ST 2 - demande authentification 1 - demande initiale PGT Connecteur mandataire cassifié 5 transmission PT Application cible Figure 5 - Mode Proxy CAS, session CAS déjà ouverte 1.4. Notions de TGC et ST Ticket-Granting Cookie (TGC) Le TGC, présent dans les schémas précédents, est un cookie de session qui est transmis par le serveur CAS au navigateur du client lors de la phase de login. Ce cookie ne peut être lu / écrit que par le serveur CAS, sur canal sécurisé (https). Il est présent durant toute la session de l'utilisateur et permet d'obtenir des Service Ticket auprès du serveur CAS. Si le navigateur web n'accepte pas les cookies, l'utilisateur devra se ré-authentifier à chaque appel au serveur CAS Service Ticket (ST) Ce ticket va servir à authentifier une personne pour une application web donnée. Il est envoyé par le serveur CAS après que l'utilisateur s'est authentifié et est transporté dans l'url. Ce ticket ne peut être utilisé qu'une seule fois. Il y a ensuite dialogue direct entre l'application web et le CAS via un GET http (sous la forme d une redirection http 302 sur le navigateur), avec le ST en paramètre. En réponse, le serveur CAS retourne l'identifiant de la personne, et donc l'authentifie. Il invalide également le ticket (libération des ressources associées). En fait, ce ticket concerne une personne, pour un service ; il n est utilisable qu une seule fois Fonctionnement en mode Proxy-CAS Le fonctionnement en mode proxy permet à une application proxy-cas de donner accès à d'autres applications clientes sous condition. Ces applications clientes valideront le ticket transmis par l'application proxy auprès du serveur CAS. c'est l'application proxy qui est chargée de faire tous les tests nécessaires pour autoriser ou non l'accès à l'application cliente demandée (i.e. générer ou non le PT nécessaire) l'application cliente ne peut être accédée par l'utilisateur qu'en passant par l'application proxy Proxy-Granting-Ticket (PGT) Il est envoyé par le serveur CAS à une application web «proxy-cas» disposant d'un ST valide. Ce ticket confère au proxy CAS la possibilité de demander au serveur CAS de générer un Proxy Ticket (PT) pour une application tierce et une personne donnée. Corrélyce et Corrélyce-diffusion sont des marques déposées par la Région PACA Courdecol13 est une marque déposée par le Conseil Général des Bouches du Rhône Corédu et Coréprim sont des marques déposées par le CRDP de l académie d Aix-Marseille page 5

6 Proxy-Ticket (PT) Il est généré par le serveur CAS à la demande d'un proxy CAS. Il permet d'authentifier l'utilisateur pour un service distant, avec lequel le client web n'a pas d'accès direct. Le service distant l'utilisera comme le ST, mais sur une URL différente. CAS dispose alors de deux services distincts pour la validation de ses tickets : servicevalidate (pour les ST) et proxyvalidate (pour les PT). Le PT est lié au service distant et n'est pas réutilisable. Selon les implémentations de CAS, le PT peut aussi être désigné par les initiales ST. 2. IMPLEMENTATION COTE EDITEUR L'utilisation de CAS pour gérer les accès à une application en ligne est basée sur des standards de l'internet (http, https et xml) et ne requiert pas de langage de programmation particulier. Pour pouvoir prendre en compte les demandes d'accès, deux opérations sont nécessaires : mettre en place une page d'accès à la ressource ; Indiquer l'adresse de cette page dans les données de description de la ressource dans le catalogue Création d'une page d'accès à la ressource La page d'accès à la ressource doit être une page «dynamique» (dans un langage tel que Java, PHP, ASP, etc.). Le programme inclus dans cette page doit vérifier les droits de l appelant, en s appuyant sur les services CAS, puis, si les conditions sont réunies, ouvrir l accès. Pour vérifier les droits de l'appelant, il est nécessaire de réaliser les actions suivantes : 1. vérifier qu'un paramètre nommé «ticket» est bien passé en paramètre, sinon afficher un message d'erreur ; 2. appeler la page de validation par le proxy CAS avec 2 paramètres : - «ticket» : le paramètre ticket passé en paramètre URL ; - «service» : l'url de la page courante. Attention, l'url de cette page doit être celle inscrite dans la notice du catalogue. En effet, le ticket PT généré par CAS prend en compte cette URL et la validation du PT vérifie la correspondance de l'url passée lors de la génération du PT avec l'url de la page courante. 3. analyser la réponse XML du serveur CAS : - erreur d'authentification : afficher une erreur à l'utilisateur ; - authentification réussie : extraire les informations d'identifiant numérique d'utilisateur, sa classe, son rôle, le SIREN et le RNE de son établissement et donner accès à la ressource. Les exemples de code donnés plus loin permettent d illustrer ces traitements. Notes : Les librairies clientes CAS disponibles dans de nombreux langages de programmation3 cachent ces échanges clients-serveurs. Il suffit généralement de leur fournir l'adresse du serveur CAS et d'indiquer que la page est un client proxy CAS. Leur utilisation ne permet toutefois pas toujours de se connecter à Corréé, compte tenu de l utilisation d un format de ticket non standard. Un éditeur / diffuseur qui propose plusieurs ressources à Courdecol13 n'est pas obligé de mettre en place une page d'accès par ressource mais peut proposer un point d'entrée unique avec un paramètre URL différent, ou une redirection d URL, par ressource (paramètre «idressource» par exemple qui contient un identifiant unique de ressource dans le système de l'éditeur). 3 Voir la page CRDP de l Académie d Aix-Marseille page 6 Aout 2012

7 Connexion des ressources aux plates-formes de type Corrélyce 2.2. Informations mises à disposition à l issue d une connexion réussie Les tags XML à extraire de la validation réussie du «jeton» renvoyé par Courdecol13 sont : cas:user cas:siren cas:rne identifiant numérique unique d'un utilisateur Siren de l'établissement (ou de l'entreprise pour un éditeur) RNE de l'établissement (ou de l'entreprise pour un éditeur) (optionnel) cas:profile «EDITEUR», «ELEVE», «PROFESSEUR» ou «AUTRE» cas :class classe de l'élève ou classes de l'enseignant (optionnel) On notera que le flux XML retourné par le serveur proxy-cas ne contient en aucun cas d identification nominative de l usager. Les informations fournies permettent de garantir que chaque utilisateur dispose d un identifiant numérique stable, ce qui permet si nécessaire de conserver ses informations de session ou de suivi d une session à l autre. Les données complémentaires d établissement, profil et classe permettent un suivi statistique et un profilage des accès. Dans la grande majorité des cas, les informations nominatives ne sont pas strictement utiles au fonctionnement des applications. Ce mode de fonctionnement permet d éviter pour le contributeur les contraintes techniques, réglementaires et légales de gestion d un annuaire. Dans le cas où les informations nominatives sont jugées indispensables au fonctionnement, le contributeur doit assurer l alimentation de son propre annuaire par d autres voies, et appuyer son fonctionnement sur une déclaration CNIL autonome et le respect des droits des usagers en la matière. La continuité entre l authentification plate-forme et l application est alors assurée par la tenue d une table d équivalence entre l identifiant cas:user transmis et l usager déclaré dans l annuaire de l application. Cette table peut être générée en demandant à l usager de saisir lors de sa première connexion via Courdecol13 son identifiant propre à l application (uniquement pseudo, ni nom, ni prénom). Il convient toutefois d éviter au maximum cette configuration Liaison avec l url d accès Lors de la validation d un titre, le contributeur est invité à renseigner l adresse URL de la page d accès cassifiée à la ressource. Cette URL est liée à la plate-forme utilisée, car elle contient l adresse du serveur d authentification à interroger. Pour les versions permettant l import de notices LOMFR réalisées avec LOMFRPAD, cette URL doit être saisie dans la section «4.3 localisation» de la notice documentaire LomFR correspondante. Pour les versions fondées sur le moissonnage de Coredu, l URL est saisie par l éditeur dans le formulaire de validation de la ressource, après saisie des informations commerciales. Attention, l'url de la page d accès Cassifiée doit être celle inscrite dans cette entrée de la description LOMFR. En effet, le ticket PT généré par CAS prend en compte cette URL et la validation du PT vérifie l'adéquation de l'url passée lors de la génération du PT et l'url courante. Cette information est visible uniquement par l'éditeur de la ressource ou par l'administrateur et n'apparaît pas lors de consultations publiques du catalogue Tests Les tests d'accès à la ressource peuvent être effectués directement par les contributeurs dans leur interface de gestion des titres : menu «gestion des titres», sélectionner le titre à tester cliquer sur le contenu de la colonne «Accès» du titre choisi cliquer sur le lien «tester» dans la nouvelle page l'utilisateur est alors redirigé vers l'url d'accès indiquée dans la notice LOMFR avec un ticket valide en paramètre Corrélyce et Corrélyce-diffusion sont des marques déposées par la Région PACA Courdecol13 est une marque déposée par le Conseil Général des Bouches du Rhône Corédu et Coréprim sont des marques déposées par le CRDP de l académie d Aix-Marseille page 7

8 2.5. Exemples de flux XML CAS Authentification réussie En cas d authentification réussie, le flux suivant est retourné. <cas:serviceresponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:authenticationsuccess> <cas:user>uam00010</cas:user><cas:rne> z</cas:rne><cas:siren> </cas:siren> <cas:profile>editeur</cas:profile><cas:proxies> <cas:proxy>https://www.correlyce.fr/correlyce/casproxy/receptor</cas:proxy> </cas:proxies></cas:authenticationsuccess></cas:serviceresponse> Le tag «cas:authenticationsuccess» indique que l'authentification est réussie. (exemple tiré de Corrélyce. Pour une autre plate-forme, l URL du serveur CAS sera différente) Authentification échouée En cas d échec d authentification, le flux suivant est retourné <cas:serviceresponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:authenticationfailure code='invalid_ticket'> le ticket 'ST-63-PJraQneKSfeXgrI4pvn20sXlFKQHcLWuMrU-20' est inconnu </cas:authenticationfailure></cas:serviceresponse> Le tag «cas:authenticationfailure» indique que l'authentification a échouée 3. EXEMPLES DE CODE UTILISABLES POUR LA REALISATION DE LA PAGE D ACCES Les codes qui suivent sont mis à disposition pour faciliter la connexion des ressources. Ils s appuient sur le langage php, utilisé à titre d exemple Principe fonctionnel En mode standard d accès à une ressource protégée en php, un module login.php est chargé d établir la session. Login.php Logout.php Navgateur client Ressource-test.php Exemple d application phpen accès protégé à rendre accessible via CORREE Figure 6 - Accès protégé standard en php Quand la ressource est connectée à Courdecol13, l accès se fait via une page d accès spécifiquement mise en place pour la connexion de la ressource à la plate-forme, qui met en œuvre le SSO de Courdecol l'utilisateur accède à une ressource depuis Courdecol13 (ressource-test.php dans l exemple suivant); 2. il est redirigé, après vérification, sur la page d'accès (ressource.php dans l exemple suivant) avec un PT dans l'url ; 3. la fonction secure() vérifie l'authentification sur le serveur CAS : - en cas d'échec, un formulaire d'authentification est présenté, - en cas de succès la session PHP est complétée par les données issues du jeton CAS ; CRDP de l Académie d Aix-Marseille page 8 Aout 2012

9 Connexion des ressources aux plates-formes de type Corrélyce 4. la ressource est affichée, on peut aussi faire une nouvelle redirection vers la ressource. Login.php Logout.php Navgateur client CORREE Ressource-test.php Exemple d application phpen accès protégé à rendre accessible via CORREE ressource.php Site éditeur single_cas_secure.php lib.php Corree.php A noter! Figure 7 - L'accès est géré par la page d'accès ressource.php 3.2. Les exemples de code proposés ci-après Le fonctionnement décrit nécessite que PHP soit installé sur votre serveur avec les modules openssl, domxml et la directive allow_url_fopen=on. Le module Curl est recommandé Licence.txt Le fichier licence.txt est l expression de la licence du code des fichiers fournis //===================================================================== //= licence //===================================================================== // Le programme dont le code suit a été créé à titre d'exemple par le // Centre Régional de Documentation Pédagogique de l'académie d'aix Marseille // à l'attention des éditeurs proposant des ressources pour les plateformes // de mise à disposition de ressources en ligne de type Corrélyce, projet // de la région Provence Alpe Côte d'azur. // Il est à adapter par l'éditeur et ne saurait être utilisé tel que. // // Auteur : CRDP Aix-Marseille - Alexandre Mathieu // Version : 2012_05_14 // Licence : Cecill V2 (http://www.cecill.info/licences.fr.html), compatible GNU GPL V3 // Selon les termes de ces licences, chacun est libre d'adapter // et de diffuser ce programme sans demande préalable, // et sans garantie de de la part de l'auteur. // Corrélyce et Corrélyce-diffusion sont des marques déposées par la Région PACA Courdecol13 est une marque déposée par le Conseil Général des Bouches du Rhône Corédu et Coréprim sont des marques déposées par le CRDP de l académie d Aix-Marseille page 9

10 3.4. Ressource.php Ressource.php est appelé «Page d accès» dans les différentes documentations et constitue le point d entrée de votre site pour une application externe. L adresse complète de ce connecteur est celle qui est attendue pour renseigner le champ 4.3 (system/localisation) de la notice documentaire, ou la zone localisation du formulaire de validation de la ressource (selon la version utilisée). Ressource.php représente la page d accès que vous devez installer sur votre site pour en protéger les accès. // contacte un seul serveur CAS par ex. correlyce OU courdecol13 require_once( 'single_cas_secure.php' ); // contacte plusieurs serveurs CAS par ex. correlyce ET courdecol13. //require_once( 'multiple_cas_secure.php' ); // protection de la <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <title>ressource protégée 1</title> <link href="css/simple.css" rel="stylesheet" type="text/css"> <meta content="text/html; charset=utf-8" http-equiv="content-type"> </head> <body> <h1>ressource 1</h1> <p>bonjour <?php echo $_SESSION['userid']?> (<?php <?php if (isset($_session['corree'])) {?> depuis <?php echo $_SESSION['corree']?> <?php?> </p> <div class="logout"> <a href="logout.php">se déconnecter</a> </div> </body> </html> CRDP de l Académie d Aix-Marseille page 10 Aout 2012

11 Connexion des ressources aux plates-formes de type Corrélyce 3.5. Single_cas_secure.php Single_cas_secure.php est un module logiciel contenant la fonction secure(), appelée par ressource.php lorsque l on connecte une ressource à une seule plate-forme Courdecol13. Ce code peut être recopié sur votre serveur et adapté en fonction des besoins. Cet exemple est codé pour Corrélyce. Pour une autre plate-forme, les URL CAS doivent être modifiées en conséquence (URL du CAS de la plate-forme au lieu de <?php require_once('lib.php'); require_once('corree.php'); // L'URL du serveur CAS define('cas_base_url', 'http://cas.correlyce.fr/cas'); // L'URL du service tel que déclaré dans la notice. // ici on utilise l'url courante, ce qui évite d'avoir à intervenir sur le code si la notice est modifiée... define('service_url', get_page_url()); $corree = new Corree(CAS_BASE_URL, SERVICE_URL); * Vérifie que l'accés à l'url est bien authentifié. * Si l'url contient un jeton CAS (ticket) il est vérifié. * Sinon affiche le formulaire d'authentification. function secure() { global $corree; if (!isset($_session['userid'])) { if (isset( $_GET['ticket'])) { $token = $corree->authenticate($_get['ticket']); if ($token!== FALSE) { $_SESSION['userid'] = $token['user']; // il est aussi possible d'injecter les autres éléments de $token dans la session $_SESSION['userrne'] = $token['rne']; return TRUE; header('http/ Unauthorized'); require('login.php'); exit(0);?> Corrélyce et Corrélyce-diffusion sont des marques déposées par la Région PACA Courdecol13 est une marque déposée par le Conseil Général des Bouches du Rhône Corédu et Coréprim sont des marques déposées par le CRDP de l académie d Aix-Marseille page 11

12 3.6. Multiple_cas_secure.php Multiple_cas_secure.php est un module logiciel contenant la fonction secure() appelée par ressource.php lorsque l on connecte une ressource à plusieurs plates-formes de type Corrélyce. Il permet de valider les accès via le serveur CAS de chacune des plates-formes dont les adresses sont enregistrées. Ce code peut être recopié sur votre serveur et adapté en fonction des besoins. Cet exemple est codé pour Corrélyce, Courdecol13 et Coréprim. Pour ajouter une autre plate-forme, il est nécessaire d ajouter l URL du CAS dans le «array» $cas. <?php require_once('lib.php'); require_once('corree.php'); // tableau contenant les connecteurs vers les serveurs CAS autorisés à authentifier des ressources. $cas = array( 'correlyce' => new Corree('https://cas.correlyce.fr/cas', get_page_url()), 'courdecol13' => new Corree('https://www.courdecol13.org/cas', get_page_url()), 'coreprim' => new Corree('https://cas.coreprim.fr/', get_page_url()) ); * Vérifie que l'accès à l'url est bien authentifié. * Si l'url contient un jeton CAS (ticket) il est vérifié sur les serveurs CAS déclarés dans $cas. * UN SEUL des ces serveur peut valider le jeton. * Sinon affiche le formulaire d'authentification. function secure() { global $cas; if (!isset($_session['userid'])) { if (isset( $_GET['ticket'])) { foreach($cas as $label => $corree) { $token = $corree->authenticate($_get['ticket']); if ($token!== FALSE) { $_SESSION['userid'] = $token['user']; $_SESSION['corree'] = $label; // permet d'identifier par la suite le serveur CAS qui a authentifié le jeton. // il est aussi possible d'injecter les autres éléments de $token dans la session $_SESSION['userrne'] = $token['rne']; return TRUE; header('http/ Unauthorized'); require('login.php'); exit(0);?> CRDP de l Académie d Aix-Marseille page 12 Aout 2012

13 Connexion des ressources aux plates-formes de type Corrélyce 3.7. Lib.php Lib.php est un module qui propose une fonction qui retourne l URL courante sous forme de chaîne. Cette URL peut être différente de celle déduite du script PHP, par exemple en cas de réécriture (utilisation de mod_rewrite). Attention, cela ne fonctionne qu avec Apache. <?php string L'URL courante * qui peut être différente de celle déduite à partir du nom du script PHP * par exemple en cas de réécriture (ie. utilisation de mod_rewrite). * Attention : cela ne fonctionne qu'avec Apache... function get_page_url() { $page_url = == 'on')? 'https://' : 'http://'; $page_url.= $_SERVER['SERVER_NAME']; if 'on' && $_SERVER['SERVER_PORT']!== '80') === 'on' && $_SERVER['SERVER_PORT']!== '443')) { $page_url.= ':'.$_SERVER["SERVER_PORT"]; $page_url.= reset(explode("?", $_SERVER['REQUEST_URI'])); return $page_url;?> Corrélyce et Corrélyce-diffusion sont des marques déposées par la Région PACA Courdecol13 est une marque déposée par le Conseil Général des Bouches du Rhône Corédu et Coréprim sont des marques déposées par le CRDP de l académie d Aix-Marseille page 13

14 3.8. Corree.php Corree.php est un module logiciel maintenu par le CRDP et régulièrement actualisé en fonction des évolutions techniques. Il est requis par single_cas_secure.php ou multiple_cas_secure.php (instruction «require_once( corree.php )» en début de code) qui formate les appels CAS et interprète les retours. Il doit être recopié sur votre serveur pour être utilisé par la page d accès. <?php CRDP de l'académie d'aix-marseille Alexandre Mathieu 0.12 define('cas_ns', 'http://www.yale.edu/tp/cas'); class Corree { private $cas_url; private $service_url; * Type d'erreur utilisé lors d'un échec d'authentification. int E_USER_NOTICE, E_USER_WARNING, E_USER_ERROR * ou FALSE pour ne pas générer d'erreur. public $error_type = E_USER_WARNING; * Type d'erreur utilisé lors d'une authentification réussie. int E_USER_NOTICE, E_USER_WARNING, E_USER_ERROR * ou FALSE pour ne pas générer d'erreur. public $success_type = E_USER_NOTICE; * Délai d'attente pour la réponse du serveur CAS. int Durée en secondes. public $timeout = 5; * Vérification du certificat SSL du serveur CAS. boolean public $verify_peer = TRUE; string $cas_url URL de serveur CAS. string $service_url URL du service tel que renseigné dans la notice. function construct($cas_url, $service_url) { $this->cas_url = $cas_url; $this->service_url = $service_url; * Valide le 'proxy ticket' auprès du serveur CAS. * string $ticket Le 'proxy ticket' passé en paramètre dans la requête. * string[] Renvoi un tableau contenant les détails du jeton CAS reçu * en cas d'authentification réussie, FALSE sinon (échec ou erreur...) pour un jeton CAS : CRDP de l Académie d Aix-Marseille page 14 Aout 2012

15 Connexion des ressources aux plates-formes de type Corrélyce * <cas:serviceresponse xmlns:cas='http://www.yale.edu/tp/cas'> * <cas:authenticationsuccess> * <cas:user>endjs</cas:user> * <cas:profile>eleve</cas:profile> * <cas:rne> x</cas:rne> * <cas:proxies> * <cas:proxy>https://foo.bar.com/pgtcallback</cas:proxy> * </cas:proxies> * </cas:authenticationsuccess> * </cas:serviceresponse> * le tableau renvoyé sera : * Array( 'user' => 'endjs', 'profile' => 'eleve', 'rne' => ' X' ) public function authenticate($ticket) { $xmlcontent = $this->get_token($ticket); if ($xmlcontent === FALSE) { return FALSE; $dom = new DomDocument(); if (!($dom->loadxml($xmlcontent))) { if ($this->error_type) { trigger_error('invalid response.', $this->error_type); return FALSE; $rootelt = $dom->documentelement; if ($rootelt->localname!= 'serviceresponse' $rootelt->namespaceuri!= CAS_NS) { if ($this->error_type) { trigger_error('invalid response', $this->error_type); return FALSE; $successelts = $rootelt->getelementsbytagnamens(cas_ns, 'authenticationsuccess'); if ($successelts->length == 0) { $errorelts = $rootelt->getelementsbytagnamens(cas_ns, 'authenticationfailure'); if ($this->error_type) { trigger_error('authentication failed, '. $errorelts->item(0)->nodevalue, $this- >error_type); return FALSE; $success = $successelts->item(0); $retval = array(); $is_proxy = FALSE; foreach( $success->childnodes as $node ) { if ($node->nodetype === XML_ELEMENT_NODE && $node->namespaceuri === CAS_NS) { if ($node->localname === 'proxies') { $is_proxy = TRUE; else { $retval[$node->localname] = $node->nodevalue; Corrélyce et Corrélyce-diffusion sont des marques déposées par la Région PACA Courdecol13 est une marque déposée par le Conseil Général des Bouches du Rhône Corédu et Coréprim sont des marques déposées par le CRDP de l académie d Aix-Marseille page 15

16 if (!$is_proxy) { if ($this->error_type) { trigger_error('not a proxy ticket', $this->error_type); return FALSE; if ($this->success_type) { trigger_error( 'successful authentication', $this->success_type ); return $retval; private function get_token($ticket) { global $is_curl_installed; $url = $this->cas_url. '/proxyvalidate'. '?'. http_build_query(array('ticket' => $ticket, 'service' => $this->service_url)); if ($is_curl_installed) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->timeout); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->verify_peer); $data = curl_exec($ch); if ($data === FALSE) { if ($this->error_type) { trigger_error(curl_error($ch), $this->error_type); curl_close($ch); return $data; else { file_get_contents($url); function _check_curl_installed() { global $is_curl_installed; if (isset($is_curl_installed)) return; if (in_array('curl', get_loaded_extensions())) { $is_curl_installed = TRUE; else { if ($this->error_type) { trigger_error( "l'extension curl n'est pas installée, le certificat SSL du serveur CAS ne sera donc pas vérifié", $this->error_type); $is_curl_installed = FALSE; CRDP de l Académie d Aix-Marseille page 16 Aout 2012

Aspects techniques : guide d interfaçage SSO

Aspects techniques : guide d interfaçage SSO COURDECO Aspects techniques : guide d interfaçage SSO Septembre 2011 Cette annexe présente succinctement le système d'authentification unique (SSO : single sign on, authentification unique) utilisé dans

Plus en détail

Documentation CAS à destination des éditeurs

Documentation CAS à destination des éditeurs Documentation CAS à destination des éditeurs Sommaire Préambule... 1 Présentation de CAS...2 Intérêt... 2 Fonctionnement de base...2 Synoptique des échanges (1ère connexion)... 2 Synoptique des échanges

Plus en détail

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi Un exemple d'authentification sécurisée utilisant les outils du Web : CAS 111 L authentification CAS : «Central Authentication Service» CAS ou le service central d authentification Le système CAS, développé

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Extrait 183 Chapitre 7 Gérer les formulaires 1. Vue d'ensemble Gérer les formulaires 1.1 Petit rappel

Plus en détail

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT DOCUMENTATION CAS A DESTINATION DES SERVICES TIERS Titre descriptif du document Référence du document REFO-DT-ENTV2-ServeurCAS-v1.2.docx Nom du fichier REFO-DT-ENTV2-ServeurCAS-v1.2.docx Version du document

Plus en détail

SQLI. Solution Santé. IdeoSSO - Intégration d'un client IdeoSSO 22/10/2007. Confidentiel SQLI Solution Santé 28/03/2008 P 1/35

SQLI. Solution Santé. IdeoSSO - Intégration d'un client IdeoSSO 22/10/2007. Confidentiel SQLI Solution Santé 28/03/2008 P 1/35 SQLI Solution Santé IdeoSSO - Intégration d'un client IdeoSSO 22/10/2007 Confidentiel SQLI Solution Santé 28/03/2008 P 1/35 Historique Historique des versions du document Version / Date Auteur Commentaire

Plus en détail

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal SSO open source avec CAS Introduction Pourquoi le Single Sign-On? Principes du SSO sur le

Plus en détail

Headers, cookies et sessions

Headers, cookies et sessions Headers, cookies et sessions Chargement de fichiers (upload) Entêtes HTTP et redirections Gestion des cookies et des sessions de connexions Authentification Validation des données Programmation avancée

Plus en détail

TD3 : PHP «avancé» V2.4.0

TD3 : PHP «avancé» V2.4.0 TD3 : PHP «avancé» V2.4.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document

Plus en détail

Gérer les formulaires

Gérer les formulaires 195 Chapitre 7 Gérer les formulaires 1. Vue d'ensemble Gérer les formulaires 1.1 Petit rappel sur les formulaires Le formulaire est un outil de base indispensable pour les sites web dynamiques puisqu'il

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Extrait 183 Chapitre 7 Gérer les formulaires 1. Vue d'ensemble Gérer les formulaires 1.1 Petit rappel

Plus en détail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

Plus en détail

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 2 І O2S Intégration O2S dans un site Internet Ce document présente une description

Plus en détail

Utilisations pratiques de Php

Utilisations pratiques de Php UTILISATIONS PRATIQUES DE PHP 1. TRAITEMENT DES FORMULAIRES Utilisations pratiques de Php 1.1. LISTE DES DONNÉES DE FORMULAIRE 1.2. ENREGISTREMENT DES DONNÉES DE FORMULAIRE DANS UN FICHIER 2. UTILISATION

Plus en détail

L3 - Sites Web dynamiques : Mini-Wall MINI-WALL

L3 - Sites Web dynamiques : Mini-Wall MINI-WALL L3 - SITES WEB DYNAMIQUES MINI-WALL 1 Introduction L'objectif de ce TD est de mettre en place un mini "livre d'or", permettant à vos visiteurs de vous laisser des messages sur votre site. Une page affiche

Plus en détail

Programmation Web. Thierry Hamon

Programmation Web. Thierry Hamon 1/27 Programmation Web Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

Plus en détail

Installation et configuration de Vulture Lundi 2 février 2009

Installation et configuration de Vulture Lundi 2 février 2009 Installation et configuration de Vulture Lundi 2 février 2009 V1.0 Page 1/15 Tables des matières A. Informations (Page. 3/15) B. Installation (Page. 3/15) 1- Téléchargement des paquets nécessaires. 2-

Plus en détail

Manuel Utilisateur de l'installation du connecteur Pronote à l'ent

Manuel Utilisateur de l'installation du connecteur Pronote à l'ent de l'installation du connecteur Pronote à l'ent Page : 1/28 SOMMAIRE 1 Introduction...3 1.1 Objectif du manuel...3 1.2 Repères visuels...3 2 Paramétrage de la connexion entre l'ent et Pronote...4 2.1 Informations

Plus en détail

Authentification et contrôle d'accès dans les applications web

Authentification et contrôle d'accès dans les applications web Authentification et contrôle d'accès dans les applications web Quelques Rappels Objectifs : contrôler que seulement Certains utilisateurs Exécutent certaines opérations Sur certains objets Trois entités

Plus en détail

Introduction Web. 1ère année, cours - 5/5. Marcel Bosc 2011-2012

Introduction Web. 1ère année, cours - 5/5. Marcel Bosc 2011-2012 Introduction Web 1ère année, cours - 5/5 Marcel Bosc 2011-2012 Département informatique IUT de Villetaneuse Université Paris-13 table des matières Types en PHP Classes et objets Organisation code PHP CMS

Plus en détail

Aide Utilisateur. Cellpass.fr

Aide Utilisateur. Cellpass.fr Aide Utilisateur Mise en place simple :... 2 Création d une ressource... 2 Installation du module... 5 Test fonction file OK... 7 temps de connexion < 1 seconde(s)... 7 Exemple d'installation PassUp pour

Plus en détail

Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants

Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants Fédération Définit un cercle de confiance constitué de Fournisseurs d'identités

Plus en détail

Documents web dynamiques. 20 novembre 2007 Architecture Multi-Niveaux 54

Documents web dynamiques. 20 novembre 2007 Architecture Multi-Niveaux 54 Documents web dynamiques 20 novembre 2007 Architecture Multi-Niveaux 54 Documents web dynamiques Contenu Statique Le client envoie une requête avec un nom de fichier Le serveur répond en lui retournant

Plus en détail

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Technologies Web Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Plan du cours Cours 1 : Introduction HTML/CSS Cours 2 : Introduction programmation web + javascirpt Cours 3 : Introduction

Plus en détail

Extensions à OpenSSO :

Extensions à OpenSSO : Extensions à : compatibilité et gestion des autorisations Philippe BEUTIN DSI Grenoble-Universit Universités Thierry AGUEDA Univ.. Pierre-Mend Mendès-France Gérard FORESTIER Univ.. Joseph-Fourier Le-Quyen

Plus en détail

Phortail, le mini CMS qui vous ouvre de grandes portes! V2.0.5

Phortail, le mini CMS qui vous ouvre de grandes portes! V2.0.5 Phortail, le mini CMS qui vous ouvre de grandes portes! V2.0.5 Avant de lire ce document, sachez définir avec exactitude vos besoins et vos buts. Plusieurs liens vous sont donnés à la dernière page afin

Plus en détail

Création d un forum en Php et Mysql

Création d un forum en Php et Mysql Birane SECK Création d un forum en Php et Mysql Cahier des charges : Nous allons mettre en place un espace membre assez classique à savoir un système que l on retrouve sur la majorité des sites Internet.

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Systèmes d'informations

Systèmes d'informations Systèmes d'informations C'est un ensemble d'outils pour stocker / gérer / diffuser des informations / des données Le stockage : Bases de données + SGDBR La gestion : Saisie, Mise à jour, Contrôle La diffusion

Plus en détail

CAS, la théorie. R. Ferrere, S. Layrisse

CAS, la théorie. R. Ferrere, S. Layrisse CAS, la théorie R. Ferrere, S. Layrisse ANF Les systèmes d authentification dans la communauté ESR : étude, mise en oeuvre et interfaçage dans un laboratoire de Mathématique Angers, 22-26 septembre 2014

Plus en détail

Définition des Webservices Systempay. Version 1.2c

Définition des Webservices Systempay. Version 1.2c Définition des Webservices Systempay Version 1.2c Historique du document Version Auteur Date Commentaires 1.2c Lyra-Network 06/12/2013 1.2b Lyra-Network 10/07/2013 1.2a Lyra-Network 03/05/2012 Modification

Plus en détail

PHP/MYSQL. Web Dynamique. ENSG Septembre 2009

PHP/MYSQL. Web Dynamique. ENSG Septembre 2009 PHP/MYSQL Web Dynamique ENSG Septembre 2009 Ces 6 jours de formation Jour 1 : présentations, attentes, principes, HTML Jour 2 : HTML, CSS, PHP Jour 3 : formulaires, connexion à la base de données Jour

Plus en détail

Le Guide de marquage des Podcasts

Le Guide de marquage des Podcasts Le Guide de marquage des Podcasts Médiamétrie-eStat Buropolis, Bât 3 1240, route des Dolines Sophia Antipolis 06560 Valbonne Tél : 04 92 38 38 20 Fax : 04 92 96 91 25 E-mail : serviceclient@mediametrie-estat.com

Plus en détail

ESUP Portail. ESUP Portail Un ENT universitaire! Contexte. Objectifs d ESUP Portail. Grandes orientations technologiques

ESUP Portail. ESUP Portail Un ENT universitaire! Contexte. Objectifs d ESUP Portail. Grandes orientations technologiques ESUP Portail Un ENT universitaire! ESUP Portail Présentation générale du projet Jean-Michel Antoine Jean-Guy Avelin Raymond Bourges Architecture Intégration au SI de l établissement Développement de canaux

Plus en détail

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO Page 1 Introduction Sommaire I- Présentation de la technologie II- Architectures classiques et étude du marché III- Implémentation en entreprise IV- Présentation de systèmes SSO Annexes Page 2 Introduction

Plus en détail

Authentification CAS : module apache V2 mod_cas

Authentification CAS : module apache V2 mod_cas Page 1 of 8 Authentification CAS : module apache V2 mod_cas Ce document décrit l'installation et le paramétrage du module mod_cas esup-portail pour apache V2. Vincent Mathieu Université Nancy 2 Dates de

Plus en détail

Manuel d intégration du service AByster

Manuel d intégration du service AByster Manuel d intégration du service AByster PHP API Version 1.0 11 février 2013 www.abyster.com 1 Table des matières 01. Objet... 3 02. Définitions... 3 03. Introduction... 4 04. Le Core... 5 04.1 Organisation

Plus en détail

Application de lecture de carte SESAM-Vitale Jeebop

Application de lecture de carte SESAM-Vitale Jeebop Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie

Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie JAVASCRIPT JS08-Gestion des cookies-consignes Accueil Apprentissage Période

Plus en détail

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011 1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...

Plus en détail

La sécurité pour les développeurs. Christophe Villeneuve @hellosct1

La sécurité pour les développeurs. Christophe Villeneuve @hellosct1 La sécurité pour les développeurs Christophe Villeneuve @hellosct1 Qui... est Christophe Villeneuve? afup lemug.fr mysql mariadb drupal demoscene firefoxos drupagora phptour forumphp solutionlinux demoinparis

Plus en détail

TX A081025: Délégation de l authentification pour les Services Web

TX A081025: Délégation de l authentification pour les Services Web TX A081025: Délégation de l authentification pour les Services Web Jérémy Vauchelle Enseignant: Aurélien Bénel Intervenants: Chao Zhou Arnaud Pagnier Plan 1. Présentation du sujet 2. Présentation du protocole

Plus en détail

TP2 : PHP. Exercice 1 : Premiers pas en PHP Voici un exemple de code PHP.

TP2 : PHP. Exercice 1 : Premiers pas en PHP Voici un exemple de code PHP. TP2 : PHP Exercice 1 : Premiers pas en PHP Voici un exemple de code PHP. 1 3

Plus en détail

Service d'authentification LDAP et SSO avec CAS

Service d'authentification LDAP et SSO avec CAS Service d'authentification LDAP et SSO avec CAS Clé de l'extension : ig_ldap_sso_auth 2006-2007, Michaël Gagnon, Ce document est publié sous la licence open source, disponible au

Plus en détail

Guide d utilisation. v 2.0

Guide d utilisation. v 2.0 Guide d utilisation v 2.0 Maj. le 23/10/2013 Inscription et Connexion à l'espace client 3 Installer le service de micropaiement PayPerPass 4 1. Ajouter un site! 5 2. Ajouter un produit! 6 3. Utiliser les

Plus en détail

Architecture applicative de l application Web

Architecture applicative de l application Web Architecture applicative de l application Web Principes d organisation de l application PHP Gsb-AppliFrais Les principes d'organisation de l'application s'inspirent des travaux réalisés autour du contexte

Plus en détail

Utiliser le portail d accès distant pour les étudiants de l'insa de LYON

Utiliser le portail d accès distant pour les étudiants de l'insa de LYON Utiliser le portail d accès distant pour les étudiants de l'insa de LYON Table des matières 1) Authentification...2 2) Page d accueil du portail...3 3) Accéder à la documentation électronique (PORTAIL

Plus en détail

Espace Numérique de Travail

Espace Numérique de Travail Espace Numérique de Travail Guide d'interopérabilité ENT IDF - Guide d'interoperabilité - v0.1.doc PAGE 1 / 18 HISTORIQUE DU DOCUMENT Version Modifié le Auteur Vérificateur Valideur Motif du changement

Plus en détail

Les messages d erreur d'applidis Client

Les messages d erreur d'applidis Client Fiche technique AppliDis Les messages d erreur d'applidis Client Fiche IS00313 Version document : 1.00 Diffusion limitée : Systancia, membres du programme Partenaires AppliDis et clients ou prospects de

Plus en détail

Introduction. Yannick CHISTEL 1 /7

Introduction. Yannick CHISTEL 1 /7 Introduction Dans l'académie, tous les professeurs ont une adresse à leur disposition qui se présente sous la forme «prénom.nom@ac-caen.fr» ou plus simplement «initiale_du_prénomnom@ac-caen.fr». Nous sommes

Plus en détail

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement

Plus en détail

MANUEL D UTILISATION LIVRET DE L ENSEIGNANT

MANUEL D UTILISATION LIVRET DE L ENSEIGNANT MANUEL D UTILISATION LIVRET DE L ENSEIGNANT Septembre 2007 Le contenu de ce manuel est susceptible d évoluer en fonction des adaptations apportées à l application CORRELYCE. La version actualisée de ce

Plus en détail

PHP/MySQL. École Nationale Supérieure des Mines de Nancy 2nde Année

PHP/MySQL. École Nationale Supérieure des Mines de Nancy 2nde Année Bases de Données et Ingénierie des Systèmes d Information 1 PHP/MySQL École Nationale Supérieure des Mines de Nancy 2nde Année Table des matières I PHP 2 1 Les bases 2 1.1 Introduction........................................

Plus en détail

Introduction. aux architectures web. de Single Sign-On

Introduction. aux architectures web. de Single Sign-On Introduction aux architectures web de Single Sign-On Single Sign-on Authentifier 1 seule fois un utilisateur pour accéder à un ensemble d applications contexte web Nombre croissant d applications ayant

Plus en détail

Dojo partie 1. Widgets dojo.form Validation des formulaires Côté client Côté serveur Requêtes Ajax

Dojo partie 1. Widgets dojo.form Validation des formulaires Côté client Côté serveur Requêtes Ajax Dojo partie 1 Widgets dojo.form Validation des formulaires Côté client Côté serveur Requêtes Ajax 1 Modules Dojo 3 espaces de noms principaux: dojo: bibliothèque de base dijit: bibliothèque de widgets

Plus en détail

WebSSO, synchronisation et contrôle des accès via LDAP

WebSSO, synchronisation et contrôle des accès via LDAP 31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration

Plus en détail

Pages Web dynamiques et bases de données

Pages Web dynamiques et bases de données Cours 2 Pages Web dynamiques et bases de données Une page Web dynamique est générée automatiquement grâce à l exécution d un script (PHP par exemple). C est le résultat de l exécution de ce script (code

Plus en détail

Single Sign-On open source avec CAS (Central Authentication Service)

Single Sign-On open source avec CAS (Central Authentication Service) JOSY «Authentification Centralisée» Paris, 6 mai 2010 Single Sign-On open source avec CAS (Central Authentication Service) Julien Marchal Consortium ESUP-Portail SSO open source avec CAS Introduction Pourquoi

Plus en détail

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons <ads@intrinsec.com> Jérémie Jourdin <jjn@intrinsec.com> Arnaud Desmons Jérémie Jourdin Présentation Motivations Historique Démonstration Présentation fonctionnelle Présentation technique L'interface d'administration Roadmap

Plus en détail

Accéder à des services web RestFul

Accéder à des services web RestFul Accéder à des services web RestFul c 'est quoi un «service web» des fonctionnalités d'une application exposées et accessibles à distance au travers d'une api construite au dessus de http (i.e. Avec des

Plus en détail

OVIDENTIA Ovidentia Web Services

OVIDENTIA Ovidentia Web Services OVIDENTIA Ovidentia Web Services CANTICO / août 2007 OVIDENTIA 1/12 Version Documentation Version OVIDENTIA / Module 1.0 5.8.6 Date 1.1 6.0.3 26/10/2006 1.2 6.0.3 30/10/2006 1.3 6.4.2 20/08/2007 CANTICO

Plus en détail

Single Sign-On open-source avec CAS (Central Authentication Service)

Single Sign-On open-source avec CAS (Central Authentication Service) Single Sign-On open-source avec CAS (Central Authentication Service) Vincent Mathieu Université de Nancy 2 vincent.mathieu@univ-nancy2.fr Pascal Aubry IFSIC - Université de Rennes 1 pascal.aubry@univ-rennes1.fr

Plus en détail

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

Description de la maquette fonctionnelle. Nombre de pages :

Description de la maquette fonctionnelle. Nombre de pages : Description de la maquette fonctionnelle Nombre de pages : 22/07/2008 STATUT DU DOCUMENT Statut Date Intervenant(s) / Fonction Provisoire 22/07/2008 Approuvé Validé HISTORIQUE DES MODIFICATIONSICATIONS

Plus en détail

Documentation Technique

Documentation Technique Documentation Technique HTTP Application Programming Interface support@capitolemobile.com Page 1 Table des matières 1. Introduction...3 2. Envoi SMS : XML HTTP POST et HTTP GET... 4 2.1. XML HTTP POST...

Plus en détail

Programmation WEB dynamique PHP

Programmation WEB dynamique PHP Programmation WEB dynamique PHP G. Maurey Master 1-2010 Les présentations Gilles MAUFFREY Bureau 5 Batiment W2 T : 72 61 k : maurey@hec.fr www.hec.fr/maurey PHP Plan de la séance 1 Présentation du cours

Plus en détail

Tunnel SSH. 1) Serveur Web et tunnel SSH, console d administration. 2) Toujours utiliser l option tunnel SSH

Tunnel SSH. 1) Serveur Web et tunnel SSH, console d administration. 2) Toujours utiliser l option tunnel SSH Tunnel SSH 1) Serveur Web et tunnel SSH, console d administration Une console de gestion est disponible dans l outil d administration Cette console de gestion vous permet de configurer les services de

Plus en détail

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML PHP virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/ BUR Internet et HTML PHP, qu'est-ce que c'est? Un langage pour la programmation du serveur Permet d'inclure des parties programmées

Plus en détail

INTERCONNEXION CARTABLE EN LIGNE / E-SIDOC

INTERCONNEXION CARTABLE EN LIGNE / E-SIDOC INTERCONNEXION CARTABLE EN LIGNE / E-SIDOC 23/11/2014 e-sidoc et Cartable en Ligne Documentation sur les procédures à suivre pour mettre en place l authentification unique entre e-sidoc et l ENT Cartable

Plus en détail

Extended communication server 4.1 : VoIP SIP service- Administration

Extended communication server 4.1 : VoIP SIP service- Administration Extended communication server 4.1 : VoIP SIP service- Administration Mai, 2008 Alcatel-Lucent Office Offer - All Rights Reserved Alcatel-Lucent 2007 Ce document explique comment configurer le Service VOIP-SIP

Plus en détail

Le client/serveur dans le cas du Web

Le client/serveur dans le cas du Web Le client/serveur dans le cas du Web Olivier Flauzac & Cyril Rabat olivier.flauzac@univ-reims.fr cyril.rabat@univ-reims.fr Licence 3 Info - Info0503 - Introduction à la programmation client/serveur 2015-2016

Plus en détail

Vérification intégrée de l'utilisateur Guide d'implémentation client 2015-05-04 Confidentiel Version 2.9

Vérification intégrée de l'utilisateur Guide d'implémentation client 2015-05-04 Confidentiel Version 2.9 Vérification intégrée de l'utilisateur Guide d'implémentation client 2015-05-04 Confidentiel Version 2.9 SOMMAIRE Introduction... 2 Objectif et public visé... 2 À propos de ce document... 2 Termes fréquemment

Plus en détail

Service d'authentificationldap et SSO avec CAS

Service d'authentificationldap et SSO avec CAS Service d'authentificationldap et SSO avec CAS Clé de l'extension : ig_ldap_sso_auth 26 27, Michaël Gagnon, Ce document est publié sous la licence open source, disponible au : http://www.opencontent.org/opl.shtml.

Plus en détail

GUIDE D'UTILISATION DU PORTAIL IAM

GUIDE D'UTILISATION DU PORTAIL IAM GUIDE D'UTILISATION DU PORTAIL IAM CONNEXION ET UTILISATION IAM Table des matières Généralités... 3 Objectifs du document... 3 Évolutions du portail... 3 Signaler un INCIDENT demander du support Contacter

Plus en détail

L1 Option Programmation Web côté Serveur - Contrôle continu n 1

L1 Option Programmation Web côté Serveur - Contrôle continu n 1 L Option Programmation Web côté Serveur - Contrôle continu n Veuillez noircir les cases correspondantes à votre numéro d étudiant ( case/colonne). Si votre N est, il faut noircir le dans la ère colonne,

Plus en détail

Rapport de stage développé en PHP/MySQL

Rapport de stage développé en PHP/MySQL Université Montpellier II Institut Universitaire de Technologie Département Informatique Seconde Année Année Universitaire 2005/2006 développé en PHP/MySQL Présenté et soutenu par Sandrine BUENDIA Préparé

Plus en détail

Single Sign-On open-source avec CAS (Central Authentication Service)

Single Sign-On open-source avec CAS (Central Authentication Service) Single Sign-On open-source avec CAS (Central Authentication Service) Vincent Mathieu Université de Nancy 2 vincent.mathieu@univ-nancy2.fr Pascal Aubry IFSIC - Université de Rennes 1 pascal.aubry@univ-rennes1.fr

Plus en détail

Programmation du Web : Présentation du protocole HTTP

Programmation du Web : Présentation du protocole HTTP Programmation du Web : Présentation du protocole HTTP Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-14 Présentation générale Le

Plus en détail

Gestion du service des enseignements Analyse détaillée. Gestion du service des enseignements. Ce document est la propriété exclusive du groupe GSE

Gestion du service des enseignements Analyse détaillée. Gestion du service des enseignements. Ce document est la propriété exclusive du groupe GSE 1 sur 54 Projet Émetteur du Document Groupe GSE Destinataire du Document J.L. Massat Titre Nom Du Fichier O_Analyse_Detaillee_v2.1.pdf Version v2.1 Historique Des Versions Version Date Création Date Validation

Plus en détail

Développement Web Frameworks AJAX

Développement Web Frameworks AJAX 1 / 27 Développement Web Frameworks AJAX Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer 2009 2 / 27 Objectif Objectif du cours découverte de quelques frameworks

Plus en détail

Modèle-Vue-Contrôleur. Développement Web 2. Projet 1 Sondages. Organisation générale

Modèle-Vue-Contrôleur. Développement Web 2. Projet 1 Sondages. Organisation générale PHP Modèle-Vue-Contrôleur Introduction Modèle-Vue-Contrôleur Développement Web 2 Bertrand Estellon Aix-Marseille Université April 1, 2014 Le Modèle-Vue-Contrôleur (MVC) est un méthode de conception utilisée

Plus en détail

Echanges d informations entre client et serveur

Echanges d informations entre client et serveur Chapitre 4 Echanges d informations entre client et serveur c 2010-2011 -JA C Q U E S THOORENS - H T T P://W W W.T H O O R E N S.N E T Le protocole HTTP a défini des possibilités d envoi d informations

Plus en détail

Compte rendu de PHP MySQL : création d un formulaire de base de données

Compte rendu de PHP MySQL : création d un formulaire de base de données REVILLION Joris Décembre 2009 3EI Compte rendu de PHP MySQL : création d un formulaire de base de données Objectifs : Le principal objectif de ce cours est de découvrir et de nous familiariser avec le

Plus en détail

Plugin Payment-OnLine

Plugin Payment-OnLine Plugin Payment-OnLine Le plugin "Payment-Online" est un plugin technique dont l'objectif est de faciliter l'utilisation du paiement en ligne dans des applications Lutèce. Il se compose d'une librairie

Plus en détail

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10 Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs

Plus en détail

Authentification, droits d'accès et sécurité des applis web

Authentification, droits d'accès et sécurité des applis web Authentification, droits d'accès et sécurité des applis web Identification : savoir qui est l'utilisateur basé sur des nom de login enregistrés : base de données, annuaires, fichiers Authentification :

Plus en détail

Sécurisation des accès Internet dans les écoles primaires. de l'académie de LIMOGES. Solution académique de filtrage des accès aux contenus du web

Sécurisation des accès Internet dans les écoles primaires. de l'académie de LIMOGES. Solution académique de filtrage des accès aux contenus du web Sécurisation des accès Internet dans les écoles primaires de l'académie de LIMOGES Solution académique de filtrage des accès aux contenus du web Paramétrage du Proxy Ecole Académique sur les stations de

Plus en détail

Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique

Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique N. Clément, F. Dal, X. Jeannin, M.T. Nguyen CNRS/UREC http://www.urec.cnrs.fr

Plus en détail

Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas

Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas Olivier BOEBION 12/02/2004 1 Le point de départ 1.1 Et la lumière fut... A la fin des années 1980, Tim Berners-Lee travaillant

Plus en détail

Cours de programmation web

Cours de programmation web Cours de programmation web ENSAE 2006-2007 Cours 1 - Introduction 1. Introduction 2. Le principe d Internet 3. Les langages du web 4. Le web 2.0 Introduction : Historique 1967 : Arpanet : réseau militaire

Plus en détail

Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC. Qui contacter pour commencer la mise en place d une configuration de test? Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC Qui contacter pour commencer la mise en place d une configuration de test? CyberMUT Paiement - Paiement CIC Commerce Electronique mailto:centrecom@e-i.com

Plus en détail

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION SOMMAIRE ACCES EX10... 3 CONFIGURATION EX10 A. Entrées DNS à créer sur le(s) nom(s) de domaine choisi(s)... 3 B. Configuration Outlook 2007 - MAPI...

Plus en détail

1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP.

1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP. TP5: LES FORMULAIRES OBJECTIFS : 1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP. PARTIE 1: Formulaire

Plus en détail

Installation pas-à-pas du framework Copix, pour les vrais débutants

Installation pas-à-pas du framework Copix, pour les vrais débutants Installation pas-à-pas du framework Copix, pour les vrais débutants 1) Objet de ce didacticiel Calogero GIGANTE ( www.gigante.be ) 4 avril 2008. Document version 005. Ce didacticiel explique dans les détails

Plus en détail

Dispositif assurant le filtrage des accès aux ressources électroniques via un annuaire LDAP

Dispositif assurant le filtrage des accès aux ressources électroniques via un annuaire LDAP Dispositif assurant le filtrage des accès aux ressources électroniques via un annuaire LDAP Document révisé en Mars 2006 Introduction, historique et rappels Le filtrage des accès aux ressources électroniques

Plus en détail

Ecole Numérique Procédure de création des comptes élèves

Ecole Numérique Procédure de création des comptes élèves Ecole Numérique Procédure de création des comptes élèves Suite au plan «Ecoles Numériques Rurales», un proxy filtrant (système de filtrage des accès internet) a été mis en place au niveau académique à

Plus en détail

Documentation de CMS-gen

Documentation de CMS-gen Table des matières GÉNÉRALITÉ... 1 LA ZONE D'ADMINISTRATION... 2 LOGIN SUR LA ZONE D ADMINISTRATION... 2 EDITION DU CONTENU EN LIGNE... 3 LE MODE EDITION... 3 PUBLICATION... 3 SUPPRIMER DES MODIFICATIONS...

Plus en détail