Files
web_2025/R3.01/tp/tp5/README.md
T

70 lines
2.5 KiB
Markdown
Raw Normal View History

2026-05-05 08:47:04 +02:00
# 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
```
![todo](img/todo.png)
## 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.