Guide de connexion et de migration

Connectez votre workflow de développement local à un Mac dans le cloud

PingMini fournit des Mac physiques dédiés dans le cloud. Choisissez d’abord le bureau graphique, SSH ou les tâches automatisées selon votre usage, puis migrez votre code, vos outils et votre configuration de build. Chaque étape précise les entrées, les actions et les critères de validation.

3 parcours
Bureau graphique, SSH, tâches automatisées
4 types d’éléments à migrer
Code, chaîne d’outils, éléments de signature, configuration CI
1 principe
Valider d’abord, migrer progressivement
Fiche d’orchestration de connexion Mac local → Mac dans le cloud
À exécuter
Nœud cible SG / JP / KR / HK / US-E
Ressource livrée Machine physique dédiée
Bureau Confirmer la résolution et la disposition du clavier Validation : interface, saisie et règles du presse-papiers conformes aux attentes
Connexion
SSH Vérifier l’empreinte de l’hôte et tester la clé Validation : la commande non interactive renvoie les informations correctes sur l’hôte
Vérification
Migration Synchroniser le dépôt et les fichiers de verrouillage des dépendances Validation : le build est reproductible dans un environnement propre
Reproduction
CI Enregistrer le nœud d’exécution et lancer une tâche sonde Validation : journaux, artefacts et code de sortie sont traçables
Livraison
Les informations de connexion sont celles confirmées dans la commande PLAN → CONNECT → VERIFY
Choisir le mode d’accès

Commencez par définir la tâche, puis choisissez le mode de connexion

Les trois méthodes peuvent être utilisées ensemble, mais il est déconseillé de configurer tous les points d’accès dès la première mise en service. Effectuez d’abord une validation de connexion minimale, puis ajoutez l’automatisation et les droits de collaboration.

Utilisation visuelle

Bureau graphique

Idéal pour vérifier le système lors de la première connexion, utiliser Xcode, gérer les éléments de signature, observer l’interface de build et effectuer les tâches nécessitant une validation humaine.

Entrées
Adresse de l’hôte, compte et identifiants temporaires
Validation
Affichage net, clavier, souris et règles du presse-papiers corrects
Ligne de commande

SSH

Idéal pour synchroniser un dépôt, installer des dépendances, collecter des journaux, exécuter des scripts et travailler sur un réseau à faible débit. Privilégiez les clés plutôt que le partage durable de mots de passe.

Entrées
Adresse de l’hôte, nom d’utilisateur et clé publique
Validation
Empreinte confirmée et commandes non interactives renvoyées de manière stable
Exécution continue

Tâches automatisées

Idéal pour la CI/CD, l’exécution de tâches auto-hébergées, les builds planifiés et les tests en lot. Utilisez un compte d’exécution, un répertoire de travail et des identifiants révocables distincts.

Entrées
Configuration du runner, privilèges minimaux et répertoire de travail
Validation
Codes de sortie, journaux et emplacements des artefacts traçables
Première connexion graphique

Commencez par rendre la session opérationnelle

Lors de la première connexion, l’objectif n’est pas de transférer immédiatement tout le projet, mais de vérifier l’hôte, l’affichage, la saisie et les limites d’échange des données. Notez le résultat après chaque vérification.

Liste de contrôle de session SESSION GRAPHIQUE
ÉTAPES 01–04
  1. 01

    Vérifier les informations de l’hôte

    Vérifiez une à une le nœud, le modèle, l’adresse de l’hôte et le nom du compte indiqués dans la commande. Ne vous connectez pas à partir de l’historique et ne réutilisez pas directement l’adresse d’un ancien projet.

    Hôte confirmé
  2. 02

    Établir la première session

    Lancez la connexion depuis un réseau fiable. Après la première ouverture, consultez d’abord les informations système, le fuseau horaire, la capacité du disque et l’état du réseau, sans importer immédiatement de données sensibles.

    Session stable
  3. 03

    Régler les paramètres d’affichage

    Choisissez la résolution selon votre écran local et les conditions de la liaison. Si le texte est flou, vérifiez d’abord la mise à l’échelle ; si les commandes répondent avec retard, réduisez d’abord la qualité d’image au lieu de conclure à une défaillance de l’hôte.

    Affichage net
  4. 04

    Vérifier les limites de saisie

    Testez la saisie en français et en anglais, les raccourcis courants et la disposition du clavier. Vérifiez si le presse-papiers autorise la synchronisation bidirectionnelle ; les contenus sensibles ne doivent pas y rester durablement.

    Saisie maîtrisée
Avant la connexion

Préparer une fiche de vérification locale

Notez le réseau utilisé, la version du client, le nœud cible et l’heure de début. En cas de lenteur ou de déconnexion, ces informations aideront à distinguer un problème de liaison locale d’un problème de session distante.

Voir le diagnostic de connexion
Après la connexion

Valider avant de copier

Exécutez un petit projet de test et vérifiez que la compilation, les journaux et le répertoire de sortie fonctionnent correctement. Après validation, migrez les grands dépôts, les ressources multimédias ou les fichiers liés à la signature.

Vérifier la configuration du modèle
Configuration SSH initiale

Faites de l’accès en ligne de commande un canal vérifiable et révocable

Gérez séparément les clés, les empreintes d’hôte et les droits des comptes. Ne mélangez pas une clé privée durable, les clés du projet et les identifiants partagés de l’équipe dans un même répertoire pour gagner une étape.

Exécution locale

Générer une clé dédiée et en préciser l’usage

Générez une clé distincte pour l’appareil et le collaborateur actuels. Le nom du fichier doit indiquer l’appareil et l’usage ; le commentaire de la clé doit se limiter aux identifiants nécessaires et ne contenir aucun secret du projet.

ssh-keygen -t ed25519 -a 64 -f ~/.ssh/pingmini_dev
chmod 600 ~/.ssh/pingmini_dev
ssh-add ~/.ssh/pingmini_dev

Conservez la clé privée sur un appareil local contrôlé et ne transmettez que la clé publique. Lorsqu’un membre quitte le projet, supprimez sa clé publique au lieu de remplacer tout un jeu d’identifiants partagés.

Vérification distante

Confirmer l’empreinte avant de tester une commande non interactive

L’empreinte de l’hôte affichée lors de la première connexion doit être comparée aux informations provenant d’une source fiable. Après confirmation, utilisez une commande en lecture seule pour vérifier l’identité de l’hôte et la chaîne d’exécution.

ssh -i ~/.ssh/pingmini_dev user@host
ssh -i ~/.ssh/pingmini_dev user@host \
  'sw_vers && uname -m && whoami'

Le résultat attendu doit inclure la version de macOS, arm64 l’architecture et le nom du compte corrects. En cas de divergence, interrompez la migration et vérifiez d’abord la commande et les informations de connexion.

A

Limiter les privilèges du compte

Un compte automatisé ne doit disposer que des privilèges nécessaires à la tâche. Séparez les comptes interactifs et CI afin d’éviter qu’un script n’accède inutilement aux répertoires personnels.

B

Fixer la configuration de l’hôte

Dans la configuration SSH locale, utilisez un alias distinct, indiquez le fichier de clé et désactivez les tentatives d’identités inutiles afin de réduire le risque d’utiliser une autre clé privée par erreur.

C

Tester le code de sortie

Ne vous contentez pas de lire la sortie de la commande : vérifiez aussi le code de sortie du script. Les systèmes automatisés s’appuient sur ce code pour distinguer réussite et échec, et non sur la dernière ligne des journaux.

Parcours de migration

Découpez la migration en trois parcours validables séparément

Passer d’un Mac local à un Mac dans le cloud ne consiste pas à copier tout le disque. Migrez d’abord les données, reproduisez ensuite la chaîne d’outils, puis connectez la CI. Conservez pour chaque parcours la liste des entrées et les preuves de validation.

01 Migration des données

Ne transférez que les données nécessaires au projet

Entrées
Dépôts de code, ressources nécessaires, modèles de configuration, exports de base de données et fichiers de verrouillage des dépendances.
Actions
Reclonez le dépôt en priorité ; vérifiez les fichiers volumineux par lots ; placez séparément les configurations sensibles via un canal contrôlé.
Validation
Le dépôt est propre, les fichiers clés correspondent après vérification et aucun cache temporaire local ne se trouve dans le répertoire du projet.
02 Reproduction de la chaîne d’outils

Reconstruire l’environnement à partir de la liste des versions

Entrées
Version de Xcode, outils en ligne de commande, liste des gestionnaires de paquets, exigences des SDK et fichiers de verrouillage des dépendances.
Actions
Installez d’abord les outils de base, puis restaurez les dépendances ; ne copiez pas directement les caches globaux ni les répertoires de données dérivées de l’ancienne machine.
Validation
Le même commit se compile dans un répertoire propre ; les versions de test et de compilateur ainsi que les informations sur les artefacts sont consignables.
03 Intégration CI

Intégrer le nœud à l’orchestration des tâches

Entrées
Informations d’enregistrement du runner, répertoire de travail, stratégie de concurrence, règles de cache et emplacement de livraison des artefacts.
Actions
Enregistrez le nœud avec un compte d’exécution dédié, lancez d’abord une courte tâche sonde, puis intégrez progressivement les tests, l’archivage et la préparation des publications.
Validation
La tâche peut être démarrée, annulée et récupérée ; les journaux sont consultables ; une tâche en échec ne laisse aucun processus en arrière-plan monopoliser des ressources.
Migration de l’environnement de développement

Reproduisez l’environnement à partir d’une liste, sans copier les résidus de l’ancienne machine

La migration est réussie lorsque le même commit se compile de manière stable dans le nouvel environnement, et non lorsque le nombre de fichiers correspond exactement à celui de l’appareil local.

Liste de migration

Restaurer chaque couche selon ses dépendances

Dépôt de code

Reclonez-le depuis une source distante fiable et vérifiez les branches, sous-modules, références aux fichiers volumineux et modifications non validées.

Fichiers de verrouillage des dépendances

Synchronisez les fichiers de verrouillage et déclarations de versions utilisés par le projet afin d’éviter toute mise à niveau involontaire des dépendances sur la nouvelle machine.

Xcode et outils en ligne de commande

Notez les versions réelles, le répertoire développeur sélectionné et les exigences des SDK, puis effectuez un build complet.

Certificats et profils de provisioning

Importez uniquement les éléments nécessaires au projet, définissez leur responsable, leur usage et leur procédure de révocation, et limitez l’accès des comptes automatisés.

Résultats de build et de test

Conservez le numéro de commit, les versions des outils, la durée de la tâche, le code de sortie et l’emplacement des artefacts comme preuve de validation de la migration.

À synchroniser

Les entrées qui déterminent le résultat du build

Dépôt, fichiers de verrouillage, modèles de configuration, scripts, ressources nécessaires, éléments de signature et exigences de version explicites. L’origine et l’usage de chaque élément doivent être connus.

Objectif : explicable, reproductible, révocable
À ne pas copier

Les caches régénérables

Répertoires de build dérivés, caches des gestionnaires de paquets, données temporaires des simulateurs, anciens journaux et téléchargements sans rapport. Les copier amplifie les problèmes de compatibilité.

Principe : reconstruire d’abord, compléter seulement si nécessaire
Sécurité des sessions

Traitez chaque accès comme une tâche à durée définie

Les sessions distantes, clés SSH et identifiants CI doivent avoir un responsable, un usage et une échéance de révocation clairement définis. La fin de la collaboration ne se limite pas à fermer une fenêtre : récupérez les accès et supprimez aussi les données résiduelles.

ACCÈS

Utiliser des identifiants forts et distincts

Chaque collaborateur doit utiliser un point d’accès distinct. Évitez le partage d’un même compte ou d’une même clé afin de pouvoir révoquer précisément les accès lors des changements d’équipe.

ROTATION

Faire tourner les clés selon les événements

En cas de changement d’appareil, de départ d’un membre, de transfert de projet ou de suspicion de fuite d’identifiants, effectuez immédiatement une rotation sans attendre une échéance périodique.

LIMITATION

Limiter les comptes partagés

Séparez les comptes destinés aux opérations interactives, à l’exécution automatisée et aux tâches d’administration afin d’éviter qu’une tâche CI n’accède inutilement aux répertoires personnels.

FERMETURE

Terminer le transfert et le nettoyage

Avant la fin de la période de location, exportez les artefacts nécessaires, révoquez les identifiants du projet, supprimez les fichiers sensibles et vérifiez que les accès des collaborateurs ont été récupérés.

Début de la collaboration Enregistrer les personnes, les usages et les droits

N’ouvrez que les accès nécessaires à la tâche et consignez la clé publique ou le compte d’exécution correspondant.

Collaboration en cours Vérifier les connexions inhabituelles et les tâches restantes

En cas d’anomalie concernant la source, l’heure ou le comportement d’une tâche, suspendez d’abord l’accès et conservez les journaux nécessaires.

Fin de la collaboration Révoquer les accès et supprimer les données sensibles

Vérifiez que l’ancienne clé ne permet plus la connexion et que les éléments du projet ont été traités conformément aux exigences de transfert.

Diagnostic des problèmes de connexion

Exclure les causes par couche, de la commande aux journaux client

Ne modifiez pas simultanément l’adresse, le réseau, les identifiants et les paramètres du client. Validez une seule couche à la fois et conservez le message d’erreur original ainsi que l’heure de survenue pour raccourcir le diagnostic.

  1. 01

    Vérifier l’état de la commande

    Vérifiez d’abord que le service a été livré, que la période de location est en cours et que le modèle, le nœud et la commande correspondent. L’état réellement disponible est celui renvoyé en temps réel par la console.

    Couche commande
  2. 02

    Vérifier l’adresse de l’hôte

    Vérifiez caractère par caractère l’adresse, le port et le nom du compte, sans utiliser l’historique des connexions. Si l’adresse change, mettez à jour l’alias local et la configuration automatisée.

    Couche adressage
  3. 03

    Vérifier les règles réseau locales

    Basculez vers un autre réseau fiable pour comparaison et vérifiez si le pare-feu local, la politique de sortie de l’entreprise, le proxy ou la résolution DNS perturbent la connexion.

    Couche réseau
  4. 04

    Vérifier les identifiants et l’empreinte de l’hôte

    Confirmez que vous utilisez la bonne clé et le bon compte. Si l’empreinte est inhabituelle, ne contournez pas la vérification : interrompez la connexion et contrôlez les informations de l’hôte auprès d’une source fiable.

    Couche authentification
  5. 05

    Vérifier les services système

    Si SSH fonctionne mais pas la session graphique, vérifiez séparément l’état des services concernés ; si la session graphique fonctionne mais que le script échoue, vérifiez le Shell, les chemins et les droits.

    Couche services
  6. 06

    Collecter les journaux du client

    Conservez l’heure de survenue, la version du client, le message d’erreur original, les étapes de reproduction et les vérifications déjà effectuées. Dans une demande d’assistance, n’écrivez pas seulement « impossible de se connecter ».

    Couche preuves
Prêt à commencer

Choisissez d’abord la configuration, puis suivez cette liste pour vous connecter

Trois configurations fixes couvrent les builds légers, le développement quotidien et l’inférence de grands modèles. Après la commande, connectez-vous au nœud physique selon les informations de confirmation, puis migrez progressivement votre environnement de développement.