Développer pour le web sur Linux

Cela fait maintenant plusieurs années que j’utilise Linux au quotidien pour naviguer, jouer et surtout pour créer des sites web. Après avoir essayé et changé de distribution (système qui utilise le noyau Linux) très souvent, j’ai fini par choisir Ubuntu, principalement pour sa simplicité. C’est la distribution Linux que je vous conseille si vous débutez. Mais peu importe la distribution, travailler et en particulier développer pour le web sur un système Linux est possible, et même une très bonne idée.

Cet article sera très orienté développement web, mais consistera quand même en une bonne introduction pour d’autres types de développement.

Photo by Taras Shypka on Unsplash

Développer sous Linux ne représente pas un challenge aussi grand que ce que l’on pourrait penser. Il existe en effet sous Linux des outils très efficaces etcontrairement à la croyance populaire, avec des interfaces graphiques.

Mais déjà, pourquoi vouloir migrer sur Linux ?

J’y vois plusieurs avantages. En voici une liste non-exhaustive :

Premièrement, Linux représente une très petite part de marché sur le desktop, mais est majoritairement utilisé par les serveurs qui font tourner les sites web que nous développons tous les jours. Travailler sur une machine qui fait tourner le même système peut être très utile pour comprendre comment les serveurs fonctionnent et éviter quelques erreurs. Je pense par exemple ici à la gestion différente des séparateurs de dossiers dans les chemins sous Windows et Linux.

Ensuite, l’installation de vos outils et de leurs dépendances est grandement simplifiée sur les systèmes Linux. C’est notamment possible grâce aux gestionnaires de paquets (un paquet correspond à un logiciel ou une bibliothèque). Par exemple, pour installer votre environnement de développement (Apache, PHP et MariaDB), une seule commande suffit :

sudo apt install apache2 php mariadb-server libapache2-mod-php php-mysql

Vous pouvez installer autant de logiciels que vous le souhaitez en une seule ligne. Il s’agit d’un outil très puissant. Une fois maitrisé, vous ferez des miracles avec.

De plus, la plupart des distributions Linux sont gratuites et vous permettent donc de changer de système sans débourser le moindre centime. Rien ne vous empêche donc d’en télécharger plusieurs afin de trouver celle qui convient le mieux à vos usages.

Il y a bien d’autres raisons de passer sous Linux, qu’elles soient techniques, éthiques, … mais il se peut aussi qu’il y ait des contraintes qui peuvent vous empêcher d’effectuer cette transition. Les plus souvent citées sont la non-reconnaissance de certains matériels, le manque de logiciels , … En bref, je vous conseille de vous renseigner spécifiquement sur vos usages afin de savoir si vous êtes prêts à faire le grand saut.

Maintenant que vous savez quelles raisons pourraient pousser un développeur web à quitter son système habituel pour passer à Linux, je vais vous faire une liste des outils que j’utilise au quotidien qui pourraient vous être utiles.

Mon environnement de travail

Environnement de développement

De ce côté-là, je suis plutôt du genre à préférer la simplicité et je passe par le logiciel XAMPP. Il s’agit de l’équivalent de Wamp sous Windows. Il contient donc tout le nécessaire pour tester des sites web en local, à savoir Apache, PHP et MariaDB.

Si vous voulez faire les choses plus proprement, vous pouvez faire une installation LAMP (pour Linux, Apache, MySQL ou MariaDB, PHP).

Enfin, pour ceux qui préfèrent les solutions de conteneurisations, vous pouvez vous tourner du côté de Vagrant ou de Docker.

Navigateurs web

Là, on va faire très court, tous les principaux navigateurs du marché sont disponibles sur Linux : Firefox, Chrome, Chromium, Vivaldi, … Il s’agit seulement de trouver celui avec lequel vous êtes le plus à l’aise pour travailler. Il est de toute façon recommandé d’en installer plusieurs pour vérifier la compatibilité des sites que vous développez.

Éditeur de code

L’outil principal du développeur est sûrement son éditeur de code. D’un point de vue personnel, je considère que Atom rempli parfaitement son rôle. Je ne suis pas un adepte des gros IDE, mais j’apprécie la flexibilité d’Atom qui me permet de l’enrichir et de le personnaliser au besoin. Atom est multi-plateforme et donc disponible sur Linux.

Si Atom ne correspond pas à vos besoins, vous pouvez également essayer le célèbre Sublime Text ou encore le logiciel de Microsoft, Visual Studio Code (même Microsoft se met à Linux !).

Outil de gestion de versions

Comme beaucoup de développeurs maintenant, j’utilise beaucoup Git avec GitHub. C’est devenu pour moi un outil indispensable pour gérer un projet de manière efficace. Sur Linux, il est très courant de l’utiliser en ligne de commande, mais pour ceux qui y sont allergiques, sachez que le logiciel Github Desktop est maintenant disponible en pré-version dans la plupart des formats de paquets.

Le terminal

Il s’agit d’un outil très efficace que vous n’avez peut-être jamais utilisé si vous venez de Windows ou de Mac OS, mais je vous conseille vraiment d’essayer d’apprendre les commandes de base. Elles vous seront très utiles pour naviguer rapidement à travers de longs dossiers, installer des logiciels et des modules très rapidement et pour tout un tas d’autres trucs supers intéressants.

Autres outils que j’utilise

Koala : une application avec interface graphique pour compiler du Less, du Sass, … Il dispose également d’options sympas comme la compression automatique de vos fichiers CSS et JavaScript.

FileZilla : un logiciel FTP qui vous permet de transférer vos fichiers locaux sur un serveur distant.

Thunderbird : un client mail très efficace pour gérer tout vos comptes mails.

LibreOffice : la suite bureautique libre concurrente de Microsoft Office. Elle vous permettra d’ouvrir et d’éditer tous les formats de documents courants que vous pouvez recevoir ou que vous pouvez avoir besoin de créer.

Skype : la célèbre application de messagerie est également disponible sur Linux. Cela peut-être utile si vous avez besoin de travailler à distance.

Divertissement

J’aime travailler avec de la musique et profiter un peu pendant mes pauses et pour cette raison, voici quelques logiciels divertissants disponibles sur Linux :

Musique

Si vous êtes adepte des plateformes de streaming, il existe un client Spotify officiel et un client Google Play Music non-officiel. Si vous utilisez un autre service, regardez du côté des clients web.

Jeux

Steam est disponible sur Linux, qui profite de drivers toujours plus performants, avec une logithèque grandissante et vous permettra de faire une petite partie de Counter-Strike pendant votre pause-café ;)

Réseaux sociaux

Si vous êtes fan de Twitter, je ne peux que vous conseiller l’excellent client Corebird.

Je ne me suis pas renseigné pour savoir si il existe des clients natifs pour les autres réseaux sociaux vu que je les utilise moins et que je préfère donc passer par leur interface web.


Je pense que tous ces outils couvrent la majorité des besoins d’un développeur web. Aujourd’hui, une grande partie de notre travail se délocalise de plus en plus dans nos navigateurs. Les sites web deviennent de véritables applications et il devient de moins en moins utile d’installer de véritables logiciels natifs. De ce fait, il devient plus facile d’essayer un autre système d’exploitation.

Comme vous avez pu le remarquer, beaucoup des logiciels que j’ai cité sont déjà des solutions que vous pouvez utiliser sur Windows ou macOS. La migration en sera facilitée. Et autre point positif, parmi eux, beaucoup sont des logiciels libres et gratuits. De plus en plus, les éditeurs de logiciels pensent à fournir une version pour les systèmes Linux et l’arrivée des formats Snap et Flatpak devraient accentuer cette tendance. Brièvement, il s’agit de formats qui facilitent le travail des éditeurs de logiciels qui peuvent distribuer leurs logiciels dans un format unique qui fonctionnera sur toutes les distributions.

Et vous, avez-vous réussi à franchir le pas ? N’hésitez pas à me dire quels sont les outils que vous vous utilisez pour développer sur Linux.