De bons outils pour faire du bon travail (avec Ruby) [Partie 1]
J’aime cette phrase, car elle peut s’appliquer à presque tous les métiers existants.
Bien que la programmation nécessite d’abord et avant tout de posséder ou de développer un esprit d’analyse et de logique bien structuré, il ne reste pas moins que nos outils de développement sont primordiaux pour livrer du travail de qualité.
Dans cet article, je liste les différents outils que j’utilise actuellement et que je proposerais, avec plaisir, à un(e) développeur(euse) ou à une équipe de développement dans le but de bâtir des applications web avec le langage Ruby.
1. Quel type d’ordinateur devrait utiliser, de préférence, un(e) développeur(euse) Ruby?
La réponse courte : Peu importe!
La réponse longue : Cela n’a pas d’importance tant que vous êtes capable d’assumer votre choix et que cela ne devient pas un frein dans l’exécution de votre travail ou de la collaboration avec le reste de votre équipe.
Dans tous les autres cas, je vous recommande fortement d’utiliser le même système d’exploitation que le reste de votre équipe de développement.
Pour ma part, mon équipe et moi-même utilisons des laptops de la marque Apple. Et c’est à mon avis le choix le plus judicieux dans un environnement professionnel :
- Seul un laptop de la marque Apple permet de faire tourner MacOS, Windows et GNU/Linux sur le même ordinateur ;
- La portabilité permet de travailler en réunion, chez le client et parfois même chez soi;
- Le nombre d’outils développés pour le web sur ce système d’exploitation est très impressionnant et il est très facile d’obtenir de l’aide en cas de problème.
Bon à savoir: Il y a quelques années encore, il était difficile voire impossible de faire tourner certaines applications Ruby sur Windows à cause de l’installeur Ruby pour Windows qui n’était pas stable. N’utilisant pas ce système d’exploitation, je ne pourrais pas confirmer si la problématique est maintenant résolue.
2. Quels sont les outils nécessaires pour configurer son ordinateur dans le but d’utiliser Ruby?
NOTE: Comme j’utilise MacOS, il est fort probable que certains outils ne soient pas compatibles avec d’autres systèmes d’exploitation. Si vous lisez cet article et que vous avez d’autres outils et/ou méthodologies pour Windows ou GNU/Linux, n’hésitez pas à m’en faire part afin que je les ajoute à cet article.
Si l’on est débutant, on peut utiliser le script Laptop de Thoughtbot.
Il installe pratiquement tout ce qu’il faut pour le développement web en seulement 3 lignes à exécuter dans le terminal.
Pour ma part, j’utilise en plus :
- Xcode : à installer obligatoirement si vous ne voulez pas vous retrouver avec pleins d’erreurs de compilation;
- iTerm2 : pour « pimper » les capacités de mon terminal;
- Github Desktop : pour gérer mes dépôts Git et mes commits interactifs;
- Rbenv : pour gérer mes version de Ruby. Je n’ai malheureusement pas encore pris le temps de tester ASDF qui m’a pourtant l’air très intéressant. Shame on me!
3. Quel IDE ou Éditeur de Code doit-on utiliser pour écrire du Ruby?
Pendant longtemps, j’ai utilisé SublimeText 2 et 3 avec une grande quantité d’extensions. Je pensais être arrivé à un bon niveau d’utilisation de mon éditeur de code jusqu’au moment où un collègue m’a proposé de donner une chance de 21 jours à RubyMine.
Depuis ce temps, je n’ai plus quitté RubyMine, c’est un IDE de grande qualité, facile d’utilisation et plein d’outils pour nous aider à écrire du code de meilleure qualité et pour mieux diagnostiquer les problématiques.
Le choix de l’IDE et/ou d’un Éditeur de Code est très important pour améliorer sa vélocité dans un projet, ne vous arrêtez pas uniquement sur une comparaison du prix des licences.
Testez les différents outils, voyez celui qui vous rend le plus efficace dans l’écriture du code et la recherche d’un bogue ; celui qui vous aide à réduire le plus vos taux d’erreurs de syntaxe et qui vous donne le plus d’aide lorsque vous recherchez de l’information dans le langage, le framework ou votre projet.
Maintenant que l’ordinateur est bien configuré et que les outils de base sont prêts à être utilisé pour du développement, je vais détailler dans un deuxième article les outils que je préconise lorsque je fais l’analyse technique d’un projet. Enfin, je vous parlerai de gems, de frameworks, de structure de projet et d’hébergement.
who love Ruby, Ruby on Rails and Reactive technologies.
I create web applications that help companies to propel their business model.