- Packages systèmes
- Versions de Ruby
- Versions de Node
- Base de données
- Editeur de code
- Gros fichiers
- Dépendances javascript
- Editeurs
- Réglages d’Atom
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
- D’abord une gem si elle existe
- 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