SlideShare une entreprise Scribd logo
1  sur  25
Mr. EZZAOUFI Amine
Outils utilisés
Wamp Server
Sublime Text Editor
pré requis
Langage PHP
HTML & CSS
SQL
Table de matières
• Cake PHP?
• Installation et configuration
• Le modèle MVC
• Architecture d’un projet Cake PHP
• Les classes en Cake PHP
• Les contrôleurs en Cake PHP
• Les vues en Cake PHP
• Projet Gestion de comptes en Cake PHP
1
Cake PHP
Cake PHP: Framework Open Source de langage PHP, Crée en 2005, Il se base sur l’architecture
MVC ( Modèle- Vue - Contrôleur).
Avantages:
• Compatible avec PHP5 et PHP7
• Intégration facile d’une Template HTML,CSS dans le projet Cake PHP.
• Simple intégration du CRUD (Ajouter-Chercher-Modifier-supprimer).
• Utilisation simplifié de la base des données.
• Possède des composants de sécurité, de gestion des droits et de gestion des sessions.
• Cache des vues et des actions flexible.
Inconvenants:
• Exige le respect des règles de nommage pour les classes, et les contrôleurs .
• Peu utilisé sur le marché de l’emploi.
2
Installation et configuration
• Premièrement il faut installer un serveur web tel que EasyPHP ou bien Wamp Server,
• Après il faut télécharger le Cake PHP soit dans le site officiel ou bien en git hub.
(Lien de téléchargement en Git Hub : https://github.com/cakephp/cakephp/archive/2.8.8.zip )
• Ensuite on met le projet téléchargé dans le répertoire www du serveur web.
• On ouvre le projet dans le navigateur. Ce qui nous donne le résultat suivant:
3
Installation et configuration
• On cherche dans le ficher libCakeUtilityDebugger.php sur les deux lignes
839 et 842, Et on change un caractère dans la chaine de la Security.salt comme montre
La figure suivante:
Apres on obtient ce résultat:
4
Installation et configuration
• La dernière configuration c’est de la base de données, On crée une base de données
Sous le nom de Base1
• Après on change le nom du fichier appconfigdatabase.php.default vers
appconfigdatabase.php
• Et finalement on déclare les information de la base de données dans le fichier.
5
Le modèle MVC
6
Architecture d’un projet Cake PHP
Config
app
Controller Model
View
Layouts
Webroot
CSS JS img
Database.php
Default.ctp
Pages
7
Les classes en Cake PHP
• Les classes se trouve dans le dossier appmodel
• Chaque classe doit être associer à une table de la base de données
• Le nom de chaque table de la base de données doit être terminer par un s
• Chaque table sa clé primaire on doit la nommer id avec l’option auto incrémente
• Chaque classe son nom doit être commencer par un majuscule
8
Les classes en Cake PHP
Les relations entre les tables
belongs to: représente l’association de plusieurs vers un
hasmany: représente l’association de un vers plusieurs
9
Les contrôleurs en Cake PHP
• On nomme un contrôleur par l’ajout d’un s comme les classes plus on ajout le nom
Controller attaché (exemple : ProduitsController)
• Chaque contrôleur est associé à une ou plusieurs classes
• Dans le contrôleur on met les méthodes.
10
Les contrôleurs en Cake PHP
Les méthodes pour s’interagir avec la base de données
1-La méthode de recherche find
Il y a plusieurs type de recherche comme démontre l’image au dessous l’exemple de
La recherche de toutes les lignes de la table produit en utilisant le mot all
On possédons la possibilité de chercher le premier enregistrement en mettant le mot clé first ,
Dans la select on met les conditions dans un tableau array(‘condition’=> array(Nos conditions))
L’exemple au dessous montre la recherche du premier enregistrement de la table produit avec
la condition que l’id du produit égale à 1
On peut sélectionner le nombre de lignes en mettant le mot clé
count
11
Les contrôleurs en Cake PHP
Les méthodes pour s’interagir avec la base de données
1-La méthode de recherche find
Lorsqu’on utilise le mot clé list dans la méthode find, Il nous ramène comme résultat un tableau
D’objet indexé.
Résultat :
12
Les contrôleurs en Cake PHP
Les méthodes pour s’interagir avec la base de données
2-La méthode d’insertion
On insert les données dans un tableau en associant chaque paramètre de la table a sa valeur.
Puis en mets le tableau dans la méthode save.
13
Les contrôleurs en Cake PHP
Les méthodes pour s’interagir avec la base de données
3-La méthode de la modification
C’est le même cas de l’insertion sauf qu’on ajout le id dans les paramètres.
14
Les contrôleurs en Cake PHP
Les méthodes pour s’interagir avec la base de données
4-La méthode de la suppression
Pour la suppression c’est simple on donne juste l’id comme paramètre dans la fonction delete.
Dans ce cas nous avons supprimé le produit qui a l’id numéro 1.
15
Les vues en Cake PHP
Dans le dossier View, On crée des dossiers, Chaque dossier est associé à un contrôleur ,
Par exemple si nous avons un contrôleur ProduitsController on crée un dossier qui s’appelle
Produits. Dans lequel on crée des fichier de type ctp chaque fichier est associé à une méthode.
Par exemple nous avons une méthode dans le contrôleur ProduitsController qui s’appelle index.
On crée un fichier dans le dossier Produits dont son nom est index.
Dans le vue on obtient les résultats de la méthode. Par exemple : on fait une selection de tous
Les produits, Et on les affiche dans la vue
16
Les vues en Cake PHP
Le contrôleur
La vue
Exemple:
Dans la méthode produits() . Nous avons sélectionné toutes les lignes de la table Produit en
les mettant dans la variables ‘produits’. Dans la vue nous avons affiché toutes les marques
De tous les produits sélectionnés.
17
Les vues en Cake PHP
Les formulaires
18
Les vues en Cake PHP
Les formulaires
L’appel du formulaire
19
Les vues en Cake PHP
L’affichage des images :
En Html on utilise <img src=‘’ ‘’>, Le cas est différent en CakePHP. On fait appel à:
$this->Html->img()
Les liens :
C’est l’equivalent de <a href> en html dans le cake PHP nous utilisons :
$this->Html->link ()
20
Les vues en Cake PHP
Les fichiers CSS,JS et les images:
Pour les fichiers css on les stocke dans le répertoire appWebrootcss.
Pour les fichiers JS on les stocke dans le répertoire appWebroot JS.
Pour les images on les stocke dans le répertoire appWebrootIMG.
La déclaration des fichiers CSS et JS :
L’appel se fait dans le fichier default.ctp qui se trouve dans le dossier appViweLayouts
Pour l’appel d’un fichier CSS qui s’appelle par exemple style.css
Pour un fichier javascript (style.js)
La même chose pour liens de JS ou CSS
21
Projet Gestion de comptes en Cake PHP
Cahier des charges:
L’objectif de ce projet est de réaliser une application web qui permet en Cake PHP qui permet :
• L’ajout d’un client.
• La mise à jour des informations d’un client.
• La suppression d’un client.
• La recherche d’un client.
• L’ajout d’un compte bancaire.
• La suppression d’un compte bancaire.
• La recherche sur un compte bancaire d’un client donné.
• L’affichage des comptes bancaires d’un client donné
• Effectuer un virement dans un compte.
• Effectuer un retrait sur un compte.
• Effectuer un transfert d’argent d’un compte vers un autre.
• Afficher toutes les opérations effectuées dans un compte bancaire
• Afficher toutes les opérations effectuées dans tous les comptes bancaires d’un client.

Contenu connexe

Tendances

[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...Clément OUDOT
 
PHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben AlayaPHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben AlayaMahdi Ben Alaya
 
Mini projet individuel php
Mini projet individuel phpMini projet individuel php
Mini projet individuel phpKhadim Mbacké
 
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Addi Ait-Mlouk
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partiekadzaki
 
Initiation au php
Initiation au phpInitiation au php
Initiation au phpStrasWeb
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirYves Van Goethem
 
Bonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHPBonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHPPascal MARTIN
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLDamien Seguy
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
Atelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPressAtelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPressIZZA Samir
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
 

Tendances (20)

[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
[RMLL2017] Templer, Git, Bootstrap, PHP : des outils libres pour concevoir le...
 
PHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben AlayaPHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben Alaya
 
Mini projet individuel php
Mini projet individuel phpMini projet individuel php
Mini projet individuel php
 
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
 
Php
PhpPhp
Php
 
Aeris web components
Aeris web componentsAeris web components
Aeris web components
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partie
 
Initiation au php
Initiation au phpInitiation au php
Initiation au php
 
Initiation au php
Initiation au phpInitiation au php
Initiation au php
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenir
 
Bonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHPBonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHP
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQL
 
Pentaho Ctools : tips & tricks
Pentaho Ctools : tips & tricksPentaho Ctools : tips & tricks
Pentaho Ctools : tips & tricks
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Cakephp
CakephpCakephp
Cakephp
 
Atelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPressAtelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPress
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
 

Similaire à Formation cakephp

#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniterAtsé François-Xavier KOBON
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sqlcecile59
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPkemenaran
 
Comment passer de SEO à SEO + data
Comment passer de SEO à SEO + dataComment passer de SEO à SEO + data
Comment passer de SEO à SEO + dataSEO CAMP
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv PsGregory Renard
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbcInes Ouaz
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPressChi Nacim
 
Memcached, une solution de cache par excellence
Memcached, une solution de cache par excellenceMemcached, une solution de cache par excellence
Memcached, une solution de cache par excellenceMehdi Mehni
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
atam guide de developpement v1.3
atam guide de developpement v1.3atam guide de developpement v1.3
atam guide de developpement v1.3Abdessamad Hamouch
 
Dévelopement extensions WordPress
Dévelopement extensions WordPressDévelopement extensions WordPress
Dévelopement extensions WordPressIZZA Samir
 
Des principes de la démarche DevOps à sa mise en oeuvre
Des principes de la démarche DevOps à sa mise en oeuvreDes principes de la démarche DevOps à sa mise en oeuvre
Des principes de la démarche DevOps à sa mise en oeuvreStephane Manciot
 
Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partiekadzaki
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 

Similaire à Formation cakephp (20)

#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHP
 
Comment passer de SEO à SEO + data
Comment passer de SEO à SEO + dataComment passer de SEO à SEO + data
Comment passer de SEO à SEO + data
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv Ps
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbc
 
Pentaho Ctools : tips & tricks
Pentaho Ctools : tips & tricks Pentaho Ctools : tips & tricks
Pentaho Ctools : tips & tricks
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPress
 
Memcached, une solution de cache par excellence
Memcached, une solution de cache par excellenceMemcached, une solution de cache par excellence
Memcached, une solution de cache par excellence
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
atam guide de developpement v1.3
atam guide de developpement v1.3atam guide de developpement v1.3
atam guide de developpement v1.3
 
Dévelopement extensions WordPress
Dévelopement extensions WordPressDévelopement extensions WordPress
Dévelopement extensions WordPress
 
Mpdf 12
Mpdf 12Mpdf 12
Mpdf 12
 
Framework php « Codeignitor »
Framework php « Codeignitor » Framework php « Codeignitor »
Framework php « Codeignitor »
 
Des principes de la démarche DevOps à sa mise en oeuvre
Des principes de la démarche DevOps à sa mise en oeuvreDes principes de la démarche DevOps à sa mise en oeuvre
Des principes de la démarche DevOps à sa mise en oeuvre
 
Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partie
 
Introduction aspnet
Introduction aspnetIntroduction aspnet
Introduction aspnet
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 

Dernier

Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmacieLoloshka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 

Dernier (20)

Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour Pharmacie
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 

Formation cakephp

  • 4. Table de matières • Cake PHP? • Installation et configuration • Le modèle MVC • Architecture d’un projet Cake PHP • Les classes en Cake PHP • Les contrôleurs en Cake PHP • Les vues en Cake PHP • Projet Gestion de comptes en Cake PHP
  • 5. 1 Cake PHP Cake PHP: Framework Open Source de langage PHP, Crée en 2005, Il se base sur l’architecture MVC ( Modèle- Vue - Contrôleur). Avantages: • Compatible avec PHP5 et PHP7 • Intégration facile d’une Template HTML,CSS dans le projet Cake PHP. • Simple intégration du CRUD (Ajouter-Chercher-Modifier-supprimer). • Utilisation simplifié de la base des données. • Possède des composants de sécurité, de gestion des droits et de gestion des sessions. • Cache des vues et des actions flexible. Inconvenants: • Exige le respect des règles de nommage pour les classes, et les contrôleurs . • Peu utilisé sur le marché de l’emploi.
  • 6. 2 Installation et configuration • Premièrement il faut installer un serveur web tel que EasyPHP ou bien Wamp Server, • Après il faut télécharger le Cake PHP soit dans le site officiel ou bien en git hub. (Lien de téléchargement en Git Hub : https://github.com/cakephp/cakephp/archive/2.8.8.zip ) • Ensuite on met le projet téléchargé dans le répertoire www du serveur web. • On ouvre le projet dans le navigateur. Ce qui nous donne le résultat suivant:
  • 7. 3 Installation et configuration • On cherche dans le ficher libCakeUtilityDebugger.php sur les deux lignes 839 et 842, Et on change un caractère dans la chaine de la Security.salt comme montre La figure suivante: Apres on obtient ce résultat:
  • 8. 4 Installation et configuration • La dernière configuration c’est de la base de données, On crée une base de données Sous le nom de Base1 • Après on change le nom du fichier appconfigdatabase.php.default vers appconfigdatabase.php • Et finalement on déclare les information de la base de données dans le fichier.
  • 10. 6 Architecture d’un projet Cake PHP Config app Controller Model View Layouts Webroot CSS JS img Database.php Default.ctp Pages
  • 11. 7 Les classes en Cake PHP • Les classes se trouve dans le dossier appmodel • Chaque classe doit être associer à une table de la base de données • Le nom de chaque table de la base de données doit être terminer par un s • Chaque table sa clé primaire on doit la nommer id avec l’option auto incrémente • Chaque classe son nom doit être commencer par un majuscule
  • 12. 8 Les classes en Cake PHP Les relations entre les tables belongs to: représente l’association de plusieurs vers un hasmany: représente l’association de un vers plusieurs
  • 13. 9 Les contrôleurs en Cake PHP • On nomme un contrôleur par l’ajout d’un s comme les classes plus on ajout le nom Controller attaché (exemple : ProduitsController) • Chaque contrôleur est associé à une ou plusieurs classes • Dans le contrôleur on met les méthodes.
  • 14. 10 Les contrôleurs en Cake PHP Les méthodes pour s’interagir avec la base de données 1-La méthode de recherche find Il y a plusieurs type de recherche comme démontre l’image au dessous l’exemple de La recherche de toutes les lignes de la table produit en utilisant le mot all On possédons la possibilité de chercher le premier enregistrement en mettant le mot clé first , Dans la select on met les conditions dans un tableau array(‘condition’=> array(Nos conditions)) L’exemple au dessous montre la recherche du premier enregistrement de la table produit avec la condition que l’id du produit égale à 1 On peut sélectionner le nombre de lignes en mettant le mot clé count
  • 15. 11 Les contrôleurs en Cake PHP Les méthodes pour s’interagir avec la base de données 1-La méthode de recherche find Lorsqu’on utilise le mot clé list dans la méthode find, Il nous ramène comme résultat un tableau D’objet indexé. Résultat :
  • 16. 12 Les contrôleurs en Cake PHP Les méthodes pour s’interagir avec la base de données 2-La méthode d’insertion On insert les données dans un tableau en associant chaque paramètre de la table a sa valeur. Puis en mets le tableau dans la méthode save.
  • 17. 13 Les contrôleurs en Cake PHP Les méthodes pour s’interagir avec la base de données 3-La méthode de la modification C’est le même cas de l’insertion sauf qu’on ajout le id dans les paramètres.
  • 18. 14 Les contrôleurs en Cake PHP Les méthodes pour s’interagir avec la base de données 4-La méthode de la suppression Pour la suppression c’est simple on donne juste l’id comme paramètre dans la fonction delete. Dans ce cas nous avons supprimé le produit qui a l’id numéro 1.
  • 19. 15 Les vues en Cake PHP Dans le dossier View, On crée des dossiers, Chaque dossier est associé à un contrôleur , Par exemple si nous avons un contrôleur ProduitsController on crée un dossier qui s’appelle Produits. Dans lequel on crée des fichier de type ctp chaque fichier est associé à une méthode. Par exemple nous avons une méthode dans le contrôleur ProduitsController qui s’appelle index. On crée un fichier dans le dossier Produits dont son nom est index. Dans le vue on obtient les résultats de la méthode. Par exemple : on fait une selection de tous Les produits, Et on les affiche dans la vue
  • 20. 16 Les vues en Cake PHP Le contrôleur La vue Exemple: Dans la méthode produits() . Nous avons sélectionné toutes les lignes de la table Produit en les mettant dans la variables ‘produits’. Dans la vue nous avons affiché toutes les marques De tous les produits sélectionnés.
  • 21. 17 Les vues en Cake PHP Les formulaires
  • 22. 18 Les vues en Cake PHP Les formulaires L’appel du formulaire
  • 23. 19 Les vues en Cake PHP L’affichage des images : En Html on utilise <img src=‘’ ‘’>, Le cas est différent en CakePHP. On fait appel à: $this->Html->img() Les liens : C’est l’equivalent de <a href> en html dans le cake PHP nous utilisons : $this->Html->link ()
  • 24. 20 Les vues en Cake PHP Les fichiers CSS,JS et les images: Pour les fichiers css on les stocke dans le répertoire appWebrootcss. Pour les fichiers JS on les stocke dans le répertoire appWebroot JS. Pour les images on les stocke dans le répertoire appWebrootIMG. La déclaration des fichiers CSS et JS : L’appel se fait dans le fichier default.ctp qui se trouve dans le dossier appViweLayouts Pour l’appel d’un fichier CSS qui s’appelle par exemple style.css Pour un fichier javascript (style.js) La même chose pour liens de JS ou CSS
  • 25. 21 Projet Gestion de comptes en Cake PHP Cahier des charges: L’objectif de ce projet est de réaliser une application web qui permet en Cake PHP qui permet : • L’ajout d’un client. • La mise à jour des informations d’un client. • La suppression d’un client. • La recherche d’un client. • L’ajout d’un compte bancaire. • La suppression d’un compte bancaire. • La recherche sur un compte bancaire d’un client donné. • L’affichage des comptes bancaires d’un client donné • Effectuer un virement dans un compte. • Effectuer un retrait sur un compte. • Effectuer un transfert d’argent d’un compte vers un autre. • Afficher toutes les opérations effectuées dans un compte bancaire • Afficher toutes les opérations effectuées dans tous les comptes bancaires d’un client.