Categorie planetubuntu > Comment personnaliser son (x)ubuntu pour un développeur web

Comment personnaliser son (x)ubuntu pour un développeur web

2012-08-22

Ubuntu, GNU/Linux en général regorge d'outils très pratique pour un développeur web (php en l'occurence), je vais vous exposer quelques applications à installer pour rendre votre activité plus confortable


Introduction

Pour cette article je partirai d'une xubuntu 12.04, xfce étant très léger et permettant dans cette article des actions non possible sur unity

Les applications qui vous facilite la vie

L'éditeur de code php : gedit

Commençons par l'éditeur de code: gedit , pourquoi un "simple" éditeur, parce que contrairement à netbeans et d'autres IDE, il a des avantages non négligeables:

  • très léger
  • possible d'avoir plusieurs instances sur des bureaux différents

Commencez par vous rendre dans "édition, préférences": afficher les numéros de lignes, activer le surlignage de la ligne en cours et des parenthèses correspondantes.

Mais juste gedit n'est pas très confortable pour faire du php, on va lui ajouter quelques plugins.
Les dépôts activés de base vous propose déjà deux paquets bien pratique: gedit-plugins et gedit-developer-plugins

 apt-get install gedit-plugins gedit-developer-plugins 

Il faut ensuite se rendre dans le menu de gedit "édition, préférences", et activer les plugins dans l'onglet "extension"
Dans notre exemple nous activerons les plugins suivants: "complétion de mots", "complétion de parenthèse", "panneau de l'explorateur de fichiers" note: l'auto complétion nécessitait avant l'installation manuel d'un plugin, disponible sur sourceforge
L'auto complétion ne vous propose pas les fonctions php, il vous propose les mots présents dans les fichiers ouverts dans l'éditeur, un conseil: ouvrer les classes des objets utilisés, ça vous proposera ainsi les méthodes le moment voulu :)
Ce plugin permet aussi d'éviter de se tromper lors de la réutilisation de variable (problème de casse par exemple )

Gedit permet une chose bien pratique : ouvrir plusieurs instances sur des bureaux différents:
Vous pouvez ainsi ouvrir un couple navigateur/gedit pour chaque projet sur différents bureaux bien pratique quand vous travaillez sur plusieurs sites: vous avez ainsi sur chacun des bureaux un navigateur sur le projet, une instance de gedit ouverte sur son arborescence et un terminal placé au niveau du projet

Subversion (un gestionnaire de source)

Que ce soit svn, git ou un autre gestionnaire de source, il devient nécessaire dès que l'on travaille sur un site important d'utiliser un gestionnaire de source: y gouter c'est l'adopter.

C'est un vrai de bonheur de travailler avec ce type d'outil, c'est un peu comme travailler avec un filet: vous penser faire un lot de modifications impactantes ? un commit (envoi des modifications sur le serveur) et vous pouvez travailler sans crainte: vous pourrez toujours retourner en arrière, voir déployer en parallèle la version stable pour pouvoir comparer avec la bêta

ici : un simple terminal ouvert sur le répertoire de travail permet facilement

  • de connaître les fichiers modifiés depuis le dernier commit svn status
  • de sauvegarder les modifications sur le serveur svn commit (en oubliant pas de mettre le plus possible: des commentaires pertinents)
  • de regarder les différences avec la version sur le serveur svn diff nomDuFichier

pour l'installer

 apt-get install subversion 

Gigolo: bien pratique pour gérer vos accès distant, et permettre leur édition sur gedit

Dans xubuntu, l'application gigolo permet d'administrer ses accès distants, qu'il soit sftp/ssh, ftp, webdav, samba...
Il est ainsi bien pratique d'y renseigner les serveurs sur lesquels vous vous connectez régulièrement, ensuite vous lancez l'application, double cliquez sur la connexion enregistrée pour la voir apparaître dans le navigateur de fichier de gedit :)

Clipman: ou comment améliorer sensiblement le basique presse papier

Lorsque vous codez, il vous arrive régulièrement de copier/coller des éléments, des urls...
Et là, grâce à ce plugin, qu'il faut ensuite ajouter à votre barre des taches, vous pouvez sélectionner l'élément de votre presse papier qui est actif )(fonctionne aussi bien avec le texte qu'avec les images ;)

note: ce plugin a un équivalent intégré chez KDE ;)

Pour l'installer

 apt-get install clipman-plugin 

Synapse: un lanceur d'applications bien pratique

En tapant les touches ctrl + espace un prompt permet de saisir quelques lettres composant le nom d'une application, suivi d'une touche entrée pour lancer l'application.
Bien pratique pour compléter les icônes de lancement rapide de la barre de tache: à force de mettre des icônes dans les favoris, on fini par égaler le menu des applications.
Un simple appel synapse est bien plus pratique: ctrl + space, fir.../ged.../term.../gig.../gim...

Pour l'installer

 apt-get install synapse 

note: synapse n'est pas qu'un lanceur d'application, il permet entre autre d'ouvrir des fichiers, faire une recherche sur internet...

Des applications pour aller plus loin

Doxygen: la documentation facilitée

La documentation reste la bête noire du développeur, heureusement il y a la phpdoc: cette norme d'écriture de commentaire permet ensuite à un outil automatique de les extraire pour générer une documentation organisée

Doxygen est un outil opensource de génération de documentation (sous licence GPL ): installer les paquets doxygen et doxygen-gui

 apt-get install doxygen doxygen-gui 

L'interface (issu du deuxième paquet) est assez convivial, on choisit facilement le chemin du projet à analyser, le répertoire où générer le code html doxygen

Et la c'est un vrai bonheur de voir l'arborescence de son projet, un champ de recherche javascript, vous pouvez consulter la documentation doxygen du mkframework

note: pour lancer l'interface lancer "doxywizard" (dans un terminal ou via synapse)

note2: vous pouvez bénéficier de graphiques très intéressant, pour cela il vous faudra installer graphviz

 apt-get install graphviz 

Sonar: l'audit qualitatif

Sonar est un outil opensource qui permet de faire des audits de code qualitatif
Cet outil propose d'analyser grâce à une gestion de plugins: les langages PHP,C,C++,Python... ici c'est le plugin php que nous installerons.

Il y a deux moyens d'installer sonar: le premier en téléchargeant les éléments sur le site, le second en passant par le gestionnaire de paquets (plus simple :)

Nous commençons par ajouter le dépot de sonar "deb http://downloads.sourceforge.net/project/sonar-pkg/deb binary/" à notre fichier /etc/apt/sources.list (sans les guillemets)
Mettez ensuite à jour votre cache (pour prendre en compte ce nouveau dépot)

 sudo apt-get update 

Installons ensuite le paquet sonar

 sudo apt-get install sonar 

Lançons ensuite celui-ci :

 sudo /etc/init.d/sonar start 

Rendez vous à l'adresse localhost:9000 (il faut attendre une bonne quelques instants avant que l'url ne soit accessible (le temps que sonar ai fini de démarrer)

Installons le support du PHP

  • Cliquez sur "log in" et authentifiez vous avec le couple admin/admin,
  • rendez-vous dans la partie "update center"
  • cliquez sur l'onglet available plugins
  • cliquez sur "php" puis sur le bouton "install"

Sonar nécessite un redémarrage pour prendre en compte PHP

 sudo /etc/init.d/sonar restart 

La partie php nécessite l'installation d'outil php pour pouvoir fonctionner:
Installons d'abord PEAR

 sudo apt-get install php-pear 
Mettons le à jour:
 pear upgrade pear 
Ajoutons y les dépôts nécessaires pour cet article
 
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com
pear install phpunit/PHPUnit-3.5.5 

Installons PHPDepend

 
pear channel-discover pear.pdepend.org
pear install pdepend/PHP_Depend-1.0.3 

Installons PHPMD

 pear channel-discover pear.phpmd.org
pear install --alldeps phpmd/PHP_PMD-1.3.2 

PHP CodeSniffer

 pear install PHP_CodeSniffer-1.3.2 

La partie serveur est installée, il nous faut désormais installer le "runner" (la partie qui analysera le code)
Télécharger l'archive du runner et décompressez-la dans un de vos répertoires, par exemple nous créerons ici le répertoire bin (dans notre répertoire home) et nous le renommons en sonar-runner ( /home/mika/bin/sonar-runner)

Il reste une dernière étape avant de lancer l'analyse: le paramétrage de celui-ci pour le projet à analyser.
Créer un fichier "sonar-project.properties" dans le répertoire de l'application php à analyser
Ce fichier ressemble à ceci:

# required metadata
sonar.projectKey=my:project
sonar.projectName=My project
sonar.projectVersion=1.0
 
# path to source directories (required)
sources=srcDir1,srcDir2
 
# path to test source directories (optional)
tests=testDir1,testDir2
 
# path to project binaries (optional), for example directory of Java bytecode
binaries=binDir
 
# optional comma-separated list of paths to libraries. Only path to JAR file and path to directory of classes are supported.
libraries=path/to/library.jar,path/to/classes/dir
 
# Uncomment this line to analyse a project which is not a java project. 
# The value of the property must be the key of the language.
#sonar.language=cobol

Par exemple, ici on va tester le code des librairies php du mkframework, on va créer ce fichier dans le répertoire du framework dans /home/mika/www/mkframework/

sonar.projectKey=my:mkframework
sonar.projectName=mkframework
sonar.projectVersion=1.0

# path to source directories (required)
sources=lib/framework

# Uncomment this line to analyse a project which is not a java project.
# The value of the property must be the key of the language.
sonar.language=php
sonar.phpUnit.skip=true

Plus qu'a lancer l'analyse à partir du répertoire où est situé le fichier sonar-project.properties

 
cd /home/mika/www/mkframework/ 
/home/mika/bin/sonar-runner/bin/sonar-runner 

L'analyzer va tourner pendant un bon moment, une fois qu'il aura terminé, vous pourrez retourner sur la page web de sonar

Sonar va vous informer des variables/fonctions/méthodes non utilisées, de quelques erreurs de conceptions, identifier les méthodes jugées complexes... en clair vous analyser votre code en vous permettant de l'améliorer

Libre à vous de prendre en compte ou non ces remarques :)

note: sonar analyse le projet en fonction d'un profil incluant un certains nombre de règles activées, ceci est paramétrable dans la partie "configuration" de l'application web.

Conclusion

Comme vous avez pu le lire, xubuntu s'avère être un très bon environnement pour faire du développement web, je n'ai volontairement pas parlé ici de firebug ou autre plugin de navigateur, je me suis concentré ici sur les logiciels à installer sur votre distribution ;)

Je pense faire une article plus tard spécifique à sonar pour developper plus le sujet sur ce logiciel très complet et qui ne cesse de s'améliorer surtour sur sa partie php (qui est très jeune)

Commentaires

comments powered by Disqus