Les outils indispensables du développeur

Merci pour le partage...Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0

Si les bons outils ne font pas nécessairement les bons développeurs, ils peuvent par contre les aider à gagner en efficacité. C’est l’objectif de cet article qui présente une liste d’outils qui viennent enrichir efficacement le couteau suisse du développeur !

 

La liste d’outils présentée ici ne se veut pas exhaustive, ni d’ailleurs objective : le choix d’un outil plutôt qu’un autre ne se faisant pas dans l’absolu mais dans un contexte particulier, et pour une personne en particulier. Nous essayons néanmoins de proposer une palette d’outils suffisamment large pour couvrir des besoins divers au cours de la vie d’une application, le développeur étant souvent amené à revêtir différentes casquettes (architecte, administrateur système, designer, ...). Les outils présentés se veulent, dans la mesure du possible, léger et complémentaire d’un IDE (souvent plus lourd).

 

> L’édition de code source

 

Pour cette tâche, les IDE modernes sont tout indiqués car ils intègrent bien plus que le simple éditeur de code (gestion de versions, transfert de fichiers, refactoring, debug…). Pourtant leur poids n’en fait pas un outil pratique pour l'édition rapide ou pour un simple coup d’œil sur un fichier. Voici deux outils qui permettent d’épauler efficacement un IDE pour des cas d’utilisation bien précis.

Notepad++

La concurrence fait rage sur ce secteur mais ce petit éditeur de texte sous licence GPL sait tirer son épingle du jeu. Il est léger, gère la coloration syntaxique de nombreux formats de fichiers, et propose beaucoup de fonctionnalités complémentaires qui peuvent par ailleurs être étendues par l’ajout de plugins. De plus, son interface est entièrement configurable par l’utilisateur. Difficile de lui trouver des points faibles !

> Conception, documentation et prises de notes

 

Durant les différentes phases de vie d’un projet, les développeurs sont amenés à manipuler de la documentation, à utiliser différents outils de conception, et à gérer une certaine quantité de notes prises tout au long du projet. Voici quelques outils qui peuvent s’avérer utiles en ce sens. Foxit Reader Disponible sous Windows ou Linux (mais pas mis à jour depuis 2009 pour cet OS), Foxit Reader est un lecteur PDF un peu plus léger qu’Adobe Acrobat Reader et qui permet l’annotation des documents PDF. Malheureusement, les dernières évolutions de Foxit Reader n’ont pas joué en faveur de sa légèreté. De plus, il faut être attentif lors de l’installation pour éviter la pollution du système par la barre d’outils incluse dans l’installateur.

Tomboy

Avec Tomboy, outil multiplateforme (Mono) disponible sous licence LGPL, on organise ses notes comme on le ferait avec un wiki(wikipedia, docuwiki, …). Les différentes notes peuvent donc être liées les unes aux autres de façon très simple. L’avantage par rapport à un bloc-notes classique est de pouvoir ordonner efficacement ses prises de notes et de passer moins de temps à les rechercher par la suite (qu’il est énervant de ne pas retrouver l’unique note qui nous intéresse dans cette pile de papiers... !). En termes de mise en page, c’est très sommaire, mais l’essentiel est là. Par ailleurs, les fonctionnalités de Tomboy peuvent s’étendre à l’aide de plugins. On regrette tout de même de ne pas pouvoir ajouter d’image /audio / vidéo à une note.

Balsamiq Mockup

Pour la réalisation de maquettes, il y a ceux qui utilisent exclusivement le crayon et le papier. Pour les autres il y a Balsamiq Mockup (multiplateforme, AIR). Avec cet outil, la réalisation de maquettes est rapide et simple d’approche. Par contre, pour profiter de toutes les fonctionnalités, il faut s'acquitter d’une licence. Si cet achat est tout à fait envisageable pour des projets volumineux, la question se pose par contre pour un développeur freelance ou un projet de faible envergure.

> Débogage et tests

 

En règle générale, les outils de debug les plus pratiques à utiliser dans le cadre du développement sont ceux de l’IDE retenu.

Dans le cas du développement Web cependant, des outils complémentaires peuvent se révéler d’une grande aide. Il est par ailleurs nécessaire de tester l’application web sur les principaux navigateurs du marché, il est donc important d’avoir une panoplie des dernières versions des navigateurs les plus courants, voire des anciennes versions, notamment pour IE qui a longtemps été le plus répandu... et le moins respectueux des standards pour ne pas simplifier les choses.

Firebug

Firebug (licence BSD) est le premier et le plus connu des outils de débogage intégrés au navigateur. Il s’installe sous forme d’une extension de Firefox. Ses principales fonctionnalités sont

  • l’affichage du code HTML associé à un élément de la page avec possibilité de le modifier à la volée
  • la visualisation et la modification à la volée des règles CSS associées à un élément sélectionné
  • le débogage des scripts JavaScript de la page

IETester

IETester est un outil permettant aux développeurs de tester leurs applications avec le moteur de rendu ainsi que le moteur JavaScript des anciennes versions d’IE sur des versions de Windows qui ne permettent plus de les installer. Malheureusement, IETester n’offre pas un rendu 100% identique au moteur d’origine exécuté sous XP. Il est donc nécessaire de tester l’application en dernier lieu sur une version originale d’Internet Explorer, sur une machine équipée d’XP ou via une machine virtuelle.

Putty

Lorsque l’on travaille sous OS X ou Linux, l’accès en SSH à un serveur Linux ne pose pas de problème particulier, un client SSH en ligne de commandes étant disponible par défaut. Sous Windows, il faut en passer par l’installation d’un client. Un des plus répandus, grâce à sa gratuité (licence MIT) et à ses options de configuration, est Putty.

VirtualBox

VirtualBox est un logiciel de virtualisation OpenSource (licence GPL) et multiplateforme qui permet de virtualiser les OS les plus répandus. Son utilisation est simple et ses options de configuration complètes.

> Le déploiement et la maintenance

 

Pour intervenir directement sur un serveur, y déployer un correctif, y copier des fichiers, consulter les logs... voici une petite sélection d’applications très utiles.

Filezilla

L’échange de fichiers avec le serveur distant peut se faire de plusieurs façons, la plus répandue étant certainement grâce au protocole FTP, ou mieux, un équivalent sécurisé. Filezilla permet un échange simple de fichiers avec un serveur FTP, SFTP ou FTPS. Rapide, complet, libre (sous licence GPL) et multiplateforme, que demander de plus ?

HeidiSQL

HeidiSQL est une alternative légère à MySQL Workbench pour Windows distribuée sous licence GPL. Il permet également de remplacer avantageusement phpMyAdmin car il n’est pas soumis aux contraintes des applications Web. Cerise sur le gâteau, HeidiSQL est compatible avec SQL Server de Microsoft, il est donc aussi une alternative légère à SQL Server Management Studio. Il ne dispose en revanche d’aucune fonctionnalité de conception, comme peuvent en présenter GNU Screen.

GNU Screen est ce que l’on appelle un multiplexeur de terminal. Ce programme sous licence GPL s’installe sur un serveur Linux et permet de lancer plusieurs terminaux “virtuels” au sein d’un unique terminal (et donc, le cas échéant, d’une unique connexion SSH lors d’un accès distant). Il permet de nommer les différents terminaux virtuels, d’afficher différents terminaux en même temps (avec séparation horizontale), mais surtout, le processus de GNU Screen peut être détaché du terminal dans lequel il a été ouvert d’une simple combinaison de touches, les scripts en cours continuant leur exécution normalement. Le processus peut ensuite être ré-attaché à un autre terminal à tout moment. Ceci simplifie donc le lancement de scripts sur des serveurs distants, en éliminant tout risque d’interruption due à la connexion SSH.

UltraVNC

Lorsque la ligne de commande n’est pas suffisante, on peut utiliser le protocole VNC pour obtenir le bureau graphique d’une machine à distance. UltraVNC est un client ainsi qu’un serveur VNC pour Windows. Il embarque par ailleurs des fonctionnalités complémentaires comme le transfert de fichiers entre le client et le serveur.

Enfin, il existe des outils en ligne, comme TeamViewer ou LogMeIn. L’avantage de ces deux outils est la mise en place simplifiée : le client et le serveur communiquent via un tiers distant (un serveur de LogMeIn ou de TeamViewer) et se comportent donc tous deux comme simple client du même service.

Ceci permet de s’affranchir de la configuration des pare-feu et des services NAT sur le réseau. Il faut bien sûr dans ce cas accepter que les échanges passent par un tiers sur lequel onn’a pas la main, aussi sécurisé soit-il.

 

Christian Kas

Business Coach | J’interviens dans le conseil, accompagnement, formation des créateurs d’entreprises.

Laisser un commentaire

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