Archives de catégorie : Tutoriels

Créer un projet Zend Framework 2 sous NetBeans 7.3

Aujourd’hui nous allons voir comment créer rapidement un nouveau projet Zend Framework 2 avec NetBeans 7.3 sous Mac OS X. Ce dernier ne supportant pas encore Zend Framework 2, il va donc falloir un peu d’astuce pour nous simplifier la vie.

NetBeans 7.3

NetBeans 7.3

ZFTool

Depuis Zend Framework 2.1, un nouveau projet à vu le jour : le script ZFTool. C’est plus ou moins l’équivalent de ce que nous connaissions sous Zend Framework 1 comme zf.php et ses alias zf.bat et zf.sh.

Pour l’instant ce script ne permet que peu de chose :

  • Création d’un squelette d’application
  • Création d’un squelette de module
  • Manipuler la configuration
  • Générer un classmap
  • Installer ZF2

Nous allons télécharger l’archive PHAR de ZFTool ici :
http://packages.zendframework.com/zftool.phar

Et le placer avec nos autres bibliothèques PHP, chez moi dans :

Nous allons ensuite ajouter la ligne :

Au fichier ~/.bashrc (le créer si besoin).

Après vous être assuré de redémarrer NetBeans, nous allons ouvrir une fenêtre de Terminal par le menu Window > Output > Terminal.

Nous allons désormais créer un squelette d’application. A l’intérieur de cet onglet Terminal vous pouvez maintenant taper la commande :

Vous pouvez remplacer ~/www/zf2intro par le chemin où vous souhaitez créer le projet ZF2.

Si tout ce passe bien le message suivant devrait s’afficher.

ZF2 skeleton application installed in /Users/romain/www/zf2intro.
In order to execute the skeleton application you need to install the ZF2 library.
Execute: « composer.phar install » in /Users/romain/www/zf2intro
For more info in /Users/romain/www/zf2intro/README.md

Création du projet Netbeans

Allons ensuite dans Files > New Project… > PHP > PHP Application with Existing Sources

Sources Folder : ~/www/zf2intro
Project Name : ZF2Intro
PHP Version : PHP 5.4

Puis Next

Project URL : http://zf2intro.dev:8080

Création d’une entrée host

Dans le fichier /etc/hosts j’ajoute la ligne

Création du Virtual Host Apache

Dans le fichier httpd-vhosts.conf j’ajoute un nouveau site :

Puis redémarrage d’Apache.

Notez que j’ai configuré une machine virtuelle avec Apache 2.4 et PHP 5.4 sous Ubuntu comme décrit dans le tutoriel : Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)

Composer

Le squelette de notre projet est installé, Apache configuré, nous allons désormais installer Zend Framework 2. Pour ce le plus simple étant d’utiliser le gestionnaire de dépendance : Composer.

Commençons par le télécharger ici :
http://getcomposer.org/composer.phar

Et le déplacer avec nos autres bibliothèques PHP comme pour ZFTool.

NetBeans 7.3 introduit le support de Composer, et va donc nous aider à installer et mettre à jour nos bibliothèques.

Dans le Préférences de Netbeans puis PHP > Composer.

Composer : /Users/romain/Projets/Bibliotheques/PHP/composer.phar
Vendor : le namespace ou le préfixe pour les bibliothèques que vous avez créé

Configuration de Composer sous Netbeans 7.3

Configuration de Composer sous Netbeans 7.3

Puis faites un clic droit sur le projet ZF2Intro dans l’explorateur de projet puis Composer > Install.

Composer > Install

Composer > Install

Si vous êtes arrivé jusque là, j’imagine que vous savez ce que vous faîtes, personnellement je préfère voir dans NetBeans les fichiers masqués comme les .gitignore (par défaut NetBeans n’affiche que les .htaccess). Pour les faire apparaitre allez dans Préférences > Miscellaneous > Files et transformez le Ignored Files Pattern en :

Et voilà, notre projet Zend Framework 2 est prêt !

Ecran d'accueil ZF2

Ecran d’accueil ZF2

Configuration de XDebug sous une VM VirtualBox

Suite à la création de mon environnement de développement LAMP sous VirtualBox, j’ai voulu installer XDebug pour une utilisation avec NetBeans se trouvant côté Mac, voici comment procéder.

Globalement ces explications valent pour toute personne souhaitant déboguer du PHP sur un serveur distant.

Pour rappel j’utilise :
Ubuntu 12.04 LTS
Apache 2.4
PHP 5.4 en module d’Apache

Xdebug-logo

Premièrement nous allons installer XDebug via pecl :

Une installation de XDebug réussie !

Une installation de XDebug réussie !

Ensuite nous allons éditer le fichier php.ini en y ajoutant la section suivante :

L’option xdebug.remote_connect_back sert à indiquer que XDebug doit envoyer ses informations de debug à l’adresse IP qui a envoyé la requête HTTP (protocole DBGp, port 9000 par défaut comme sous NetBeans).

Attention à bien écrire zend_extension = et non extension =, la différence est que XDebug vient affecter le comportement de PHP et pas simplement ajouter des fonctionnalités.

Vous pourrez ensuite lancer une session de debug depuis NetBeans mais ce dernier ne verra pas les sources (ces dernières se trouvant sur une autre machine).

Pour chacun de vos projet il faudra donc faire un clic droit sur leur nom puis Set Configuration > Customize…
Cliquez ensuite sur le bouton Advanced en bas à droite, et éditer le path mapping du projet, pour ma part :
Server Path : /var/www
Project Path : /Users/romain/www

Path Mapping sous NetBeans

Path Mapping sous NetBeans

Et voilà !

Un joli debug de Zend Framework 2 sous NetBeans

Un joli debug de Zend Framework 2 sous NetBeans

Installer MySQL 5.5 et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

Cet article fait parti d’une série d’articles sur la création d’un environnement de développement Linux Apache MySQL PHP (LAMP) dans une machine virtuelle VirtualBox.

SOMMAIRE

Index : Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)
Etape 1 : Installation d’Ubuntu Server 12.04 LTS sous VirtualBox
Etape 2 : Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS
Etape 3 : Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS
Etape 4 : Installer MySQL 5.5. et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

Installation de MySQL 5.5

Nous allons commencer par installer MySQL 5.5, la version la plus récente se trouvant déjà sur le repository Ubuntu (à l’heure où j’écris 5.5.28-0ubuntu012.04.2), je n’ai qu’à l’installer avec la commande :

Vous pouvez ensuite saisir un mot de passe (ou non) pour l’utilisateur root.

Choix d'un mot de passe pour compte root

Choix d’un mot de passe pour compte root

C’est tout ! MySQL se lancera tout seul au démarrage.

Compilation de PHP 5.4

Pour PHP ce sera un peu plus complexe car le repository officiel ne contient que la version 5.3 à l’heure actuelle, il va falloir compiler !

Pour plus de détails sur les options de compilation, notamment sur l’utilisation avec d’autres MPM d’Apache ou d’autres serveurs web, je vous recommande cet article de Julien Pauli :

http://julien-pauli.developpez.com/tutoriels/php/compilation/

Par défaut PHP 5.4 incluant les extensions XML, nous auront besoin au préalable d’installer le package libxml2-dev

Premièrement nous allons télécharger, puis décompresser les sources (le tilde ~ se fait avec alt droite+n sur un clavier mac azerty).

Pour connaitre la liste des options disponibles vous pouvez taper :

L’article de Julien Pauli, ainsi que la documentation de PHP sont également d’autres sources d’information.

Nous allons ensuite lancer le triplet configure, make, make install. J’ai dans mon exemple uniquement activé le support de MySQL en utilisant le driver natif (par défaut dans PHP 5.4), PHP sera installé en tant que module d’Apache. Si vous comptez installer phpMyAdmin, vous pouvez également ajouter –with-mcrypt –enable-mbstring dès maintenant.

Nous allons ensuite créer le fichier php.ini à partir du fichier recommandé pour un environnement de développement

Vous pouvez également en profiter pour modifier la ligne

en

Ensuite nous ajouterons les lignes suivantes au fichier de configuration Apache /usr/local/apache2/conf/httpd.conf

C’est tout, il n’y a plus qu’à redémarrer Apache !

Vous pouvez tester votre configuration en allant ajouter un fichier phpinfo.php dans votre répertoire www contenant :

Un phpinfo() où tout roule !

C’est fini !

[MAJ du 18/12/2012] Vous pouvez également suivre ce tutoriel qui explique comment installer et configurer XDebug pour un deboguage distant

SOMMAIRE

Index : Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)
Etape 1 : Installation d’Ubuntu Server 12.04 LTS sous VirtualBox
Etape 2 : Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS
Etape 3 : Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS
Etape 4 : Installer MySQL 5.5. et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS

Cet article fait parti d’une série d’articles sur la création d’un environnement de développement Linux Apache MySQL PHP (LAMP) dans une machine virtuelle VirtualBox.

SOMMAIRE

Index : Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)
Etape 1 : Installation d’Ubuntu Server 12.04 LTS sous VirtualBox
Etape 2 : Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS
Etape 3 : Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS
Etape 4 : Installer MySQL 5.5. et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

Après avoir compilé, installé et configuré notre serveur Apache avec succès dans l’article précédent, nous allons maintenant partager un répertoire entre notre machine hôte et Ubuntu sous VirtualBox.

Sur mon Mac j’ai créé un répertoire www dans mon dossier utilisateur, c’est ce répertoire que je vais partager.

Mon dossier partagé

Mon dossier partagé

Sous Ubuntu, dans le menu Devices de VirtualBox, cliquez sur Install Guest Additions… pour lancer un disque virtuel (s’il ne se passe strictement rien c’est parfaitement normal) puis nous allons créer un répertoire /cdrom et y monter son contenu.

Puis nous allons lancer le script VBoxLinuxAdditions.run (attention, il faudra le refaire à chaque mise à jour de VirtualBox)

Dans le menu Devices > Shared Folders… de VirtualBox, nous allons sélectionner le répertoire www créé sur notre machine hôte. Pensez à cocher Make Permanent pour que le partage perdure après avoir quitté VirtualBox.

Partage d'un répertoire Mac OS X sous Ubuntu VirtualBox

Partage d’un répertoire Mac OS X sous Ubuntu VirtualBox

Une fois le partage activé, j’ai créé un répertoire /var/www sous Ubuntu, puis monté le partage :

Si vous souhaitez monter ce dossier à chaque démarrage, je vous recommande d’ajouter la ligne

Au fichier

Attention, si vous appelez apachectl start dans ce même fichier, penser à monter le dossier partagé au préalable, sachant qu’il sera utilisé ensuite par notre config d’Apache.

Partage du répertoire www à chaque démarrage

J’ai ensuite modifié dans le fichier

Le ligne permettant d’indiquer que mon site web local se trouve dans le répertoire /var/www :

Nouvelle configuration d’Apache

Il ne nous reste plus qu’à tester, j’ai créé un fichier test.html sur mon Mac… et ça marche !

Ça marche !

Etape suivante : Installer MySQL 5.5. et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

SOMMAIRE

Index : Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)
Etape 1 : Installation d’Ubuntu Server 12.04 LTS sous VirtualBox
Etape 2 : Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS
Etape 3 : Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS
Etape 4 : Installer MySQL 5.5. et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS

Cet article fait parti d’une série d’articles sur la création d’un environnement de développement Linux Apache MySQL PHP (LAMP) dans une machine virtuelle VirtualBox.

SOMMAIRE

Index : Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)
Etape 1 : Installation d’Ubuntu Server 12.04 LTS sous VirtualBox
Etape 2 : Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS
Etape 3 : Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS
Etape 4 : Installer MySQL 5.5. et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

Choix techniques

Pour ma machine virtuelle, j’ai choisi un serveur Apache 2.4 avec le module prefork en raison et de sa meilleure compatibilité avec PHP, pour plus d’information sur les autres Modules Multi-Processus, je vous renvoi à la documentation d’Apache sur les modules. Pour plus de performances, il conviendrait également de s’intéresser à d’autres serveurs web comme nginx, lighttpd, Cherokee ou encore G-WAN.

Installation

A l’heure à laquelle j’écris ces lignes, les paquets présents sur le dépôt officiel concernent la version 2.2 d’Apache. Afin de bénéficier des dernières avancés nous allons compiler le serveur web nous même à partir des sources.

Pour commencer, installons les paquets build-essential (outils de compilation), ainsi que PCRE dont Apache dépend.

On créé ensuite un répertoire src/apache et y télécharger puis décompresser les sources.

Apache dépend également de 2 autres bibliothèques, apr et apr-util, téléchargeons les et plaçons les dans le répertoire srclib des sources apache.

Nous allons désormais pouvoir configurer puis compiler notre serveur apache. Vous retrouverez sur le site d’Apache les options de configuration : http://httpd.apache.org/docs/2.4/programs/configure.html

On compile

Compilation réussie !

Compilation réussie !

Puis on installe

Il ne nous reste qu’à éditer le fichier de configuration Apache.

A minima, la ligne

Deviens

Il est temps de démarrer notre serveur web :

Vous pouvez vérifier que tout va bien avec cURL

Démarrage d'Apache 2.4

Démarrage d’Apache 2.4

Afin de démarrer automatiquement Apache au démarrage d’Ubuntu, vous pouvez ajouter la ligne :

au fichier :

Nous allons maintenant paramétrer VirtualBox pour que notre machine hôte (Mac OS X dans mon cas), puisse accéder au serveur Apache de notre machine virtuelle.

J’ai choisi une configuration qui pourra rester la même en fonction du réseau sur lequel je me trouve : le NAT. Pour ça il va falloir rerouter un port de la machine hôte vers le port 80 de la machine virtuelle, idéalement j’aurais souhaiter rerouter le port 80 de Mac OS X vers le port 80 d’Ubuntu, ce qui est impossible car VirtualBox n’a pas les droits suffisant pour modifier les ports inférieurs à 1024, ce sera donc le 8080 !

Aller dans le menu Devices > Network Adapters… de VirtualBox puis vérifiez que le menu déroulant Attached to est bien positionné sur NAT. Ensuite dans Port Forwarding ajoutez la configuration suivante :

Name : HTTP
Protocol : TCP
Host IP :
Host Port : 8080
Guest IP :
Guest Port : 80

Port Forwarding HTTP 80 VirtualBox

Configuration de VirtualBox

Vous pouvez maintenant accéder à votre serveur virtuel via http://localhost:8080 !

Configuration d'une VM Apache réussie !

Configuration d’une VM Apache réussie !

Etape suivante : Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS

SOMMAIRE

Index : Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)
Etape 1 : Installation d’Ubuntu Server 12.04 LTS sous VirtualBox
Etape 2 : Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS
Etape 3 : Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS
Etape 4 : Installer MySQL 5.5. et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

Installation d’Ubuntu Server 12.04 LTS sous VirtualBox

Cet article fait parti d’une série d’articles sur la création d’un environnement de développement Linux Apache MySQL PHP (LAMP) dans une machine virtuelle VirtualBox.

SOMMAIRE

Index : Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)
Etape 1 : Installation d’Ubuntu Server 12.04 LTS sous VirtualBox
Etape 2 : Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS
Etape 3 : Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS
Etape 4 : Installer MySQL 5.5. et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

Choix Techniques

Logiciel de virtualisation

Sur Mac les trois choix qui s’offrent à nous sont :

  • Parallels Desktop
  • VMWare Fusion
  • VirtualBox

Les 2 premiers sont payants et selon les benchmarks que j’ai pu lire ça et là, le plus performant semble être Parallels Desktop. Sauf que nous allons installer un Linux serveur sans interface graphique et sommes peu intéressé par les performances 3D des 2 premiers, c’est donc sur VirtualBox que s’est porté notre choix.

Logo VirtualBox

VirtualBox

Distribution Linux

Parmi les centaines de distributions Linux sur le marché, difficile de faire son choix. J’ai retenu une phrase de Julien Pauli dans son article sur la compilation de PHP :

Nous allons utiliser un système Ubuntu Server. Historiquement, le système le moins « galère » pour compiler PHP et l’utiliser est Debian. Ubuntu est une branche très proche de Debian, les manipulations notées ici seront quasi identiques sous Debian.

D’autres auraient choisi CentOS, OpenSUSE ou OpenBSD, si vous avez mieux à nous conseiller, merci d’en faire part dans les commentaires !

Mon choix s’est donc porté sur Ubuntu 12.04 LTS (Long Term Support), la plus à même de se retrouver en production.

Logo Ubuntu

Ubuntu

Installation de Ubuntu Server

Après avoir ouvert VirtualBox, cliquez sur New pour lancer l’assistant de création de machine virtuelle, nous allons choisir dans la liste des versions Linux Ubuntu (64 bit).

Assistant de création de VM VirtualBox

Assistant de création de VM VirtualBox

Vous pouvez utiliser tous les paramètres par défaut dans la suite de l’installation.

Cliquez ensuite sur démarrer pour lancer votre VM.

Sur l’écran Select Installation Media, sélectionnez le fichier ubuntu-12.04-server-amd64.iso que vous aurez au préalable téléchargé sur le site d’Ubuntu.

Lors de l’installation d’Ubuntu, choisissez comme locale France et refusez la détection automatique du clavier. Notre disposition de notre clavier Apple s’appelle Français – Français (Macintosh).

Dispositions Clavier Ubuntu

Dispositions Clavier Ubuntu

Par la suite choisissez un nom pour votre machine (par exemple « ubuntu »), un nom d’utilisateur pour moi ça sera « romain », un mot de passe, pas la peine de chiffrez votre dossier utilisateur, choisissez votre fuseau horaire (ici Europe/Paris), pour le partitionnement vous pouvez choisir Assisté – utiliser un disque entier (puisqu’il n’y aura pas d’autre OS dans notre VM).

Vous pouvez cocher ensuite Installer les mises à jour de sécurité automatiquement. Sur l’écran Sélection de logiciel surtout ne cochez PAS LAMP Server, ses composants n’étant pas à jour, nous les installerons indépendamment.

Sélection de Logiciels

Ne PAS cochez LAMP ici

Vous pouvez installer GRUB puisque nous n’aurons qu’un seul OS dans cette VM.

Félicitations ! Vous avez installé Ubuntu Server 12.04 LTS.

Ubuntu Server 12.04 LTS dans VirtualBox

Ubuntu Server 12.04 LTS dans VirtualBox

Etape suivante : Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS

SOMMAIRE

Index : Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)
Etape 1 : Installation d’Ubuntu Server 12.04 LTS sous VirtualBox
Etape 2 : Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS
Etape 3 : Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS
Etape 4 : Installer MySQL 5.5. et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)

Développant la plupart de mes applications web en PHP, j’ai besoin comme tout le monde dans mon cas d’un environnement de développement.

Sur Mac le plus simple est d’installer un logiciel qui package Apache MySQL et PHP comme MAMP ou XAMPP ou alors d’activer le serveur Apache installé par défaut sous OS X. Sous Windows, on peut citer XAMPP, WAMP, EasyPHP et bien d’autres.

Jusqu’à un certain point cette configuration se révèle être suffisante, mais depuis quelques temps je me sentais limité par deux aspects :

  • les mises à jour des logiciels type XAMPP se font attendre (à l’heure où j’écris ces lignes XAMPP Mac n’intègre pas PHP 5.4)
  • certaines bibliothèques ne sont pas à jour ou peuvent être différentes d’un serveur de production sous Linux

Afin d’avoir un serveur de développement identique à celui de production (dev/prod parity), j’ai choisi de créer mon environnement de développement dans une machine virtuelle. J’utilise Mac OS 10.8 et ai choisi VirtualBox 4.1, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5 et PHP 5.4 mais avec cette série de tutoriels peut très bien être adaptée à d’autres configurations !

N’étant pas vraiment un expert Unix mes références pour ces tutoriels ont été :

Environnement LAMP sous VirtualBox

Environnement LAMP sous VirtualBox

Etape suivante : Installation d’Ubuntu Server 12.04 LTS sous VirtualBox

SOMMAIRE

Index : Création d’une machine virtuelle LAMP (VirtualBox, Ubuntu Server 12.04 LTS, Apache 2.4, MySQL 5.5, PHP 5.4)
Etape 1 : Installation d’Ubuntu Server 12.04 LTS sous VirtualBox
Etape 2 : Compiler Apache 2.4 sous Ubuntu Server 12.04 LTS
Etape 3 : Partager un dossier avec une VirtualBox sous Ubuntu Server 12.04 LTS
Etape 4 : Installer MySQL 5.5. et compiler PHP 5.4 sous Ubuntu Server 12.04 LTS

Zend Framework 1 : Création d’un nouveau projet

Après avoir Configuré NetBeans pour une utilisation avec le Zend Framework, nous allons voir comment créer et configurer un nouveau projet.

Création du projet Zend Framework

Dans le menu File > New Project… choisissez un projet PHP > PHP Application.

Donner un nom à votre projet par exemple ZFIntro (évitez les accents, caractères spéciaux et les espaces) puis assurez-vous que Sources Folder pointe bien vers le répertoire htdocs/ZFIntro de XAMPP (il sera créé si besoin) :

  • Sous Windows : C:\xampp\htdocs\ZFIntro
  • Sous Mac : /Applications/XAMPP/xamppfiles/htdocs/ZFIntro

Si ce n’est pas le cas sélectionnez la bonne version de PHP dans le menu déroulant (si vous ignorez votre version de PHP, vous pouvez la retrouver sous XAMPP en cliquant ici : http://localhost/xampp/phpinfo.php).

Cliquez ensuite sur Next puis sur la page Run Configuration, ajoutez public à la fin de l’URL qui doit être de la forme http://localhost/ZFIntro/public/, le répertoire htdocs de XAMPP correspondant à http://localhost/ par défaut, notre configuration est correcte.

Cliquez sur Next et cochez bien évidemment la case Zend Framework.

Inclusion du Framework dans votre projet

Dans la barre d’outils de NetBeans, cliquez sur le bouton Run Project (triangle vert).

Une page web va se lancer dans le navigateur par défaut de votre système d’exploitation, normalement vous devriez avoir une erreur du type :

A ce stade si la page Welcome to the Zend Framework! s’affiche c’est paradoxalement mauvais signe, cela signifie que votre environnement de développement utilise une version de Zend qui est potentiellement plus ancienne que celle téléchargée dans l’article précédent.

Allez lire la directive include_path du fichier php.ini ou bien en regardant la valeur de cette même directive sur http://localhost/xampp/phpinfo.php

Dans mon cas :

Cela signifie que quand vous incluez un fichier en PHP celui si est recherché dans l’ordre dans les répertoires :

  • . (le repertoire courant, donc dans mon cas /Applications/XAMPP/xamppfiles/htdocs/ZFIntro/public)
  • /Applications/XAMPP/xamppfiles/lib/php
  • /Applications/XAMPP/xamppfiles/lib/php/pear

Sur Mac et sur des versions de XAMPP Windows plus anciennes, un répertoire Zend est présent dans le dernier cas, c’est à dire dans le répertoire PEAR, le fichier Zend/Version.php m’informe que la version du framework présente dans PEAR est la 1.10.2 alors que nous venons d’en télécharger une plus récente. Supprimez simplement ce dossier Zend et vous devriez obtenir une erreur (voulue pour l’instant) en affichant la page http://localhost/ZFIntro/public/

Allez simplement copier le répertoire Zend présent dans le dossier library de l’archive téléchargée dans le répertoire library de votre projet.

Vous devriez voir la page suivante s’afficher.

Création d’un Virtual Host sous Apache

La partie suivante est facultative mais recommandée, elle suppose que vous avez les droits d’administration sur votre système d’exploitation.

Le but ici est de remplacer l’URL http://localhost/ZFIntro/public/ par http://zfintro.local/ qui sera plus proche de ce que sera votre URL une fois le site en production.

Pour cela nous allons créer des serveurs virtuels sous Apache. L’idée est qu’un même serveur web puisse gérer plusieurs sites internet en se basant sur le nom de domaine. C’est exactement le type de configuration que l’on retrouverait chez un hébergeur mutualisé comme OVH ou 1&1, ce site en est d’ailleurs le parfait exemple puisque la liste des sites suivants sont hébergés sur le même serveur mutualisé (dont l’adresse IPv4 est 213.186.33.19) :

  • http://www.formateurinformatique.fr/
  • http://blog.baseclip.com/
  • http://why.bioub.com/
  • http://www.bohdanowicz.fr/

Nous allons reproduire ce comportement sur notre poste de développement, son adresse IPv4 est toujours 127.0.0.1 : c’est l’adresse réseau qui désigne la machine sur laquelle vous vous trouvez. Il y a également un nom de domaine associé qui s’appelle localhost. D’ailleurs vous pouvez très bien accéder à votre site Zend Framework via cette URL pour l’instant : http://127.0.0.1/ZFIntro/public/

Pour commencer nous allons définir un nouveau nom de domaine et l’associer à l’IP 127.0.0.1, pour ce faire il faut éditer un fichier hosts qui se trouve :

  • Sur Windows : c:\Windows\System32\drivers\etc\hosts
  • Sur Mac : /etc/hosts

Ce fichier est sensible, à tel point qu’un certains nombre de programmes malveillants, virus ou autres peuvent s’y attaquer.

Nous allons simplement ajouter à la fin de ce fichier la ligne :

Sous Windows cela se fait assez facilement, il suffit d’ouvrir le fichier avec le Bloc-Notes, l’éditer puis le sauvegarder.

Sur Mac il est un peu plus sécurisé, il va falloir passer par une ligne de commande. Pour ce faire allez dans Applications > Utilitaires et ouvrez l’application Terminal.

Si vous avez déjà installé l’éditeur de code TextMate, je vous recommande de taper la ligne (puis entrée et tapez votre mot de passe Mac OS X) :

Sinon il va falloir utiliser un autre programme, à ma connaissance le plus simple d’utilisation installé par défaut sous Mac et qui peut modifier le fichier hosts s’appelle pico et c’est un éditeur de texte en ligne de commande !

Tapez donc :

sudo pico /etc/hosts

Puis à l’aide des flèches du clavier, déplacez vous en bas du fichier et ajoutez notre fameux :

Puis CTRL-X pour quitter pico et touche ‘y’ puis entrée pour enregistrer le fichier.

Nous avons bien créé un nouveau nom de domaine, bien qu’il n’existe que sur notre machine de développement. Il ne nous reste plus qu’à configurer Apache pour que ce nouveau nom de domaine pointe vers le bon répertoire web.

Pour ce faire nous allons éditer le fichier httpd.conf présent dans XAMPP.

  • Sur Windows : c:\xampp\apache\conf\httpd.conf
  • Sur Mac : /Applications/XAMPP/xamppfiles/etc/httpd.conf

Chercher les lignes :

Sur Windows

Sur Mac

Assurez vous qu’il n’y ait pas de # (dièse) avant le mot Include, auquel cas notre fichier httpd-vhosts.conf serait ignoré.

Enfin il ne nous reste plus qu’à éditer ce fameux httpd-vhosts.conf présent :

  • Sur Windows : c:\xampp\apache\conf\extra\httpd-vhosts.conf
  • Sur Mac : /Applications/XAMPP/etc/extra/httpd-vhosts.conf

Commencez par faire une copie de sauvegarde de la forme httpd-vhosts.conf.bak (on est jamais trop prudent).

Puis nous allons l’éditer pour aboutir à :

Sur Windows :

Sur Mac :

Si vous avez une autre configuration que la mienne, Zend Framework a créé un fichier README.txt dans le répertoire docs à la racine de votre projet pendant sa création.

Vous y trouverez la bonne configuration pour votre serveur, il n’y a plus qu’à la copier dans le fichier httpd-vhosts.conf !

Sur Windows vous devez redémarrer votre ordinateur pour prendre en compte les modifications apportées au fichiers hosts. Sur Mac il suffit de redémarrer le serveur Apache de XAMPP pour prendre en compte le changement de configuration !

Retournez ensuite sous NetBeans, puis faites un clic-droit sur le nom du projet dans l’explorateur à gauche. Puis modifier votre URL en http://zfintro.local/ et enregistrez.

Cliquez de nouveau sur l’icône Run Project. Normalement vous devriez retomber de nouveau sur la page d’accueil de votre projet Zend ! (Pensez à vérifier également que http://localhost/ pointe toujours vers la page d’accueil de XAMPP).

Dans le prochain article nous allons étudier l’architecture d’un projet Zend Framework.

Zend Framework 1 : Configuration de NetBeans

Dans cet article nous allons voir comment configurer Zend Framework pour une utilisation dans l’environnement de développement intégré (EDI, IDE en anglais) NetBeans sur Windows ou sur Mac.

Mes configurations dans les deux cas :

Windows :

  • Windows 7 Professionnel SP1 en Français
  • NetBeans 7.0.1 en Anglais (je vous déconseille la version française qui n’est que partiellement traduite, à 63% au moment où j’écris)
  • XAMPP 1.7.4
  • Zend Framework 1.11.11

Mac :

  • Mac OS 10.6.8 en français
  • NetBeans 7.0.1 en Anglais
  • XAMPP 1.7.4
  • Zend Framework 1.11.11

Aller sur http://framework.zend.com/download/latest et télécharger le fichier Zend Framework Minimal.

Décompresser l’archive dans un répertoire qui ne changera plus par exemple dans vos documents créez un répertoire Bibliothèques PHP.

Le Zend Framework Minimal contient un répertoire bin avec les scripts CLI (ligne de commande) du composant Zend_Tool, ainsi qu’un répertoire library qui contient les classes du framework.

Configuration de Zend Framework

Si vous n’avez jamais utilisé NetBeans pour développer en PHP, commencez par activer le module PHP dans le menu Tools > Plugins > Installed > PHP. Vous pouvez également créer un projet PHP vierge qui activera PHP dans l’IDE.

Allez dans les Options de NetBeans :

  • Sur Windows : menu Tools > Options > PHP > Zend
  • Sur Mac : menu NetBeans > Préférences > PHP > Zend

Dans Zend script nous allons inclure le fichier correspondant au composant Zend_Tool :

  • Sur Windows : le fichier zf.bat du répertoire bin de Zend Framework
  • Sur Mac (ou Unix) : le fichier zf.sh de ce même répertoire

Cliquez ensuite sur le bouton Register Provider, si tout se passe bien la ligne suivante s’affiche dans la console en arrière-plan :

Sous Windows j’ai eu l’erreur suivante :

Cela est dû au fait que le script zf.bat exécute php en ligne de commande sans indiquer le chemin exact ou le programme est installé. Nous allons ajouter le répertoire de PHP à la variable d’environnement PATH pour résoudre ce problème.

Pour ce faire aller dans l’explorateur Windows, puis clic-droit sur Ordinateur > Propriétés > Paramètres système avancés. Cliquez sur le bouton Variables d’environnement et dans Variables système ajoutez ;C:\xampp\php à la fin de la valeur associée à la variable Path. Si vous n’avez pas les droits suffisants, cela peut également être fait en créant une variable utilisateur appelée Path et ayant pour valeur C:\xampp\php (Pour WAMP se serait par exemple C:\wamp\bin\php\php5.3.4)

Relancez NetBeans puis renouvelez la configuration de Zend.

Création d’un raccourci clavier pour lancer les commandes de Zend

Nous allons maintenant créer un raccourci clavier qui nous permettra de lancer les commandes de Zend_Tool plus facilement.

Allez dans l’onglet Keymap des options de NetBeans, puis tapez Z dans Search in shorcuts sur Mac le raccourci Ctrl+Z doit être dispo, sur Windows Ctrl+Alt+Z. Videz le champ Search in shorcuts puis tapez Zend dans Search et créez le raccourci de votre choix pour Zend : Run Command… en cliquant sur le bouton … à droite de la colonne shortcuts puis Edit, faite votre raccourci au clavier puis Entrée pour valider.

Netbeans est maintenant configuré pour une utilisation avec Zend.

Dans le prochain article nous aborderons la création d’un nouveau projet.