Synchroniser ses plugins Sketch entre plusieurs machines
Sketch est une app qu’il n’est plus vraiment nécessaire de présenter. Une des possibilitées offertes par ce dernier en fait d’ailleurs sa principale force : le fait de pouvoir y ajouter des plugins et d’ainsi améliorer / ajouter des fonctions au logiciel.
Un problème apparait assez rapidement. Le nombre de plugins installés se multiplie assez vite et il devient difficile de les gérer et surtout de les synchroniser entre plusieurs machines.
Personnellement, j’utilise mon Hackintosh comme machine de travail principale, et mon Macbook le reste du temps.
Avoir les mêmes plugins sur les 2 machines m’est plutôt important en terme de workflow.
TLDR; Le Repo Github de mes Plugins
Utiliser Git / Github comme source.
Conserver une liste ou se souvenir de ces derniers et d’où les télécharger peut s’avérer vite fastidieux et bancal. La majorité des plugins étants disponibles sur Github, je me suis demandé si il était possible de créer un Repo incluant tout les repos des plugins que j’utilise.
Il est tout à fait possible de créer un repository et d’y mettre les plugins dedans, et de pusher le tout sur Github, mais il reste nécessaire de les mettre à jour à la main à chaque fois et surtout de ne pas oublier de push les modifs sur Github. Fastidieux.
Git Submodule
Après quelques recherches, j’ai découvert la fonction “git submodule” qui permet de créer un genre de “meta-repo”, un repo contenant des liens vers d’autres repo.
Plus besoin de télécharger les plugins, les mettre dans son repo et de push sur Github.
Il suffit d’ajouter un nouveau “submodule” dans son repo et le tour est joué !
La seule opération alors à réaliser est de maintenir la liste des “submodules” et de “pull” les mises à jour régulièrement sur ses machines, le meta-repo permettant d’automatiquement récupérer les nouveaux fichiers et modifications des sub-repo.
Une solution collaborative
Cette solution est aussi très pratique dans une équipe de designers / front-end developpeurs. Cela permet d’utiliser tous les mêmes outils et maintenir une cohérence logicielle commune.
Je vous invite à découvrir mon Repo, et de le forker pour créer votre propre liste 🙂
J’y ai inclus un petit “How to” pour gérer tout ça simplement.