environ 2 minutes de lecture

Ordinateur

Comment configurer sa machine pour le dev?

Scroll

Les ordinateurs des développeurs doivent utiliser cette configuration.

Packages systèmes

Homebrew https://brew.sh/index_fr.html

Autres possibilités: Macports

Versions de Ruby

Rbenv https://github.com/rbenv/rbenv

Autres possibilités: RVM

Versions de Node

NVM https://github.com/creationix/nvm

Base de données

Postgresql

PostgresApp https://postgresapp.com/

Possibilités: binaires, homebrew

Editeur de code

Après de multiples tests, on avons choisi Atom.

Extensions

  • highlight-nbsp : Pour mettre en évidence les espaces insécables
  • Linters (voir la partie Stylesheets)

Gros fichiers

LFS

https://git-lfs.github.com/

git lfs track "*.mp4"

Dépendances javascript

  1. D’abord une gem si elle existe
  2. Sinon, soit une intégration dans vendor, soit un package management avec Yarn

Validé: Yarn

Alternatives refusées: NPM (trop lent)

Le dossier node_modules ne doit pas être commit, il faut l’ajouter au .gitignore.

Il y a des débats sur le sujet: https://www.quora.com/Should-I-put-node_modules-in-gitignore https://chaseadams.io/2015/07/my-gitignore-conventions/ etc.

Certes, le fait de le commit permet d’avoir en permanence un dossier fonctionnel, même des années après. Le fait de ne pas le commit respecte le principe de la liste des dépendances. Si on utilise un gestionnaire de dépendance, on le fait correctement. Sinon on n’en utilise pas.

Les .gitignore par défaut de Github Node et Rails ajoutent node_modules/.

Editeurs

Il existe plein d’éditeurs de code, chacun avec ses avantages et ses inconvénients. En voici quelques uns :

  • Notepad ++ (Avantages : gratuit, minimaliste. Inconvénients : Windows only, peu de plugins, pas de multi-projets, peu de fonctionnalités)
  • Atom (Avantages : Open source, complet, plein de plugins, multi-projets, sélection multiples, recherche auto-refresh [= les résultats s’affinent au fur et à mesure des modifications de code]. Inconvénients : Peine à ouvrir des fichiers très lourds [mauvais outil pour faire un rechercher/remplacer dans un fichier sql touffu par exemple])
  • Sublime Text (Avantages: Rapide, complet, plein de plugins, multi-projets, sélection multiple, manipule sans soucis de très gros fichiers. Inconvénients : Pas gratuit)
  • UltraEdit
  • Visual Studio Code

A l’agence nous avons fait le choix d’ATOM

Réglages d’Atom

Indentation

On indente avec des espaces, et 2 ou 4 caractères selon le type de fichiers. Dans Settings/Editor on coche “Soft Tabs”, on met “Tab Length” a 2 par défaut et on met le “Tab Type” a soft. Pour respecter les normes agences (4 espaces d’indentation pour le sass et le js) on édite le fichier ~/.atom/config.cson et on ajoute :

".js.source":
  editor:
    tabLength: 4
".sass.source":
  editor:
    tabLength: 4

Packages