70 lines
2.5 KiB
Markdown
70 lines
2.5 KiB
Markdown
|
|
|
||
|
|
# TP5 : prise en main de codeigniter
|
||
|
|
|
||
|
|
## Installation
|
||
|
|
Téléchargez les sources de [codeigniter v3](https://github.com/pocketarc/codeigniter) (il s'agit d'un fork qui évite certains
|
||
|
|
porblèmes de compatibilité avec des versions récentes de php), et placez les dans votre
|
||
|
|
`public_html`.
|
||
|
|
|
||
|
|
1. Importez dans votre base de données la table [todo.sql](src/sql/todo.sql)
|
||
|
|
2. Copiez le repertoire [assets](src/assets) à la racine de votre application.
|
||
|
|
3. Copiez les [contrôleurs](src/ci), [modèles](src/ci) et [vues](src/ci) dans votre application.
|
||
|
|
4. Configurez les paramètres nécessaires à codeigniter :
|
||
|
|
- `config/config.php`
|
||
|
|
- `config/database.php`
|
||
|
|
|
||
|
|
```php
|
||
|
|
$config['base_url']='/~login/chemin/vers/codeigniter';
|
||
|
|
```
|
||
|
|
Vous devriez obtenir une application `todolist` fonctionnelle à l'url :
|
||
|
|
```
|
||
|
|
https://dwarves.iut-fbleau.fr/~login/chemin/vers/codeigniter/index.php/todo
|
||
|
|
```
|
||
|
|
|
||
|
|

|
||
|
|
|
||
|
|
## Suppression des tâches
|
||
|
|
Modifiez le code pour la suppression des tâches.
|
||
|
|
|
||
|
|
## Edition des tâches
|
||
|
|
Modifiez le code (contrôleur et modèle) pour l'édition des tâches.
|
||
|
|
|
||
|
|
## Tri de la todolist
|
||
|
|
Ajoutez la possibilité de trier la todolist par ordre (croissant/décroissant) alphabètique
|
||
|
|
|
||
|
|
## Création de compte
|
||
|
|
|
||
|
|
1. Ajoutez dans votre de base de données une table `user`, qui permettra de stocker des utilisateurs.
|
||
|
|
attributs : nom, prenom, email (clé primaire), password.
|
||
|
|
2. Complétez le contrôleur de création de compte. On rappelle que la base de données doit contenir un hash du mot de passe (cf tp4).
|
||
|
|
```php
|
||
|
|
<?php
|
||
|
|
/**
|
||
|
|
* We just want to hash our password using the current DEFAULT algorithm.
|
||
|
|
* This is presently BCRYPT, and will produce a 60 character result.
|
||
|
|
*
|
||
|
|
* Beware that DEFAULT may change over time, so you would want to prepare
|
||
|
|
* By allowing your storage to expand past 60 characters (255 would be good)
|
||
|
|
*/
|
||
|
|
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
|
||
|
|
?>
|
||
|
|
```
|
||
|
|
```php
|
||
|
|
<?php
|
||
|
|
// Voir l'exemple fourni sur la page de la fonction password_hash()
|
||
|
|
// pour savoir d'où cela provient.
|
||
|
|
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
|
||
|
|
|
||
|
|
if (password_verify('rasmuslerdorf', $hash)) {
|
||
|
|
echo 'Le mot de passe est valide !';
|
||
|
|
} else {
|
||
|
|
echo 'Le mot de passe est invalide.';
|
||
|
|
}
|
||
|
|
?>
|
||
|
|
```
|
||
|
|
|
||
|
|
3. Ajoutez un formulaire d'authentification.
|
||
|
|
4. Utilisez une session pour proteger l'accès à la todolist par authentification.
|
||
|
|
5. Ajouter à la table todo un lien vers la table user, et modifez l'ensemble de l'application pour que
|
||
|
|
chaque utilisateur possède sa propre todolist.
|