L’un des aspects fondamental, pour être en mesure de gérer avec succès un certain nombre de développement de projets (quelle que soit la taille qu’il représente) est d’avoir un solide environnement de développement.
Mais si vous êtes nouveau dans ce domaine ou que vous essayez de comprendre quelle est la meilleure application pour débuter, il est très simple d’être paralysé par la quantité d’outils et d’informations disponibles sur la mise en place et la configuration d’un environnement de développement.
C’est pourquoi j’ai décidé dans cet article puis le prochain, de vous distiller une grande partie de ces informations, définissant exactement ce qu’est un environnement, d’expliquer pourquoi il est important et enfin vous partager quelques-uns des outils les plus connus et obtenir une configuration de cet environnement.
Définition d’un environnement de développement
Un environnement de développement se réfère à une suite d’applications et d’outils que les développeurs ont installé sur leurs machines les aidant à développer leurs applications, gérer les fichiers sources, déboguer du code, et enfin tester leur travail avant de le lancer sur un environnement de test et/ou de production.
Un environnement de développement est souvent composé de certains des éléments suivants :
- Une pile de développement (Development Stack) qui consiste à fournir n’importe quel logiciel bas niveau dont vos projets dépendent pour fonctionner. Par exemple, en ce qui concerne les applications Web, elles exigent typiquement un serveur Web, une base de données, quant aux applications mobiles, elles requièrent un émulateur et des bibliothèques dépendantes. Enfin les applications de bureau exigent un système d’exploitation.
- Éditeur de code source décliné dans de nombreuses variétés. Certains sont des éditeurs de texte brut, d’autres fournissent des comportements avancés tels que la coloration syntaxique et l’affichage des numéros de lignes, la complétion automatique, etc… Enfin, certains éditeurs proposent des fonctionnalités telles que la compilation en arrière plan et le rapport d’erreurs.
- Le test des applications comprend un débogueur, un profileur de code qui consiste à analyser l’application afin de connaitre la liste des fonctions appelées et le temps passé dans chacune d’elles et ainsi identifier les parties de code qu’il faut optimiser, et d’autres outils avancés qui varient selon les langages et les systèmes (assistant au développement d’interface graphique, modélisation UML, accès direct à la documentation du langage, …) Ceux-ci deviennent indispensables lorsque vous déployez un projet à une large base de clients sur une grande variété de plates-formes .
- Un gestionnaire de versions pour garder un suivi des modifications dans le code source sur une longue période de temps. Il vous permet de stocker un ensemble de fichiers en conservant la chronologie de toutes les modifications qui ont été effectuées dessus, permettant notamment de retrouver les différentes versions d’un lot de fichiers connexes.
Note : Notez que lors de l’installation d’un environnement de développement n’importe qui peut avoir ces propres outils.
Il est possible que vous soyez heureux avec votre simple bloc-notes et votre serveur Web, et que vous en ayez fait votre environnement de choix, mais les environnements de développement intégrés fournissent habituellement beaucoup plus de contrôle, d’organisation et de fonctionnalités quand il s’agit de gérer un projet de logiciel complet.
Qu’est-ce qu’un environnement de développement intégré ?
Un environnement de développement intégré, aussi appelé un EDI ou IDE en anglais pour Integrated Development Environment est une application logicielle sur mesure pour les développeurs regroupant un ensemble d’outils pour le développement de logiciels qui vous permet d’écrire, compiler, tester et exécuter du code tout dans le contexte d’un seul éditeur.
Certains EDI sont conçus pour supporter plusieurs technologies ou sont livrés avec une API qui permet à deux développeurs tiers d’écrire des modules pour étendre les fonctionnalités initiales. Il existe une grande variété d’EDI disponible pour chaque système d’exploitation. Certains des EDI les plus populaires sont les suivants :
- Eclipse, pour plusieurs systèmes d’exploitation et plusieurs langages
- Aptana, pour plusieurs systèmes d’exploitation et plusieurs langages
- Visual Studio, pour Microsoft Windows, le framework .Net et les langages compatibles
- Coda, pour Mac OS X, plusieurs langages de programmation
- TextMate, pour Mac OS X, plusieurs langages de programmation
- Emacs, pour Linux, plusieurs langages
- Netbeans, pour plusieurs systèmes d’exploitation, Java et d’autres langages
- … et bien d’autres
Bien qu’il existe des EDI pour plusieurs langages, bien souvent (surtout dans les produits commerciaux) un EDI est dédié à un seul langage de programmation.
La chose est, qu’il n’y a pas de solution miracle quant-au choix de l’EDI. Si c’était le cas, il n’y aurait aucune raison d’avoir une telle variété de système disponible. En tant que tel, il est important d’évaluer les outils disponibles et vos besoins pour ensuite choisir l’environnement de développement qui vous convient le mieux.
Cela peut être une tâche ardue, surtout si vous êtes nouveau au développement et aux environnements intégrés, donc si vous avez des questions (ou même des suggestions), n’hésitez pas à les laisser dans la partie commentaire de cet article.
Dans le prochain article, nous allons jeter un œil à la façon dont nous pouvons tirer parti de Dropbox comme moyen de synchronisation pour nos environnements sur différents systèmes et d’obtenir une simple gestion de versions de fichiers gratuitement.
Quel système utilisez-vous ? Avez-vous des retours à nous faire sur votre propre expérience ?