Pair-programmer à distance facilement

⏲️ ~4 min de lecture

Publié le par Damien
mosh pair-programming télétravail tmux vim

Programmer c'est bien, programmer à deux c'est mieux. La programmation en binôme présente de nombreux avantages et se pratique aussi à distance. Nous avons testé pour vous et voici comment configurer vos environnements de travail pour vous adonner à la pratique, même en milieu hostile.

Programmer à deux ? #

Popularisé par l'extrême programming, la programmation en binôme ou pair-programming en anglais, vise à une meilleure qualité de code et une appropriation collective du code. Nous poserons donc l'équation suivante : 1 + 1 = 3.

Bien s'équiper #

Pour bien pairer, il va vous falloir vous munir de quelques outils : SSH pour vous connecter à distance, Tmux pour pouvoir basculer entre différents terminaux (un pour les tests, un pour l'édition avec vim, un pour la gestion de version, etc.) et l'indispensable Mosh pour assurer une connexion pérenne.

Pour les ubuntistes par exemple, c'est aussi simple qu'un :

sudo apt-get install openssh tmux mosh

Sous OS X, avec Homebrew c'est guère plus compliqué :

brew install tmux mosh

Allô Houston ? #

Avant de commencer, assez vous que:

Partage de session à distance sous Mac OS X. Partage de session à distance sous Mac OS X.

Le poste hôte devra lancer dans un premier temps une nouvelle session tmux avec la commande tmux new

Le poste client lui se connecte au poste hôte en SSH :

ssh user@192.168.1.74

Une fois connecté sur la machine, il suffit de taper

tmux attach -t

pour récupérer la session lancée par l'utilisateur du poste hôte.

Et voilà sous vos yeux ébahis le terminal du poste distant ! À vous le pair-programming avec votre collègue depuis à peu près n'importe où.

Notez que cela fonctionne aussi pour une partie de 2048 à plusieurs, et dites au-revoir à votre productivité !

Stabiliser la connexion #

Dans le cas d'un pair-programming en milieu nomade (Réseau 3G, ou Wi-Fi public défaillant), la connexion SSH peut être coupée, ce qui peux très vite devenir frustrant, voire rageant, et rendre le pair-programming très difficile.

Heureusement un petit logiciel du nom de Mosh (Mobile Shell) permet de pallier à ce problème. Mosh est permissif aux déconnexions, aux changements d'adresses IP et plus encore (mise en veille d'ordinateur, etc ...). On peut très bien utiliser Mosh avec une connexion parfaitement stable, qui supporte intégralement UTF-8 contrairement à SSH ou les CTRL-C pour tuer un programme.

Mosh est disponible sur à peu près tous les systèmes d'exploitation (même windows via cygwin).
Il faudra également lancer Mosh sur le poste hôte (mosh-server) afin de profiter de cet outil merveilleux.

Pour se connecter via Mosh sur le poste hôte il suffit de remplacer SSH par mosh :

mosh user@192.168.1.74

À vous les joies de la programmation depuis le banc d'un jardin public, et si vous n'êtes pas convaincu il ne vous reste plus qu'à essayer le Spooning !

Quelques ressources supplémentaires sur la programmation par binôme à distance :

Cet article vous a plu ? Sachez que nous recrutons !

← Accueil