Cahier de vacances - premiĂšres briques
Pour avancer sereinement dans ce petit projet dâĂ©tĂ©, jâai mis en place quelques outils et workflows appropriĂ©s.
Je souhaite utiliser le langage Go et il nâexiste pas dâimplĂ©mentation sur iOS (contrairement Ă Python et Lua).
Jâutilise pour cela une machine distante, une droplet chez Digital Ocean. Câest une machine sous Ubuntu 18.04 parfaitement capable de compiler les petits bouts de code que je lui soumet.
Pour se connecter Ă cette droplet, jâai choisi dâutiliser un projet de shell sous la forme dâune application appelĂ©e Blink.
Cette app fournit à la fois le terminal et le shell, ainsi que les outils nécéssaire comme ssh ou mosh.
Câest une application Open Source, le code est disponible, mais on peut lâacheter pour la soutenir (ce que jâai fait).
PremiÚre étape une fois Blink installé, générer une clé RSA.
Je peux ensuite enregistrer la clé publique de Blink sur la droplet dans .ssh/authorized_keys.
Toute cette procédure est détaillée dans cet article sur Medium
Je nâai pas pu pour le moment profiter de lâĂ©tape avec mosh qui permet de maintenir une session SSH, quand la connexion est de mauvaise qualitĂ©. LâhĂ©bergement de la premiĂšre semaine nâa pas beaucoup de ports ouverts sur le wifi partagĂ©.
Une fois quâon a un environnement pour compiler le code et le lancer, il faut se soucier de la partie gestion du code.
Jâutilise en lâoccurrence GitLab dont jâaime beaucoup la gestion des issues et des Merge Request.
Sur lâiPad, la gestion de ce repository sera confiĂ©e Ă lâapp Working Copy.
PremiĂšre fonctionnalitĂ© intĂ©ressante pour moi, la connexion avec mon compte GitLab. Une fois ce lien Ă©tabli, jâajoute le repository de mon projet Dobby (oui, je ferai un logo en forme de chaussette).
A partir de lĂ , jâai accĂšs aux fonctions git comme le fetch, le pull, le merge ou le push. Il est facile de visualiser les branches, dâeffectuer un rebase ou crĂ©er une branche. Je nâai pas encore trouvĂ© de moyen de gĂ©rer les issues ou les MR directement, Ă Ă©tudier.
Une derniĂšre fonctionnalitĂ© intĂ©ressante dans mon workflow est la possibilitĂ© de rĂ©gler un accĂšs distant Ă un rĂ©pertoire pour effectuer une synchronisation des fichiers. Je peux ainsi Ă©diter le code sur lâiPad, puis aller sur ma droplet pour tester, le code Ă©tant synchronisĂ©.
Pour cela, jâenregistre la clĂ© publique fournie par Working Copy dans la authorized_keys de ma droplet, je rempli les paramĂštre dans lâapp et zou, la synchro et/ou lâupload manuel si je prĂ©fĂšre sont en place.
Il me reste à créer des issues pour chaque étape prévue.
Je nâaurai plus quâĂ ouvrir une MR avec une branche dĂ©diĂ©e que je rĂ©cupĂ©rerai sur lâiPad ensuite.
Une fois le code testĂ© et lâarticle correspondant Ă©crit, je nâaurai plus quâĂ pousser dans la branche de la MR, puis effectuer le merge qui fermera lâissue. Jâai pour le moment fait le choix de dĂ©sactiver lâeffacement automatique de la branche pour conserver les traces pour les articles.
Voilà , il me semble que je suis paré pour enfin avancer sur le projet.
Mais ne dit on pas que lâimportant ce nâest pas la destination, câest le voyage ?






