environnement de développement portable pour symfony #FramaKey

Le propos de cet article est de disposer d’un environnement de développement complet et portable pour le framework PHP symfony. Les paths sont ceux utilisés par la Framakey Unbuntu Remix, dont j’ai déjà parlé – je suppose dans toute la suite de ce post que vous voyez votre clé sur le lecteur z:\ dans votre poste de travail. symfony sera installé via la commande PEAR, comme dans askeet et non en stand-alone comme dans jobeet.

installation et configuraiton de xampp portable

xampp est l’environnement Apache / MySQL / PHP portable le plus stable que j’ai trouvé à l’heure actuelle. Je garde toutefois un œil sur le tout jeune, mais néanmoins prometteur, uWamp (soumis par le camarade @couac).
il faudra télécharger la version zip de xampp et la dézipper dans z:\Apps\xampp par exemple

Dans un premier temps il faut exécuter le batch z:\Apps\xampp\setup_xampp.bat (il faudra le faire à chaque fois que le path change)

setup_xampp_1setup_xampp_2setup_xampp_3setup_xampp_4setup_xampp_5setup_xampp_6

normalement si vous taper http://localhost/xampp/ dans votre navigateur vous devriez arriver sur la page suivante

localhost_xampp

Ca y est! vous avez installé des services portables et fonctionnels …

Maintenant passons à la ligne de commande. En effet pour être tout à fait à l’aise, l’idéal est de pouvoir appeler l’interpréteur php (ainsi que la commande pear et les commandes mysql) sans avoir à se préoccupper du chemin pour y accéder. Pour cela il va falloir ajouter deux chemins supplémentaires dans la variable d’environnement PATH de windows.

Voici comment procéder sur windows 7 (la démarche pour Vista peut être adaptée à partir de ces explications dans la section « mise à jour des variables d’environnement »).

environnement_1environnement_2environnement_3environnement_4environnement_5

Notez les que nous n’avons pas spécifié de lettre dans les path que nous venons d’ajouter (;\Apps\xampp\php\;\Apps\xampp\mysql\bin\) …
cela présente un avantage majeur : le path n’aura pas à être changé si la clé change de lettre;
Mais aussi un inconvénient : la commande php ne peut être utilisée qu’à partir du lecteur de la clé USB (pour l’utilisation de la commande php pour symfony cela ne pose aucun problème).

Il faut savoir que les variables d’environnements dans un système d’exploitation sont initialisées à l’ouverture de la session d’un utilisateur. Dans la plupart des systèmes on peut forcer la relecture de ces variables, mais je n’ai jamais trouvé comment faire sous windows (les suggestions sont les bienvenues) … donc pour appliquer les changements qui viennent d’être effectués il faut fermer votre session et la rouvrir (ou de manière plus brutale redémarrer).

Une fois reconnecté, ouvrez un ligne de commande, positionnez vous dans le répertoire z:\Apps\xampp et tapez

php -v

si vous voyez apparaître quelque chose du genre

PHP 5.3.0 (cli) (built: Jul  2 2009 21:08:11)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

c’est gagné!
Il suffit maintenant de procéder à l’installation de symfony via PEAR. Ca tombe bien , la commande est déjà installé et accessible via la ligne de commande, il n’y a donc qu’à taper

pear upgrade PEAR
pear channel-discover pear.symfony-project.com
pear install symfony/symfony-1.0.21
symfony -V

devrait maintenant afficher

symfony version 1.0.21

N.B. pour installer la version stable courante de symfony il suffit de lancer la commande

pear install symfony/symfony

sans spécifier de numéro de version

Félicitation votre environnement est près …

configuration des virtual hosts

Pour utiliser les virtual hosts il vous faudra décommenter cette ligne

NameVirtualHost *:80

Les vhosts et les alias peuvent s’écrire sans lettre de lecteur dans z:\Apps\xampp\apache\conf\extra\httpd-vhosts

#préserver le vhost localhost pour avoir accès à la page d'admin de xampp
<virtualhost *:80>
  ServerName localhost
  DocumentRoot /apps/xampp/htdocs
</virtualhost>
#création d'un vhost dédié pour un projet symfony
<virtualhost *:80>
  ServerName vdm
  DocumentRoot /apps/xampp/htdocs/vdm/web
  <directory "/Apps/xampp/htdocs/vdm/web/">
    AllowOverride All
  </directory>
  #alias permettant d'accéder aux js / css / images symfony installés dans PEAR
  Alias /sf /apps/xampp/pear/data/symfony/web/sf
  #directive permettant de faire fonctionner l'alias précédent sous windows
  <directory "/Apps/xampp/pear/data/symfony/web/">
    AllowOverride All
    Allow from All
  </directory>
</virtuahHost>

Dernière étape, la moins fun, il vous faudra ajouter le nom du vhost au fichier c:\windows\system32\drivers\etc\hosts comme suit

127.0.0.1   vdm

vous pouvez a présent configurer autant de virtual host que vous voulez et bénéficier sans limite des bienfaits du routing symfony

Portabiliser NetBeans

source: http://www.portablefreeware.com/forums/viewtopic.php?f=4&t=5301&hilit=netbeans

En résumé pour une FramaKey (sur le lecteur z:\ par exemple), sachant que ce qui m’intéresse c’est netbeans pour PHP :

Sur http://www.netbeans.org/downloads/index.html télécharger la version que vous voulez en sélectionnant dans plateforme « OS Independent Zip », et décompressez l’archive dans z:\Apps\portableNetbeans\

Sur https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u16-oth-JPR@CDS-CDS_Developer, téléchargez la version « windows », installez la et copiez le contenu de c:\program files\java\jdk1.6.0_16\ dans z:\Apps\portableJava\

Créez le répertoire z:\Data\Netbeans

Editez le fichier z:\Apps\portableNetbeans\etc\netbeans.conf et modifiez le comme suit

# ${HOME} will be replaced by JVM user.home system property
# netbeans_default_userdir="${HOME}/.netbeans/6.7"
netbeans_default_userdir="/Data/Netbeans"

# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true"
# Note that a default -Xmx is selected for you automatically.
# You can find this value in var/log/messages.log file in your userdir.
# The automatically selected value can be overridden by specifying -J-Xmx here
# or on the command line.

# If you specify the heap size (-Xmx) explicitely, you may also want to enable
# Concurrent Mark & Sweep garbage collector. In such case add the following
# options to the netbeans_default_options:
# -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled
# (see http://wiki.netbeans.org/wiki/view/FaqGCPauses)

# Default location of JDK, can be overridden by using --jdkhome <dir>:
netbeans_jdkhome="/Apps/portableJava"

# Additional module clusters, using ${path.separator} (';' on Windows or ':' on Unix):
#netbeans_extraclusters="/absolute/path/to/cluster1:/absolute/path/to/cluster2"

# If you have some problems with detect of proxy settings, you may want to enable
# detect the proxy settings provided by JDK5 or higher.
# In such case add -J-Djava.net.useSystemProxies=true to the netbeans_default_options.

et le tour est joué.

Notez que cette astuce marche également avec le support symfony fraîchement disponible sur http://blogs.sun.com/netbeansphp/entry/symfony_support_finished

Portabiliser PHPEdit

Si vous êtes l’heureux possesseur d’une licence PHPedit, cet IDE est également portabilisable

source : http://doc.waterproof.fr/faq/phpedit/how_do_i_install_phpedit_on_a_usb_stick_phpedit_2_10_and_up

Il suffit de copier le répertoire c:\Program Files\WaterProof\PHPEdit\3.4.2 sur votre clé USB par exemple dans z:\Apps\PHPedit
créez le répertoire z:\Data\PHPEdit destiné à stocker l’espace de travail
Ensuite Deux solutions s’offrent à vous :
créer un fichier texte PHPEdit.PHPEditSettings dans le répertoire contenant PHPEdit.exe
enregistrer le contenu suivant dans z:\Apps\PHPedit\PHPEdit.PHPEditSettings

      ..\..\Data\PHPedit

      ..\..\Data\PHPedit

Sinon Rendez-vous dans « Outils » -> « Editer les préférences » (ou directement en tapant F1O)

  • cliquez juste en dessous de la barre des titres là où il y a les deux flèches (1)
  • cliquez ensuite sur « paramètres locaux » en haut à gauche (2)
  • remplir le champs « Dossier de stockage des données de l’application » avec un path relatif (ici ..\..\Data\PHPEdit) (3)

PHPedit

Notez que je fais l’impasse sur eclipse que je trouve définitivement trop gourmand en ressource!

En guise de conclusion

J’ajoute également quelques outils portables supplémentaires que j’aime bien avoir à portée de clic:

  • console 2 : un projet de console un peu plus fun que la ligne de commande de base. Au programme paramètrage du dossier d’ouverture par défaut, redimensionnement, choix des polices et de leur taille, consoles virtuelles et transparence … voici mon fichier de conf à copier / coller dans z:\Apps\Console2\bin\release
  • winmerge : permet de fusionner facilement du code. C’est en gros une version graphique de la commande UNIX diff
  • DBDesigner4 ou MySQL Workbench : designers graphique de base de données.
  • del.icio.us
  • Twitter
  • Facebook
  • Tumblr
  • FriendFeed
  • LinkedIn
  • MySpace
  • StumbleUpon
  • Digg
  • Google Bookmarks
  • MSN Reporter
  • Netvibes
  • Ping.fm
  • Wikio FR
  • Reddit
  • Scoopeo
  • Slashdot
  • email
  • PDF
  • Print

poster un commentaire

votre email ne sera jamais publié ou communiqué. les champs obligatoires sont marqués par une *

*
*