PHP UTT
PHP UTT est un set de composants écrits en PHP (PHP 5.3+) facilitant l'utilisation de ressources mises à disposition
des étudiants par l'UTT pour le développement de sites internet., (*1)
Installation
L'installation se fait via Composer, un gestionnaire de paquets pour PHP. Vous devez donc installer PHP (si vous ne l'avez pas), puis Composer., (*2)
Debian & Ubuntu
Si vous n'avez pas PHP, lancez :, (*3)
sudo apt-get install php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-mcrypt php5-mysql php5-fpm php5-intl php5-json php-apc php5-ldap php5-xdebug php5-dev
Dans le dossier de votre projet, exécutez ensuite :, (*4)
curl -sS https://getcomposer.org/installer | php
Cela vous créer un fichier composer.phar, utilisable avec php composer.phar., (*5)
Windows
Téléchargez l'installateur Windows sur https://getcomposer.org/download/. Utilisez Composer avec composer., (*6)
Composer
Une fois PHP et Composer installés, créez un fichier composer.json avec le contenu suivant :, (*7)
``` json
{
"require": {
"ungdev/phputt": "dev-master"
},
"minimum-stability": "dev"
}, (*8)
Cela indique Ă Composer que vous avez besoin de *phputt* pour votre projet. Lancez ensuite en ligne de commande :
- `php composer.phar update` pour Debian / Ubuntu
- `composer update` pour Windows
Composer installera alors dans un dossier `vendor` à la fois *phputt* et *phpCAS*, necéssaire à *phputt*.
L'installation terminée, vous pouvez utiliser la librairie en l'incluant avec un simple include de `vendor/autoload.php` :
``` php
<?php
require 'vendor/autoload.php';
$security = new PhpUtt\Cas\SecurityLayer();
// Retourne le login utilisateur. Redirige vers l'interface CAS si l'utilisateur n'est pas connecté.
$userLogin = $security->login();
Usage
CAS - Connexion utilisateur
La connexion utilisateur permet d'utiliser l'interface CAS officielle de l'UTT facilement., (*9)
Remarque : vous devez utiliser un nom de domain approuvé par le CRI pour utiliser le CAS. Tous les noms de
domaines en *.utt.fr sont par défaut approuvés., (*10)
Si vous souhaitez tout de mĂȘme pouvoir faire des essais en local, vous aurez remarquĂ© que le CAS ne l'autorise pas, pour la raison Ă©voquĂ©e ci-dessus. Une solution consiste Ă ajouter une entrĂ©e au fichier « hosts » (C:\WINDOWS\system32\drivers\etc\hosts sous Windows, /etc/hosts sous Linux) pour faire le lien entre 127.0.0.1et test-local.utt.fr., (*11)
Connexion
Pour connecter l'utilisateur grùce à CAS, il vous faut utiliser le SecurityLayer, une classe gérant l'appel à CAS.
Pour cela, lorsque vous souhaitez que l'utilisateur se connecte :, (*12)
``` php
$security = new PhpUtt\Cas\SecurityLayer();, (*13)
// Retourne le login utilisateur. Redirige vers l'interface CAS si l'utilisateur n'est pas connecté.
$userLogin = $security->login();, (*14)
Il vous incombe tout de mĂȘme de stocker ce login en session de votre cotĂ©, CAS ne le fera pas pour vous.
#### Déconnexion
De la mĂȘme maniĂšre, lorsque vous souaitez dĂ©connectez l'utilisateur de CAS, vous devez utiliser le `SecurityLayer` :
``` php
$security = new PhpUtt\Cas\SecurityLayer();
$security->logout();
Remarque : déconnectez l'utilisateur de CAS ne supprime pas les sessions de votre coté, à vous de le faire., (*15)
Un annuaire LDAP des étudiants est mis à disposition par l'UTT. Cette librairie permet d'utiliser le LDAP pour récupérer
les informations utilisateurs., (*16)
Remarque : le LDAP n'est accessible que depuis l'intérieur du réseau de l'UTT (Wifi ou SIA)., (*17)
Les méthodes disponibles sont :, (*18)
``` php
$ldap = new PhpUtt\Ldap\LdapLayer();, (*19)
// Retourne un objet décrivant l'utilisateur
$user = $ldap->getUser($login);, (*20)
// Retourne un objet décrivant l'association
$orga = $ldap->getOrga($login);, (*21)
// Retourne un tableau de tous les utilisateurs
$users = $ldap->getUsers();, (*22)
// Retourne un tableau de tous les étudiants (personnel de l'UTT retiré)
$students = $ldap->getStudents();, (*23)
// Retourne un tableau de toutes les associations
$users = $ldap->getOrgas($login);
```, (*24)
Credits
License
The MIT License (MIT). Please see License File for more information., (*25)