1
Réaliser par : Amine Oubouisk & AYMANE KADDI
Plan
Introduction
• Qu'est-ce que CodeIgniter ?
• Avantages de CodeIgniter
• Inconvénients de CodeIgniter
• Comparaison des Frameworks PHP
Installation de CodeIgniter
• composer
• installation de XAMPP
• installation de codeIngter avec commande
Architecture MVC avec un exemple
• Modèle (Model)
• Vue (View)
• Contrôleur (Controller)
• Application Flowchart
CodeIgniter fichier & projet:
• Structure des Fichiers
• creation de table crud
2
Introduction to
CodeIgniter
3
Qu'est-ce que CodeIgniter ?
CodeIgniter est un framework PHP open-source, léger, rapide et
efficace. Il est spécialement conçu pour les développeurs qui
souhaitent créer des applications web dynamiques sans se
compliquer la tâche.
Grâce à son architecture MVC (Modèle-Vue-Contrôleur), il offre une
séparation claire entre la logique, les données et l'affichage,
rendant le code plus organisé et facile à maintenir.
Connu pour sa simplicité, sa flexibilité, et sa performance,
CodeIgniter est particulièrement apprécié pour des projets de
petite à moyenne taille, comme les blogs ou les applications
simples.
Avec CodeIgniter, développer rapidement et efficacement devient
accessible à tous.
4
Avantages de
CodeIgniter
Facilité d'apprentissage
Simple à comprendre pour les débutants, avec une documentation claire et complète.
Une structure bien organisée qui n'exige pas une courbe d'apprentissage complexe.
Performance rapide
L'un des frameworks PHP les plus rapides, ce qui le rend idéal pour les projets nécessitant une vitesse élevée.
Faible empreinte
CodeIgniter est léger, ce qui permet une exécution rapide et une utilisation minimale des ressources serveur.
Grande flexibilité
Ne force pas à utiliser des conventions strictes ou des modèles spécifiques, permettant plus de liberté pour les
développeurs.
Configuration simple
Nécessite peu de configuration pour être opérationnel. La configuration principale repose sur quelques fichiers.
Support intégré pour les bases de données
Prise en charge de plusieurs bases de données, avec des bibliothèques simplifiées pour les opérations CRUD.
Sécurité
Propose des fonctionnalités intégrées pour protéger contre les attaques CSRF (Cross-Site Request Forgery) et
XSS (Cross-Site Scripting).
5
Inconvénients de
CodeIgniter
Moins adapté aux projets complexes
Pour les grandes applications complexes, il manque parfois d’outils avancés comme ceux disponibles dans des
frameworks comme Laravel ou Symfony.
Modèle MVC limité
Bien qu’il supporte MVC (Modèle-Vue-Contrôleur), CodeIgniter n'encourage pas strictement l’utilisation de ce
modèle, ce qui peut entraîner des structures de code désordonnées.
Pas de gestionnaire de dépendances intégré
Contrairement à Laravel (qui utilise Composer), CodeIgniter n’a pas de système natif pour gérer facilement les
dépendances.
Extensions limitées
Comparé à d'autres frameworks, il dispose de moins de paquets ou d’extensions prêts à l'emploi pour des
fonctionnalités avancées.
Manque de modernité
Certaines pratiques de codage et conventions sont datées par rapport à des frameworks plus récents.
Support communautaire variable
Bien qu’il existe une communauté, elle est moins active et moins étendue par rapport à Laravel ou Symfony.
Critères CodeIgniter Laravel Symfony
Courbe d'apprentissage
Facile à apprendre, idéal pour
les débutants grâce à une
documentation claire.
Courbe moyenne, nécessite
une familiarité avec les outils
comme Eloquent et Blade.
Complexe, conçu pour des développeurs
expérimentés.
Performances
Très rapide en raison de sa
légèreté.
Léger ralentissement dû à sa
richesse en fonctionnalités.
Peut être plus lent, mais optimisé pour
les projets complexes.
Flexibilité
Offre une grande liberté et ne
force pas de conventions
strictes.
Modérément flexible, mais suit
des conventions bien définies.
Moins flexible, favorise les bonnes
pratiques strictes.
Sécurité
Dispose de protections
intégrées contre CSRF et XSS.
Propose des fonctionnalités
avancées pour la sécurité.
Très robuste, conçu pour des
applications d'entreprise.
Cas d'utilisation
Projets simples à moyens avec
des besoins spécifiques.
Projets moyens à grands avec
une structure bien définie.
Projets complexes et d'entreprise
nécessitant une extensibilité.
6
Comparaison des Frameworks
PHP
Composer est un outil pour gérer des bibliothèques PHP, mais il peut
aussi installer des frameworks comme CodeIgniter facilement. Il vous
permet de télécharger CodeIgniter et ses dépendances en une
commande et simplifie les mises à jour.
Pour installer Composer, rendez-vous sur getcomposer.org et suivez les
instructions. Une fois installé, vous pourrez rapidement configurer votre
projet CodeIgniter.
7
Installation de CodeIgniter
• Etape 1: installation de Composer
• Etape 2: Installation de XAMPP
Téléchargement : Allez sur le site officiel de XAMPP :
https://www.apachefriends.org
8
• Etape 3:Activer l'extension dans xampp
• Etape 4:
C:XamppHtdocs>composer create-project codeigniter4/appstarter nom_de_votre_projet php spark
serve
9
Architecture MVC(Model-View-Controller)
c’est qoui MVC :
MVC (Model-View-Controller) est un modèle de conception qui structure une application de manière à ce
que ses différentes responsabilités soient séparées en trois parties principales : le modèle, la vue, et le
contrôleur. Ce modèle est largement utilisé dans le développement d'applications web et logiciels pour
améliorer la maintenabilité, la réutilisabilité, et la lisibilité du code.
Pourquoi utiliser MVC ?
Le modèle MVC est conçu pour faciliter la gestion du code dans des applications complexes. Chaque
partie de l'application a une responsabilité bien définie, ce qui rend le code plus organisé et plus facile à
maintenir au fur et à mesure que l'application évolue. Il permet également à plusieurs développeurs de
travailler sur différentes parties de l'application sans empiéter sur le travail des autres.
10
• Model : Gère la logique des données et les interactions avec la base de
données.
• View : Affiche les informations à l'utilisateur.
• Controller : Gère la logique de l'application et les requêtes des utilisateurs.
Vous pouvez enregistrer le fichier de vue pour cette méthode dans
app/Views/profile.php.
Les modèles sont généralement stockés dans app/Models, mais
vous pouvez utiliser un espace de noms (namespace) pour les
organiser selon vos besoins.
Les contrôleurs sont généralement stockés dans app/Controllers,
mais vous pouvez utiliser un espace de noms (namespace) pour les
regrouper selon vos besoins.
11
Application Flowchart ?
Entrée de l'URL : L'utilisateur saisit une URL comme
http://www.aminebsk.com/.
Passage par le serveur web : Le serveur web
(Apache) redirige toutes les requêtes vers le fichier
index.php, grâce au fichier
index.php : Ce fichier est le contrôleur frontal (front
controller). Il initialise CodeIgniter, charge les
configurations essentielles et envoie la requête au
composant de routage.
Routage : Le système de routage de CodeIgniter analyse l'URI (/ dans cet exemple) et détermine quel contrôleur et méthode doivent être
appelés.
Sécurité : Avant de continuer, les données d'entrée sont filtrées et validées pour garantir la sécurité. Cela inclut la protection contre les
injections SQL, les attaques XSS et d'autres vulnérabilités.
Contrôleur : La requête est ensuite transmise au contrôleur approprié. Le contrôleur contient la logique de l'application. Il peut demander
des données au modèle ou effectuer d'autres actions.
Modèle : Si nécessaire, le contrôleur interagit avec le modèle. Le modèle est responsable des requêtes à la base de données ou des
opérations liées aux données.
Vue : Une fois les données traitées, le contrôleur les envoie à la vue. La vue est chargée d'afficher les données à l'utilisateur sous forme de
contenu HTML.
Mise en cache : Si la mise en cache est activée, le résultat généré est stocké pour les requêtes futures afin d'améliorer les performances.
Sortie : Enfin, la vue rendue est envoyée au navigateur en tant que réponse à la requête de l'utilisateur.
12
Structure des dossiers et fichiers
La structure de fichiers et de dossiers de CodeIgniter suit un modèle simple et organisé, conçu pour
faciliter le développement d’applications web. Voici une explication de chaque élément de la structure de
base de CodeIgniter :
1. app/
Ce dossier est l'un des plus importants dans l'application CodeIgniter. Il contient tous
les fichiers et dossiers spécifiques à votre application. C'est là que vous allez gérer vos
logiques métier, vos contrôleurs, modèles, vues, etc...
app/Controllers/ :
Contient tous les contrôleurs de votre application. Un contrôleur gère les requêtes des
utilisateurs, interagit avec le modèle pour obtenir ou traiter des données, et renvoie
les résultats à la vue.
Models/ :
Les modèles sont utilisés pour interagir avec la base de données. Ce répertoire contient les
fichiers de modèles de votre application.
app/Views/ :
Contient les fichiers de vue qui sont utilisés pour afficher le contenu aux utilisateurs.
app/Config/ :
Contient les fichiers de configuration principaux de votre application, comme les
paramètres de la base de données, les routes et d'autres paramètres..
CodeIgniter fichier &
projet:
13
app/Config/Database.php :
Ce fichier contient les paramètres de connexion à la base de données.
Vous y définissez les informations nécessaires pour se connecter à votre
base de données (type de base de données, nom, utilisateur, mot de
passe, etc.).
app/Config/Routes.php :
Ce fichier est utilisé pour définir les routes de l'application. Les routes
sont responsables de la correspondance entre l'URL demandée par
l'utilisateur et les contrôleurs/méthodes correspondants.
public/
Ce dossier est le point d’entrée de votre
application.
Il contient le fichier index.php qui initialise
l’application et gère les requêtes HTTP.
Tous les fichiers statiques (CSS, JavaScript,
images, etc.) doivent être placés dans ce dossier.
14
Objectif du Projet
• L’objectif est de créer une application web simple permettant de gérer une liste d’utilisateurs avec :
⚬ Ajout d’un utilisateur C .
⚬ Lecture de la liste des utilisateurs R.
⚬ Modification des informations U .
⚬ Suppression d’un utilisateur D.
15
MERCI POUR VOTRE ATTENTION

CodeIgniter_created_by_amine_oubouisk.pptx

  • 1.
    1 Réaliser par :Amine Oubouisk & AYMANE KADDI
  • 2.
    Plan Introduction • Qu'est-ce queCodeIgniter ? • Avantages de CodeIgniter • Inconvénients de CodeIgniter • Comparaison des Frameworks PHP Installation de CodeIgniter • composer • installation de XAMPP • installation de codeIngter avec commande Architecture MVC avec un exemple • Modèle (Model) • Vue (View) • Contrôleur (Controller) • Application Flowchart CodeIgniter fichier & projet: • Structure des Fichiers • creation de table crud 2
  • 3.
    Introduction to CodeIgniter 3 Qu'est-ce queCodeIgniter ? CodeIgniter est un framework PHP open-source, léger, rapide et efficace. Il est spécialement conçu pour les développeurs qui souhaitent créer des applications web dynamiques sans se compliquer la tâche. Grâce à son architecture MVC (Modèle-Vue-Contrôleur), il offre une séparation claire entre la logique, les données et l'affichage, rendant le code plus organisé et facile à maintenir. Connu pour sa simplicité, sa flexibilité, et sa performance, CodeIgniter est particulièrement apprécié pour des projets de petite à moyenne taille, comme les blogs ou les applications simples. Avec CodeIgniter, développer rapidement et efficacement devient accessible à tous.
  • 4.
    4 Avantages de CodeIgniter Facilité d'apprentissage Simpleà comprendre pour les débutants, avec une documentation claire et complète. Une structure bien organisée qui n'exige pas une courbe d'apprentissage complexe. Performance rapide L'un des frameworks PHP les plus rapides, ce qui le rend idéal pour les projets nécessitant une vitesse élevée. Faible empreinte CodeIgniter est léger, ce qui permet une exécution rapide et une utilisation minimale des ressources serveur. Grande flexibilité Ne force pas à utiliser des conventions strictes ou des modèles spécifiques, permettant plus de liberté pour les développeurs. Configuration simple Nécessite peu de configuration pour être opérationnel. La configuration principale repose sur quelques fichiers. Support intégré pour les bases de données Prise en charge de plusieurs bases de données, avec des bibliothèques simplifiées pour les opérations CRUD. Sécurité Propose des fonctionnalités intégrées pour protéger contre les attaques CSRF (Cross-Site Request Forgery) et XSS (Cross-Site Scripting).
  • 5.
    5 Inconvénients de CodeIgniter Moins adaptéaux projets complexes Pour les grandes applications complexes, il manque parfois d’outils avancés comme ceux disponibles dans des frameworks comme Laravel ou Symfony. Modèle MVC limité Bien qu’il supporte MVC (Modèle-Vue-Contrôleur), CodeIgniter n'encourage pas strictement l’utilisation de ce modèle, ce qui peut entraîner des structures de code désordonnées. Pas de gestionnaire de dépendances intégré Contrairement à Laravel (qui utilise Composer), CodeIgniter n’a pas de système natif pour gérer facilement les dépendances. Extensions limitées Comparé à d'autres frameworks, il dispose de moins de paquets ou d’extensions prêts à l'emploi pour des fonctionnalités avancées. Manque de modernité Certaines pratiques de codage et conventions sont datées par rapport à des frameworks plus récents. Support communautaire variable Bien qu’il existe une communauté, elle est moins active et moins étendue par rapport à Laravel ou Symfony.
  • 6.
    Critères CodeIgniter LaravelSymfony Courbe d'apprentissage Facile à apprendre, idéal pour les débutants grâce à une documentation claire. Courbe moyenne, nécessite une familiarité avec les outils comme Eloquent et Blade. Complexe, conçu pour des développeurs expérimentés. Performances Très rapide en raison de sa légèreté. Léger ralentissement dû à sa richesse en fonctionnalités. Peut être plus lent, mais optimisé pour les projets complexes. Flexibilité Offre une grande liberté et ne force pas de conventions strictes. Modérément flexible, mais suit des conventions bien définies. Moins flexible, favorise les bonnes pratiques strictes. Sécurité Dispose de protections intégrées contre CSRF et XSS. Propose des fonctionnalités avancées pour la sécurité. Très robuste, conçu pour des applications d'entreprise. Cas d'utilisation Projets simples à moyens avec des besoins spécifiques. Projets moyens à grands avec une structure bien définie. Projets complexes et d'entreprise nécessitant une extensibilité. 6 Comparaison des Frameworks PHP
  • 7.
    Composer est unoutil pour gérer des bibliothèques PHP, mais il peut aussi installer des frameworks comme CodeIgniter facilement. Il vous permet de télécharger CodeIgniter et ses dépendances en une commande et simplifie les mises à jour. Pour installer Composer, rendez-vous sur getcomposer.org et suivez les instructions. Une fois installé, vous pourrez rapidement configurer votre projet CodeIgniter. 7 Installation de CodeIgniter • Etape 1: installation de Composer • Etape 2: Installation de XAMPP Téléchargement : Allez sur le site officiel de XAMPP : https://www.apachefriends.org
  • 8.
    8 • Etape 3:Activerl'extension dans xampp • Etape 4: C:XamppHtdocs>composer create-project codeigniter4/appstarter nom_de_votre_projet php spark serve
  • 9.
    9 Architecture MVC(Model-View-Controller) c’est qouiMVC : MVC (Model-View-Controller) est un modèle de conception qui structure une application de manière à ce que ses différentes responsabilités soient séparées en trois parties principales : le modèle, la vue, et le contrôleur. Ce modèle est largement utilisé dans le développement d'applications web et logiciels pour améliorer la maintenabilité, la réutilisabilité, et la lisibilité du code. Pourquoi utiliser MVC ? Le modèle MVC est conçu pour faciliter la gestion du code dans des applications complexes. Chaque partie de l'application a une responsabilité bien définie, ce qui rend le code plus organisé et plus facile à maintenir au fur et à mesure que l'application évolue. Il permet également à plusieurs développeurs de travailler sur différentes parties de l'application sans empiéter sur le travail des autres.
  • 10.
    10 • Model :Gère la logique des données et les interactions avec la base de données. • View : Affiche les informations à l'utilisateur. • Controller : Gère la logique de l'application et les requêtes des utilisateurs. Vous pouvez enregistrer le fichier de vue pour cette méthode dans app/Views/profile.php. Les modèles sont généralement stockés dans app/Models, mais vous pouvez utiliser un espace de noms (namespace) pour les organiser selon vos besoins. Les contrôleurs sont généralement stockés dans app/Controllers, mais vous pouvez utiliser un espace de noms (namespace) pour les regrouper selon vos besoins.
  • 11.
    11 Application Flowchart ? Entréede l'URL : L'utilisateur saisit une URL comme http://www.aminebsk.com/. Passage par le serveur web : Le serveur web (Apache) redirige toutes les requêtes vers le fichier index.php, grâce au fichier index.php : Ce fichier est le contrôleur frontal (front controller). Il initialise CodeIgniter, charge les configurations essentielles et envoie la requête au composant de routage. Routage : Le système de routage de CodeIgniter analyse l'URI (/ dans cet exemple) et détermine quel contrôleur et méthode doivent être appelés. Sécurité : Avant de continuer, les données d'entrée sont filtrées et validées pour garantir la sécurité. Cela inclut la protection contre les injections SQL, les attaques XSS et d'autres vulnérabilités. Contrôleur : La requête est ensuite transmise au contrôleur approprié. Le contrôleur contient la logique de l'application. Il peut demander des données au modèle ou effectuer d'autres actions. Modèle : Si nécessaire, le contrôleur interagit avec le modèle. Le modèle est responsable des requêtes à la base de données ou des opérations liées aux données. Vue : Une fois les données traitées, le contrôleur les envoie à la vue. La vue est chargée d'afficher les données à l'utilisateur sous forme de contenu HTML. Mise en cache : Si la mise en cache est activée, le résultat généré est stocké pour les requêtes futures afin d'améliorer les performances. Sortie : Enfin, la vue rendue est envoyée au navigateur en tant que réponse à la requête de l'utilisateur.
  • 12.
    12 Structure des dossierset fichiers La structure de fichiers et de dossiers de CodeIgniter suit un modèle simple et organisé, conçu pour faciliter le développement d’applications web. Voici une explication de chaque élément de la structure de base de CodeIgniter : 1. app/ Ce dossier est l'un des plus importants dans l'application CodeIgniter. Il contient tous les fichiers et dossiers spécifiques à votre application. C'est là que vous allez gérer vos logiques métier, vos contrôleurs, modèles, vues, etc... app/Controllers/ : Contient tous les contrôleurs de votre application. Un contrôleur gère les requêtes des utilisateurs, interagit avec le modèle pour obtenir ou traiter des données, et renvoie les résultats à la vue. Models/ : Les modèles sont utilisés pour interagir avec la base de données. Ce répertoire contient les fichiers de modèles de votre application. app/Views/ : Contient les fichiers de vue qui sont utilisés pour afficher le contenu aux utilisateurs. app/Config/ : Contient les fichiers de configuration principaux de votre application, comme les paramètres de la base de données, les routes et d'autres paramètres.. CodeIgniter fichier & projet:
  • 13.
    13 app/Config/Database.php : Ce fichiercontient les paramètres de connexion à la base de données. Vous y définissez les informations nécessaires pour se connecter à votre base de données (type de base de données, nom, utilisateur, mot de passe, etc.). app/Config/Routes.php : Ce fichier est utilisé pour définir les routes de l'application. Les routes sont responsables de la correspondance entre l'URL demandée par l'utilisateur et les contrôleurs/méthodes correspondants. public/ Ce dossier est le point d’entrée de votre application. Il contient le fichier index.php qui initialise l’application et gère les requêtes HTTP. Tous les fichiers statiques (CSS, JavaScript, images, etc.) doivent être placés dans ce dossier.
  • 14.
    14 Objectif du Projet •L’objectif est de créer une application web simple permettant de gérer une liste d’utilisateurs avec : ⚬ Ajout d’un utilisateur C . ⚬ Lecture de la liste des utilisateurs R. ⚬ Modification des informations U . ⚬ Suppression d’un utilisateur D.
  • 15.