Mon environnement de développement

Voici une liste des logiciels / outils / libraires que j'utilise couramment pour mes différents projets, avec lequels je suis plus expérimenté, me permettant prototyper et développer plus rapidement.

J'essaie le plus possible d'utiliser des logiciels libres et cross-platform, pour homogénéiser mon environnement; ainsi que des services auto-hébergés, me permettant de rester propriétaire de mes données.

Editeurs / EDI

Eclipse

Un EDI complet pour Java ; je l'utilise beaucoup avec l'intégration Git.

Visual Studio Code

Une bonne surprise émanant de Microsoft (il faut bien équilibrer avec Win 10), cross-platforme, avec une intégration Git intéressante, un terminal embarqué, et de nombreux plugs-in disponibles.

Actuellement, je l'utilise pour tout mes projets autre que Java.

Prototypage

Chrome DevTools

Outils de développement sous Chrome (F12), je l'utilise notamment pour déboguer le javascript, analyser l'empreinte réseau et vérifier l'affichage de mes applications web sur des affichages de tailles différentes simulées.

Pencil

Logiciel libre de dessin d'interfaces graphiques, cross-platforme.

Rien ne vaut un wireframing, même sur un petit projet, pour vérifier la cohérence de l'IHM.

Dia

Logiciel cross-platform permettant de dessiner des diagrammes, assez utile pour faire de l'UML ou juste des schémas d'architecture logicielle. Propose une grande pallete de symboles.

Web

Stack AMP

Le fameux Apache-MySQL-PHP, avec lequel j'ai débuté.

Peu à peu, je me tourne vers son concurrent MEAN, en particulier MongoDB et NodeJS.

Un installateur bien pratique, qui intègre tous les programmes du stack, est disponible sur le site d'Apache friends.

UIkit

UIkit est un framework front-end modulaire, proposant de nombreux contrôles HTML/CSS accompagnés d'utilitaires en JS. Je l'utilise maintenant pour la plupart de mes projets personnels, ce qui me permet de rapidement implémenter une interface utulisateur ergonomique et agréable à utiliser.

Postman

Une boîte à outils, utilisé pour le requêtage d'API web. Il permet de forger rapidement des requêtes (données, authentification) via un formulaire, de les exécuter et de rendre compte du résultats.

Je l'utilise dès que j'ai affaire à une API pour tester mes requêtes.

NodeJS

Une plateforme logicielle efficace JS, côté serveur. Il est bundlé avec un gestionnaire de paquets, permettant d'intégrer dans ses projet des modules communautaires, évitant ainsi de réinventer la roue (ou de l'adapter), permettant de gagner du temps notamment et de la fiabilité.

J'ai commencé à l'utiliser fin 2017, et me tourne vers cette plateforme pour remplacer PHP.

Bureau

JavaFX

API de création d'IHM pour Java, remplaçant Swing.

Electron

Framework permettant de développer des applications bureau cross-plateformes à l'aide des technologies web (HTML, CSS, JS).

Il permet de créer rapidement une base solide et quand on est plus tourné vers les technos web, c'est vraiment un plus.

C'est un outils qui a fait ses preuves : il est notamment utilisé pour Visual Studio Code, Slack et Atom.

PhantomJS et CasperJS

Ce sont des outils headless permettant d'automatiser des intéractions sur des pages Internet.

Je les utilise notamment pour l'extraction de données dans le cadre du projet WHP.

Méthodologie / Organisation / Op

Kanboard

Kanboard est une application web pour la méthode Kanban (méthode que j'utilise beaucoup).

Il est libre, agréable à utiliser, et propose une API.

Gogs

Un service Git très léger, proposant une interface web

Il embarque des fonctionnalités équivalentes à son homologue Github comme un système de tickets et d'un moteur wiki.

Docker

Finis les VM et 2h pour déployer des projets !

Portainer

Portainer est une GUI web pour Docker.

Il s'agit en fait d'une très petite imaage Docker permettant d'administrer son environnement.

Où puis-je trouver d'autres outils ?

Je consulte régulièrement des sites ou annuaires de logiciels (plus ou moins) libres comme :