Files
web_2025/R3.01/tp/tp5
2026-05-06 09:01:23 +02:00
..
2026-05-05 08:47:04 +02:00
2026-05-05 08:47:04 +02:00
2026-05-06 09:01:23 +02:00

TP5 : prise en main de codeigniter

Installation

Téléchargez les sources de codeigniter v3 (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
  2. Copiez le repertoire assets à la racine de votre application.
  3. Copiez les contrôleurs, modèles et vues dans votre application.
  4. Configurez les paramètres nécessaires à codeigniter :
    • config/config.php
    • config/database.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

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éer sa propre classe controller

Il est possible de redefinir, ou d'étendre les classes systèmes dans votre répertoire application/core. Par exemple, pour étendre la classe controller de codeigniter, vous pouvez écrire votre propre classe MY_Controller.php

class  MY_Controller extends CI_Controller {
}

Utilisez ce moyen pour définir une nouvelle méthode render, qui permet d'utiliser un layout quelconque pour afficher une vue.

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