Développement
Environnement de développement
En bref
Un environnement bien configuré est reproductible, versionné et sécurisé. On installe et configure ses outils en fonction du projet, jamais l'inverse.
Points à maîtriser
- IDE et extensions : VS Code ou IntelliJ selon la stack, avec linter, formateur et debugger. L'éditeur n'est pas neutre : il porte le linting et le formatage de l'équipe.
- Versions de runtime figées : fnm ou nvm pour Node, SDKMAN pour Java. On fige la version par projet (
.nvmrc,.sdkmanrc) pour que toute l'équipe ait le même runtime. - Dépendances et fichier de lock : npm, Maven, pip. Le fichier de lock (
package-lock.json,pom.xml) garantit des installations identiques d'une machine à l'autre. - Variables d'environnement : Secrets et configuration hors du code, dans un
.envjamais commité (listé dans.gitignore). La config vit dans l'environnement, pas dans le code. - Reproductibilité : Un README de prise en main, et parfois un conteneur ou un devcontainer, pour qu'une nouvelle personne soit opérationnelle en quelques minutes.
Définitions clés
- IDE
- Environnement de développement intégré : édition, exécution, debug et refactoring au même endroit.
- Linter
- Outil d'analyse statique qui repère erreurs et écarts de style (ESLint, Checkstyle).
- .env
- Fichier listant les variables d'environnement (secrets, URLs), chargées au runtime et exclues du dépôt Git.
- Fichier de lock
- Fige les versions exactes des dépendances installées pour des builds reproductibles.
Questions du jury
« Pourquoi versionner la version de Node ou de Java ? »
Pour éviter le « ça marche chez moi » : même runtime pour tout le monde, donc mêmes comportements et bugs reproductibles.
« Où mettez-vous vos secrets ? »
Jamais dans le code ni dans Git. Dans des variables d'environnement ou un gestionnaire de secrets, injectées au déploiement.
À retenir
Un bon environnement de travail est reproductible et sécurisé : on clone le dépôt et on démarre en quelques minutes, sans aucun secret en clair.