Installer Symfony dans NetBeans 6.9 et Wamp Server

PrintFriendly and PDF

[ A+ ] /[ A- ]

Chapitre 1: Installer Symfony dans NetBeans 6.9 et Wamp Server

Le plugin Symfony est déjà intégré dans NetBeans 6.9, donc, vous gagnez du temps à ne pas le chercher. Téléchargez donc l’archive Symfony 1.4, l’IDE NetBeans 6.9 et notre AMP Wamp 2.0.

Extrayez les fichiers de l’archive Symfony dans le dossier Wamp (installé normalement à la racine du C: – C:\wamp). Renommez le nouveau dossier en « symfony » (C:\wamp\symfony).

Paramétrage des options PHP et Symfony

Ouvrez Netbeans et cliquez sur Tools>Options (tools = outils). Cliquez sur l’onglet PHP pour changer certaines paramètres:

– Onglet « General »: Chemin du php.exe dans votre Wamp pour pouvoir interpréter le PHP (C:\wamp\bin\php\php5.3.0\php.exe)

Options PHP (Netbeans)

– Onglet « Symfony »: Chemin vers symfony (C:\wamp\symfony\data\bin\symfony). Si « Applications » est vide, ajoutez –escaping-strategy=on –csrf-secret=UniqueSecret

Options Symfony

Serveur MySQL

Cliquez sur la fenêtre Services (à côté de Projects et Files). Si elle est absente, faites-la apparaître en allant dans le menu Window>Services. Cliquez sur le + de Databases pour les afficher, faites un clic droit sur MySQL et cliquez sur Properties. Pour les besoins de notre test, nous ne mettrons pas un mot de passe pour accéder à la base de données. MAIS PRENEZ L’HABITUDE DE LE METTRE POUR SECURISER VOTRE APPLICATION, DONC, NE CHOISISSEZ PAS UN MOT DE PASSE FACILE A HACKER ET METTEZ UN AUTRE NOM D’UTILISATEUR QUE ROOT

Si le serveur MySQL n’apparaît pas, faites un clic droit et choisissez « Register a MySQL Server ».

MySQL Server Properties: Basic

Si MySQL Workbench est déjà installé sur votre machine, vous pouvez cliquer sur Admin Properties et indiquer les chemins suivants:

  • Path to admin tool: Chemin vers l’outil d’administration de bases de données. Cela peut être MySQL Workbench, phpMyAdmin ou autres.
  • Path to start command: Permet de démarrer MySQL
  • Path to stop command: Permet de fermer MySQL. Si la commande est mysqladmin.exe, ajoutez les arguments suivants: -u root stop.

MySQL Server Properties: Admin

Normalement, tout devrait marcher pour votre base de données. Vérifiez en faisant un clic droit sur MySQL Server et choisissez de vous connecter. Toutes les bases du serveur devraient apparaître en déroulant la liste. Vous pouvez déjà créer une base de données mais je préfère le faire après avoir mis en place notre projet.

Et un projet, un!

Il est temps de cliquer sur File>New Project. Choisissez PHP dans la colonne de gauche et PHP Application dans celle de droite.

Etape 1: Nouveau projet

Ensuite, donnez un nom à votre projet (Games dans notre cas) et changez les fichiers sources par www/games (créez le dossier dans le répertoire www). N’hésitez pas à changer la version de PHP.

Etape 2: PHP

Soyez sûr de rester en local pour l’étape suivante:

Etape 3: Configuration

Choisissez Symfony et générez le frontend et le backend en même temps.

Etape 4: Framework

A présent, nous pouvons utiliser le framework, du moins, sans base de données. Mais comme nous avons besoin de stocker des informations, nous allons donc donner vie à cet espace.

Configurer la base de données

Que faire? Rappelez-vous, vous pouvez créer une base de données (sans tables) à partir de la fenêtre Services en faisant un clic droit sur MySQL Server et ensuite en choisissant Create. Pour le vérifier, démarrez Wamp, écrivez localhost dans votre navigateur et cliquez sur phpMyAdmin. Vous verrez que votre base de données a bien été créée.

Revenons à notre projet Games. Faites un clic droit sur celui-ci puis cliquez sur Symfony>Run command pour accéder à ses commandes. Choisissez configure:database and écrivez comme paramètres la ligne suivante: « mysql:host=localhost;dbname=games » root

Cliquez sur Run et vérifiez que le fichier databases.yml dans games/config comporte les bonnes informations:

all:
  doctrine:
    class: sfDoctrineDatabase
    param:
      dsn: 'mysql:host=localhost;dbname=games'
      username: root
      password: null

Virtual Host

Il est temps à présent de configurer le serveur Apache de Wamp. Allez dans C:\wamp\bin\apache\Apache2.2.11\conf\extra pour éditer le fichier httpd-vhosts.conf. (un bloc-note suffira) et écrivez ce qui suit (le numéro 9093 peut être remplacé par 8080).

    # Be sure to only have this line once in your configuration
    NameVirtualHost 127.0.0.1:9093

    # This is the configuration for Games
    Listen 127.0.0.1:9093

    <VirtualHost 127.0.0.1:9093>
      ServerName project.localhost
      DocumentRoot "C:\wamp\www\games\web"
      DirectoryIndex index.php
       <Directory "C:\wamp\www\games\web">
        AllowOverride All
        Allow from All
       </Directory>

      Alias /sf "C:\wamp\symfony\data\web\sf"
       <Directory "C:\wamp\symfony\data\web\sf">
        AllowOverride All
        Allow from All
       </Directory>
    </VirtualHost>

Comment comprendre ce code?

– J’ai personnalisé mon virtual host en ne mettant pas 8080. Disons qu’il est déjà occupé et que dans les premiers temps, le port 8080 refusait de marcher.

– Certes, il y a un nom à mon serveur mais je ne l’utilise pas. Donc, vous verrez énormément de localhost:9093.

– La première partie du code concerne les dossiers auxquels votre navigateur peut accéder. Donc, c’est là que nous mettrons nos CSS, nos images, nos JS…

– L’alias permet la redirection vers le framework et les pages par défaut

Bien entendu, l’entièreté de votre projet est déployé dans le www folder, ce qui n’est pas tellement une manière sûre de faire. En fait, tous les dossiers, à l’exception de web, devraient être en dehors du dossier www. Mais je ne suis pas à l’aise avec ce genre de manipulations et puis, je suis dans l’optique de comprendre le framework, pas de faire du bon développement de production. Donc, ces questions-là seront abordées bien après, une fois que j’aurai besoin d’y réfléchir.

Vérifier l’existence du nouveau projet

Et maintenant mesdames et messieurs, vous venez de configurer votre premier projet symfony. Si vous doutez de ce que j’ai fait, redémarrez Wamp s’il est déjà actif et écrivez dans votre navigateur localhost:9093/frontend_dev.php.

Je n’aborde pas XDebug mais si vous voulez l’installer, suivez ce tutorial.

En savoir plus:
NetBeans IDE PHP Quick Start Tutorial
Setting Up a PHP Project
Connecting to a MySQL Database
Symfony and Netbeans


Vous avez trouvé l'article intéressant? Partagez-le!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

2 + 6 =