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
pear upgrade pear
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)