Démarrer un projet CakePHP
Nous allons voir en 5 étapes la création d’un nouveau projet CakePHP sous Windows avec Xampp et Eclipse PDT. Nous souhaitons pouvoir placer notre travail dans le dossier C:\Sites\ en créant un sous répertoire à chaque nouveau projet.
1. Hôte virtuel
La première étape consiste à créer un hôte virtuel avec un nom de domaine qui ne sera accessible que sur notre machine. Cela donne une certaine souplesse dans le développement du projet : d’une part cela nous affranchit de travailler dans le dossier www\ de Xampp, et d’autre part l’url du projet sera du type http://monprojet.dev au lieu de http://127.0.0.1/monprojet ou http://localhost/monprojet.
1.1 Hôte virtuel sous Windows
Commençons par enregistrer le nom de domaine de notre projet sous Windows. Ouvrons le fichier suivant dans un simple éditeur de texte, type Bloc-notes :
C:\WINDOWS\system32\drivers\etc\hosts
Ce fichier comporte la seule ligne non commentée suivante :
20 | 127.0.0.1 localhost |
Ajoutons une ligne :
20 21 | 127.0.0.1 localhost 127.0.0.1 test.dev |
avant d’enregistrer et de fermer l’éditeur.
1.2 Hôte virtuel sous Apache
Nous devons maintenant enregistrer ce nouveau nom de domaine dans le serveur Apache, afin que celui-ci sache à quel répertoire du disque associer le domaine. Rappelons que nous souhaitons travailler dans le dossier C:\Sites\ dans lequel nous créerons un sous-répertoire par projet, ici test\. Editons le fichier suivant de la même façon que le précédent :
C:\Program Files\xampp\apache\conf\extra\httpd-vhosts.conf
et ajoutons les lignes suivantes à la fin du fichier :
69 70 71 72 73 74 75 76 77 78 79 | # Hôte virtuel du nom de domaine test.dev <VirtualHost test.dev:80> DocumentRoot "C:/Sites/test/webroot/" ServerName test.dev <Directory "C:/Sites/test/webroot/"> Options Indexes FollowSymLinks AllowOverride FileInfo Order allow,deny Allow from all </Directory> </VirtualHost> |
avant d’enregistrer et de fermer l’éditeur. Rendons-nous dans la console de Xampp pour stopper et redémarrer Apache afin que les ajouts que nous venons de faire soient pris en compte.
2. Définition du projet dans Eclipse PDT
Lors de l’installation d’Eclipse PDT, nous avions défini le dossier de travail ou workspace comme étant C:\Sites\. Après avoir lancé Eclipse PDT, nous choisissons File > New > PHP Project. Nous renseignons uniquement le champ “Project name” : test. Le programme va créer lui-même le dossier test\ dans le workspace.
3. Arborescence et fichiers de base
Lors du téléchargment de CakePHP, nous avons pu trouver un dossier app\ comprenant l’arborescence de base et les fichiers nécessaires au démarrage d’un projet. Dans l’explorateur de fichiers Windows, nous copions tout le contenu de ce répertoire app\ dans le répertoire C:\Sites\test\, créé automatiquement par Eclipse PDT à l’étape 2.
Nous pouvons retourner sur Eclipse PDT, cliquer sur le répertoire nommé “test” et presser la touche F5 pour rafraîchir la vue et voir tous les dossiers et fichiers copiés.
4. Création d’une base de données
L’installation de xampp inclue le gestionnaire de base de données MySQL, ainsi qu’une interface d’administration en PHP, phpMyAdmin. Ouvrons un navigateur et rendons-nous à l’url suivante :
http://localhost/phpmyadmin/
Dans le champ “Créer une base de données” nous saisissons “bdd_test” et cliquons sur “Créer”.
5. Configuration de CakePHP
L’équipe de développement de CakePHP explique dans le manuel avoir préféré les conventions à la configuration. Démarrer un projet CakePHP nécessite de modifier 3 fichiers en tout et pour tout !
5.1 Connexion à la base de données
Renommons le fichier suivant :
C:\Sites\test\config\database.php.default
en :
C:\Sites\test\config\database.php
et ouvrons-le dans Eclipse. Les lignes 73 à 94 montrent :
73 74 75 76 77 78 79 80 81 82 83 84 | var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'localhost', 'port' => '', 'login' => 'user', 'password' => 'password', 'database' => 'database_name', 'schema' => '', 'prefix' => '', 'encoding' => '' ); |
Modifions les paramètres pour définir notre propre configuration :
73 74 75 76 77 78 79 80 81 82 83 84 | var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'localhost', 'port' => '', 'login' => 'root', 'password' => '', 'database' => 'bdd_test', 'schema' => '', 'prefix' => '', 'encoding' => '' ); |
Nous pouvons sauvegarder les changements et fermer le fichier.
5.2 Chemins d’accès aux fichiers de CakePHP
Nous allons indiquer à notre nouveau projet où se trouvent les fichiers du coeur de CakePHP sans lesquels il ne peut bien évidemment fonctionner.
Ouvrons le fichier suivant :
C:\Sites\test\webroot\index.php
Changons la ligne 56 :
56 | define('CAKE_CORE_INCLUDE_PATH', ROOT); |
en remplaçant ROOT par le répertoire où se trouvent les fichiers du coeur de CakePHP, pour nous :
56 | define('CAKE_CORE_INCLUDE_PATH', 'C:/Program Files/xampp/php/CakePHP'); |
Sauvegardons les changements et essayons de nous connecter à notre nouveau projet par le nom de domaine, ouvrons pour cela un navigateur et appelons l’url http://test.dev
S’affiche à l’écran :

5.3 Le fichier de configuration générale
CakePHP nous annonce que tout s’est bien déroulé, mais que pour des raisons de sécurité nous devons changer une valeur dans le fichier de configuration qui se trouve ici :
C:\Sites\test\config\core.php
Ouvrons-le et nous trouvons à la ligne 149 la clé Security.salt dont la valeur est une chaine des caractères incompréhensible. Modifions-en quelques-uns au hasard et enregistrons. Cette fois-ci, l’installation est terminée et notre nouveau projet est créé.
Pierre-Emmanuel Fringant
Pour la définition des noms d’hôtes, pour que les cookies fonctionnent correctement, il vaut mieux des noms du types :
xxx.mondomaine.test
ou
test.mondomaine.com
test.dev peut poser problème.
25 janvier 2008 à 19:40
Auteur : Lionel