01
Les cinq critères de tri
Nous ne classons pas les outils selon le nombre d’intégrations affichées dans leur page d’accueil. Pour un voyageur, la question décisive est de savoir si la chaîne reste utilisable lorsque l’appareil est limité, que le réseau change ou qu’un accès doit être révoqué.
1. L’appareil d’entrée
Un iPad peut convenir comme écran de contrôle, terminal SSH et interface de revue. Il est moins pertinent pour les tâches qui exigent plusieurs fenêtres natives, des extensions locales particulières ou une longue session graphique. Un Chromebook et un ultraportable Windows offrent généralement davantage de souplesse pour le navigateur et le terminal, mais ils ne remplacent pas automatiquement un Mac pour les outils réservés à macOS.
Le téléphone doit rester un appareil d’approbation, de surveillance ou de dépannage. Le fait de pouvoir ouvrir une session depuis un petit écran ne signifie pas que l’on peut relire confortablement une trace d’erreur, résoudre un conflit ou valider une interface audio et vidéo.
2. L’environnement réellement exécuté
L’éditeur peut être local, mais le compilateur, les dépendances et les processus peuvent se trouver ailleurs. C’est cette distinction qui sépare une chaîne de démonstration d’une chaîne de livraison.
VS Code Remote SSH permet de conserver l’interface sur l’appareil léger tout en exécutant les extensions et les commandes sur une machine distante. Les conditions officielles de VS Code Remote SSH précisent notamment que la machine distante doit fournir un système compatible, un serveur SSH et les prérequis nécessaires à l’installation du composant distant.
GitHub Codespaces convient mieux lorsque le dépôt doit ouvrir un environnement reproductible directement depuis un navigateur ou l’éditeur. Le cycle de vie officiel distingue la création, l’exécution, l’arrêt et la suppression du codespace dans la documentation GitHub. Il faut donc vérifier l’état de l’environnement avant de relancer une commande longue, au lieu de supposer que le terminal est resté actif.
Le cloud Mac répond à une autre contrainte. Il devient pertinent pour Xcode, les simulateurs Apple, les outils de création macOS et les flux audio ou vidéo qui nécessitent une interface graphique complète. La documentation Xcode d’Apple et ses exigences système doivent être consultées ensemble avant toute réservation, car le nom du logiciel ne suffit pas à déterminer la compatibilité du système.
3. La continuité après une coupure
Il faut distinguer cinq événements souvent confondus :
- fermeture de la page du navigateur ;
- interruption de la connexion SSH ou VNC ;
- arrêt automatique de l’environnement distant ;
- mise en veille de la machine ;
- redémarrage complet du système.
Le résultat n’est pas le même. Une coupure d’affichage peut laisser un processus actif, tandis qu’un environnement arrêté peut interrompre une commande. Une machine redémarrée peut nécessiter une reconnexion réseau, une ouverture de session ou le lancement manuel d’un service.
Pour un projet Web, nous recommandons de commencer par une commande courte et observable, de valider le résultat dans le dépôt, puis de lancer les traitements plus longs. Avec SSH, utilisez un multiplexeur de terminal ou une procédure équivalente afin de dissocier la durée du processus de la durée de la connexion visuelle. Avec un environnement graphique, préparez une méthode de reprise qui commence par l’état de la machine, non par la réinstallation du logiciel.
L’ordre de dégradation le plus rationnel est le suivant :
- reconnecter l’interface graphique ;
- vérifier l’état du processus à distance ;
- passer en SSH si l’interface est trop lourde ;
- basculer vers une tâche locale préparée ;
- synchroniser les résultats et reprendre la livraison dès que le réseau est stable.
Rappel de terrain : une sauvegarde du dépôt ne restaure ni les certificats, ni les versions de dépendances, ni les services lancés sur la machine. Testez donc la reprise avec un appareil différent avant de partir, et notez les étapes qui nécessitent encore une intervention manuelle.
4. Les droits et la récupération
Un appareil temporaire ne doit pas devenir le coffre permanent de l’équipe. Les éléments suivants doivent être séparés :
- accès au dépôt ;
- clés SSH ;
- sessions de navigateur ;
- certificats de développement ;
- secrets de déploiement ;
- droits administrateur de la machine distante ;
- fichiers de configuration propres au projet.
L’accès au dépôt doit pouvoir être révoqué sans arrêter toute l’infrastructure. Les clés SSH doivent être identifiées par appareil ou par usage, plutôt que copiées indistinctement sur chaque ordinateur de location. Les certificats et les secrets de signature ne doivent pas être déposés dans un dossier synchronisé avec un appareil de voyage.
La récupération doit être pensée comme un parcours minimal : ouvrir une session, retrouver le dépôt, obtenir les dépendances, démarrer le service, exécuter un test et produire un livrable. Si une étape dépend d’un fichier resté sur l’ordinateur perdu, l’environnement n’est pas réellement récupérable.
Pour les connexions privées entre appareils, Tailscale peut faire partie de la conception, mais il ne faut pas le traiter comme une garantie universelle. Les variantes macOS et méthodes d’installation documentées par Tailscale doivent être vérifiées pour la version utilisée et pour le niveau de privilège demandé. Le contrôle d’accès doit rester compréhensible même lorsque l’appareil de voyage disparaît.