<commit_before># 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.

## 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.

### Debian & Ubuntu

Si vous n'avez pas PHP, lancez :

    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 :

    curl -sS https://getcomposer.org/installer | php
    
Cela vous créer un fichier composer.phar, utilisable avec `php composer.phar`.

### Windows

Téléchargez l'installateur Windows sur https://getcomposer.org/download/. Utilisez Composer avec `composer`.

### Composer

Une fois PHP et Composer installés, créez un fichier `composer.json` avec le contenu suivant :


``` json
{
    "require": {
        "ungdev/phputt": "dev-master"
    },
    "minimum-stability": "dev"
}
```

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.

> **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.

#### 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 :

``` 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();
```

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();<commit_msg>Added trick for local CAS testing<commit_after># 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.

## 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.

### Debian & Ubuntu

Si vous n'avez pas PHP, lancez :

    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 :

    curl -sS https://getcomposer.org/installer | php
    
Cela vous créer un fichier composer.phar, utilisable avec `php composer.phar`.

### Windows

Téléchargez l'installateur Windows sur https://getcomposer.org/download/. Utilisez Composer avec `composer`.

### Composer

Une fois PHP et Composer installés, créez un fichier `composer.json` avec le contenu suivant :


``` json
{
    "require": {
        "ungdev/phputt": "dev-master"
    },
    "minimum-stability": "dev"
}
```

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.

> **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.

> 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.1```et ```test-local.utt.fr```.

#### 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 :

``` 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();
```

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();
{'fraction_non_alphanumeric': 0.09558701082431308, 'fraction_numerical': 0.006661115736885929, 'mean_word_length': 4.182053494391717, 'pattern_counts': {'":': 6, '<': 5, '<?xml version=': 0, '>': 12, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4341886', 'n_tokens_mistral': 2129, 'n_tokens_neox': 2002, 'n_words': 753}