Une introduction à CakePHP

CakePHP est un fra­me­work PHP open-source qui a pour but de rendre le déve­lop­pe­ment, la main­te­nance et le déploie­ment  d'applications inter­net plus facile. Il uti­lise une archi­tec­ture de type Modèle - Vue - Contrôleur, une ges­tion sim­pli­fiée de la base de don­nées (objet - rela­tion­nel). Inspiré par Ruby on Rails, l'un des pre­miers fra­me­works web mar­quant, il en garde la même philosophie.

Étape 1: Télécharger le framework

Rendez vous sur le site de CakePHP pour récu­pé­rer la der­nière ver­sion, à l'heure où j'écris ces lignes la ver­sion 1.2 RC3 est sor­tie. Cliquez sur le large bou­ton "down­load". Il y a plu­sieurs for­mats dif­fé­rents de paque­tages, pre­nez celui qui convient le mieux à votre ordinateur.

Étape 2: Contenu de l'archive

Une fois que vous avez récu­péré l'archive, pla­cez la sur votre ser­veur web. Votre ser­veur doit sup­por­ter PHP 5 et avoir une base SQL. CakePHP sup­porte plu­sieurs type de base de don­nées, dans notre exemple nous pren­drons MySQL. Vous devez aussi avoir le mod_rewrite.

L'arborescence des fichiers est le suivant :

/dossier_racine
	/cake/
	/docs/
	/app/
 
    		config/
		controllers/
		models/
		plugins/
		tmp/
		vendors/
		views/
		webroot/
		index.php
		.htaccess
	/vendors/
        index.php
       .htaccess

Chaque réper­toire à un rôle bien pré­cis, que je vais détailler juste après. Il est néces­saire de com­prendre à quoi servent ces dos­siers pour ne pas se perdre.

  • Le dos­sier cake contient le "moteur" du fra­me­work. Vous n'aurez pas besoin d'y toucher.
  • Le dos­sier docs n'est pas vrai­ment impor­tant, vous pou­vez le sup­pri­mer si vous voulez.
  • Le dos­sier app contien­dra le code de votre appli­ca­tion, il contient les dos­siers suivants :
  • config contient les fichiers de confi­gu­ra­tion pour votre appli­ca­tion (la base de don­nées, les routes...)
  • models contien­dra vos modèles qui cor­res­pondent au com­por­te­ment de votre appli­ca­tion : le trai­te­ment des don­nées et les inter­ac­tions avec la base de données.
  • views contien­dra les vues : c'est votre lien avec l'utilisateur, on y pré­sente les don­nées reçues par le modèle et on met à dis­po­si­tion de l'utilisateur les actions possibles
  • control­lers contien­dra les contrô­leurs qui ser­vi­ront de liens entre les vues et les modèles.

L'utilité des autres dos­siers n'est pas impor­tante pour le moment.

Étape 3: Configuration de la base de données

La confi­gu­ra­tion de CakePHP est assez simple. Vous avez besoin d'une base de don­nées libre, du nom d'utilisateur et du mot de passe. Ensuite ouvrez le fichier /app/config/database.php.default.

class DATABASE_CONFIG {
 
	var $default = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user',
		'password' => 'password',
		'database' => 'database_name',
		'prefix' => '',
	);
}

Remplissez ce fichier en pre­nant en compte vos réglages et sau­ve­gar­dez le sous le nom database.php. Il y a d'autres réglages dis­po­nibles dans /app/config/core.php comme le niveau de débug­gage, le nom des cookies... Nous ver­rons ça plus en détails quand nous com­men­ce­rons à déve­lop­per notre application.

Étape 4: Tester la configuration

Ouvrez votre navi­ga­teur et poin­tez sur le dos­sier racine de cake­PHP. Si vous avez ça :

Your data­base confi­gu­ra­tion file is present
Cake is able to connect to the database

C'est bon

Conclusion

Tout est en place pour com­men­cer à créer notre appli­ca­tion. Dans le pro­chain tuto­riel sur CakePHP nous allons mettre en place une biblio­thèque de films.



Post comment as twitter logo facebook logo
Sort: Newest | Oldest

@x@v : La plupart de la doc a été traduite en française

Et bien j'en connais qu'un seul en français et c'est Symfony.
Mais je trouve sa configuration très lourde.
Si tu en connais d'autres je suis preneur.

Excelent malheureusement la don est en anglais et c'est tout.
Il y a des framework en français pourquoi ne pas les utilisés ?

En framework fr,il y a jelix !

@x@v : La plupart de la doc a été traduite en française

Et bien j'en connais qu'un seul en français et c'est Symfony.
Mais je trouve sa configuration très lourde.
Si tu en connais d'autres je suis preneur.

Excelent malheureusement la don est en anglais et c'est tout.
Il y a des framework en français pourquoi ne pas les utilisés ?