Le minimum syndical pour coder sur sa machine

Le minimum syndical pour coder sur sa machine

Alexandre P. dans Dev - Le 22-07-2022

Il y a un certain nombre de programmes qu'il faut avoir installer sur votre machine pour commencer à coder. Il existe encore beaucoup d'ordinateurs sur lesquelles il n'y a absolument rien pour commencer dans de bonnes conditions. Qu'à cela ne tienne, nous allons y remédier.

Pourquoi préparer sa machine pour le code ?

Lorsque l'on a pas d'outil, on perd énormément de temps à faire les choses. Logique !

Imaginez-vous aujourd'hui enfoncer des clous à la main ou encore avec un gros caillou ? 🤔

Non, c'est absolument impossible. C'est pourquoi si vous voulez vous mettre au code, il vous faut préalablement installer des choses sur votre machine !

Dans cet article nous allons installer Node.js, mais aussi Docker et Docker-Compose.

Node.js vous servira à coder, et Docker se chargera du déploiement de containers.

Ici nous ne parlerons pas d'IDE (le programme que vous utiliser pour coder), personnellement j'utilise VSCode ou n'importe quel outil de Jetbrains fera l'affaire.

Installation de Node.js

Si vous codez en javascript que ce soit pour du frontend ou du backend, il y a de fortes chances que vous ayez à installer Node sur votre machine. Oui, à la base Node c'est surtout pour exécuter du code Javascript sur un serveur sans avoir besoin de navigateur, mais détrompez vous, Node.js ne sert pas qu'à faire du backend.

Depuis l'ascension des librairies compilés tels que : React, Vue ou Angular, vous ne pouvez plus vous passer de Node.js qui sert à compilé le code source écrit en Javascript interprétable sur votre navigateur.

Comment je m'y prends pour installer Node.js ?

J'ai remarqué que d'un projet à l'autre les versions de Node.js sont toujours différentes. Il est normal lorsqu'un projet est en production de gérer les mises à jour avec prudence, afin de garder toujours compatible les librairies, etc... Cependant, rien ne vous empêche sur vos projets personnels de faire des tests et passer à la version supérieur sans plus attendre.

C'est pourquoi lorsque j'installe Node.js, je ne l'installe jamais directement sur ma machine. Je passe par un gestionnaire de version pour, j'ai nommé : NVM (comme Node Version Manager).

Installer NVM sous Linux ou Mac OSX

Je vous écris ici la procédure préconisée par les créateurs de NVM :

# Installation via curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

ou

# Installation via wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

Les deux font exactement la même chose.

Une fois installé, n'oubliez pas d'exporter NVM afin de pouvoir vous en servir dans votre terminal :

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

Installer NVM sous Windows

N'hésitez pas à parcourir la documentation nvm pour windows .

Il vous faudra télécharger une release .

Décompresser l'archive et installer le fichier nvm-setup.exe.

Une fois que NVM est installé, n'hésitez pas à tester directement dans un Power Shell :

nvm ls

Utilisation de NVM

Vous pouvez désormais installer toutes les versions de Node que vous voulez !

# Installation de la version 16 de node
nvm install 16

# Installation de la version 14 de node
nvm install 14

# Faire de la v16 la version de node par défaut
nvm alias default 16

# Basculer à la version 14
nvm use 14

Pour information, à chaque fois que vous installez une nouvelle version, vos paquets globaux sont à réinstallé car cette version n'existait pas jusqu'à présent. C'est à dire que si vous voulez réinstaller yarn, il faudra refaire :

npm i -g yarn

Pourquoi utiliser Docker ?

Docker sert à déployer des containers sur votre machine, c'est à dire des blocs dans lesquels on va isoler certains processus, comme des programmes, des serveurs etc...

De la même façon que vous utilisez des machines virtuelles pour pouvoir isoler des tests, ou déployer une version d'un système différent de celui de votre OS, etc... Les containers servent à dissocier votre machine physique de ce qui tourne sur cette machine.

Et l'idée est d'autant plus ingénieuse que vous n'aurez pas besoin des couches d'interprétation basse comme c'est le cas pour les VM, Docker utilise votre système comme base, mais se propose d'isoler tout ce qui va tourner sur les couches supérieurs de votre système.

De même, il s'agit de quelque chose de beaucoup plus léger qu'une VM. Lorsque vous démarrez une machine virtuelle, vous ponctionnez de la ressource physique depuis votre machine. Cela signifie que vous allez réquisitionner 2go de Ram, 2 CPU, un peu d'espace disque pour votre machine (que vous l'utilisiez ou non).

A la différence, les containers tournent sur une couche supérieur à votre système d'exploitation, et ils peuvent prendre de la ressource uniquement en cas de besoin. Cela signifie tout simplement que votre machine pourra lancer sans problème une centaine de container en parallèle, là où elle aura du mal à dépasser les 4 VM en simultané.

On l'utilise généralement pour les serveurs HTTP comme Nginx, ou les serveurs de base de données. Cela vous permet de mettre à niveau votre container et voir si elle est toujours compatible avec le reste et dans le cas contraire vous pourrez revenir en arrière sans avoir de gros soucis. Pour aller plus loin, vous pourrez même lancer 5 serveurs Nginx ou 10 serveurs MySQL, chacun pointant sur des ports réseaux différents, sans créer de conflit avec une autre instance.

L'idée est de pouvoir cloner, démarrer, arrêter les containers sans contraintes pour tout ce qui tourne sur votre machine.

docker-concept ><

Installation de Docker

J'utilise la community edition de Docker :

Docker pour Linux Docker pour Windows Docker pour Mac OSX

Puis j'installe Docker-Compose.

A quoi sert Docker-Compose

Docker-Compose est un outil qui permet de gérer votre organisation de containers Docker via des fichiers. Cela signifie que vous allez pouvoir sauvegarder toute votre config dans un fichier que vous pourrez ensuite versionner. Car sans lui, Docker se configure en tapant des commande avec des options directement dans un terminal, donc ce n'est pas l'idéal pour visualiser si tout est OK.

Autrement dit, Docker-Compose est à Docker ce que la visseuse-dévisseuse est au tournevis.

Comment installer Docker-Compose ?

Sur Mac OSX et sur Windows, Docker-Compose est livré avec le package de Docker. (Incroyable ! 😱) Sous Linux, vous devez le faire vous même :

# Pour Ubuntu 20
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Vous pouvez maintenant vérifier que tout est ok avec cette commande :

docker-compose --version

Conclusion

Avec ces outils maintenant installé sur votre machine, vous êtes fin prêt pour des centaines de milliers de lignes de code. A vous la créativité sans limite ! 😝

#conseil#installation#preparation#developpement

user picture
Alexandre P.

Développeur passionné depuis plus de 20 ans, j'ai une appétence particulière pour les défis techniques et changer de technologie ne me fait pas froid aux yeux.