Plateforme de triage technique

Identifiez d’abord l’étape concernée, puis résolvez le problème de votre Mac dans le cloud

De l’activation de la commande à la connexion au nœud, au build iOS, au stockage en parallèle et à la vérification de la facture, contrôlez chaque point selon l’étape concernée. Chaque section fournit les critères de diagnostic, les commandes et les informations à conserver pour créer un ticket.

01 / Première activation

Configurez dans le bon ordre pour éviter les reprises après livraison

Lors de la première location, évaluez d’abord les besoins en mémoire et en stockage, puis choisissez un nœud proche du dépôt de code, de l’équipe ou du marché de publication. Ne payez pas avant d’avoir défini la configuration : vérifiez le modèle, le nœud, la durée et les options ensemble avant de confirmer la commande.

  1. 01

    Choisissez un modèle parmi les trois configurations

    ZoneMini M4 Core avec M4, 16 Go de mémoire et un SSD de 256 Go, adapté aux builds iOS légers et à l’automatisation d’un seul projet ; ZoneMini M4 Plus avec M4, 24 Go de mémoire et un SSD de 512 Go, adapté au développement quotidien et aux pipelines multi-projets ;ZoneMini M4 Pro avec M4 Pro, 64 Go de mémoire et un SSD de 2 To, conçu pour l’inférence exigeante en mémoire et les tâches parallèles à forte charge. Les trois configurations sont des machines physiques dédiées Mac dans le cloud, et non des machines virtuelles.

  2. 02

    Choisissez l’emplacement parmi les cinq nœuds disponibles

    Les nœuds disponibles sont Singapour, Japon (Tokyo), Corée du Sud (Séoul), Hong Kong et Est des États-Unis. Tenez compte en priorité de l’emplacement du dépôt de code et des principaux utilisateurs, puis du marché de publication et des fuseaux horaires de l’équipe. Les cinq nœuds prennent en charge les trois modèles ; la disponibilité réelle est celle indiquée en temps réel dans la console.

  3. 03

    Choisissez une durée à la journée, à la semaine, au mois ou au trimestre

    Les tests de compatibilité ponctuels conviennent à une formule à la journée ; une itération complète peut être comparée à la semaine ; les runners permanents, archivages longue durée ou tâches d’inférence continues conviennent généralement au mois ou au trimestre. Les prix affichés ne sont ni convertis ni arrondis : le montant est calculé directement selon le modèle, les options et la durée choisis.

  4. 04

    Réglez en USD et vérifiez la commande

    Seuls USDT-TRC20 et Visa / Mastercard / Amex (via Stripe) sont acceptés. Avant l’envoi, vérifiez le modèle, le nœud, la durée, le stockage supplémentaire, le nombre de connexions Thunderbolt 5 et vos coordonnées. Les passerelles réellement disponibles sont celles renvoyées par la console.

  5. 05

    Récupérez les informations de connexion et effectuez la première vérification

    Après la livraison, vérifiez l’adresse du nœud, le nom d’utilisateur, les identifiants temporaires et les instructions de connexion. Une fois la première connexion établie, remplacez les identifiants temporaires, notez l’empreinte de l’hôte et testez séparément la ligne de commande SSH et le partage d’écran macOS. Les informations de connexion sont sensibles : ne les collez ni dans un dépôt public ni dans une conversation ordinaire.

Informations minimales à préparer avant l’activation

Indiquez le type de projet, le nombre de tâches exécutées simultanément, la plage de versions Xcode, la durée d’un archivage, le volume du cache de dépendances, le nœud cible et la durée de location prévue. Si le modèle reste difficile à choisir, consultez d’abord les caractéristiques et les tarifs des trois configurations, puis transmettez les données de charge à l’équipe pour validation.

02 / Diagnostic de connexion

Éliminez les causes couche par couche, de l’instance au réseau local

En cas d’échec de connexion, ne modifiez pas simultanément les identifiants, le port et le pare-feu. Vérifiez dans l’ordre l’état, l’identité, le réseau, le port et les services, en conservant le résultat de chaque étape pour déterminer si le problème vient du réseau local, du chemin de transmission ou du nœud cible.

CONNECTION CHECK Six vérifications dans l’ordre
  1. 01

    Vérifiez l’état de l’instance

    Connectez-vous à la console pour confirmer que l’instance associée à la commande est accessible, puis vérifiez le nœud et le modèle affichés. Après une livraison récente, fiez-vous aux informations de la console plutôt qu’à une ancienne adresse indiquée dans un e-mail ou un relevé.

  2. 02

    Vérifiez les identifiants d’accès

    Distinguez l’usage du nom d’utilisateur, du mot de passe et de la clé SSH. Vérifiez les permissions du fichier de clé, l’état du clavier et la présence éventuelle d’espaces lors du copier-coller. Après plusieurs échecs d’authentification, cessez les tentatives et vérifiez à nouveau la source des identifiants.

  3. 03

    Écartez les restrictions du réseau local

    Utilisez un réseau de secours fiable pour comparaison et vérifiez que la politique de sortie de l’entreprise, le proxy ou le logiciel de sécurité ne bloque pas l’adresse cible. Désactiver toutes les protections ne constitue pas une solution durable.

  4. 04

    Vérifiez le port SSH

    Testez d’abord l’accessibilité du port TCP 22, puis exécutez les journaux SSH détaillés. Un délai d’attente sur le port indique généralement un problème de chemin réseau ou de règle ; si le port est accessible mais l’authentification échoue, vérifiez le nom d’utilisateur, la clé et les permissions.

  5. 05

    Vérifiez les réglages du partage d’écran

    Confirmez l’adresse et les autorisations fournies lors de la livraison. En cas d’écran noir ou de résolution anormale, déconnectez d’abord l’ancienne session puis reconnectez-vous, en notant le système client, le nombre d’écrans et le réglage de mise à l’échelle.

  6. 06

    Vérifiez les règles du pare-feu

    Vérifiez le pare-feu local, les règles de sortie de l’équipe et les plages autorisées côté nœud. Toute modification doit respecter le principe du moindre accès et consigner la source, le port, l’heure et la personne ayant effectué le changement.

Vérification du réseau et des ports
nc -vz <ADRESSE_NOEUD> 22
ssh -vvv -o ConnectTimeout=10 UTILISATEUR@ADRESSE_NOEUD
route -n get <ADRESSE_NOEUD>

Remplacez les éléments génériques par l’adresse du nœud et le nom d’utilisateur fournis à la livraison.

Interprétation des résultats

Commencez par distinguer délai d’attente et échec d’authentification

Délai d’attente de connexion
Vérifiez en priorité la sortie locale, le proxy, le pare-feu et l’accessibilité du port cible.
Connexion refusée
Notez l’heure, le nœud et la ligne d’erreur complète, puis confirmez l’adresse et le port cibles.
Échec d’authentification
Vérifiez le nom d’utilisateur, le chemin de la clé, les permissions et les identifiants fournis ; ne devinez pas le mot de passe à répétition.
Changement d’empreinte de l’hôte
Interrompez la connexion et créez un ticket de vérification ; ne supprimez pas directement l’empreinte enregistrée pour poursuivre.
Lire la procédure complète de connexion
03 / Environnement de build

Décomposez l’échec du build en quatre couches : outils, signature, dépendances et artefacts

Lorsqu’un pipeline réussit en session interactive mais échoue dans un runner CI, la cause vient souvent de variables d’environnement, du contexte du trousseau, du répertoire de travail ou des permissions du cache. Utilisez le même utilisateur et le même point d’entrée que la tâche en échec.

A

Vérifiez Xcode et les outils en ligne de commande

Notez la version du système, celle de Xcode et le répertoire développeur actuel. Si plusieurs versions de Xcode sont installées, vérifiez que le chemin appelé par le pipeline correspond aux exigences du projet ; ne contrôlez pas uniquement la version ouverte dans l’interface graphique.

  • xcodebuild -version Obtenir la version réelle des outils de build
  • xcode-select -p Obtenir le répertoire développeur actuel
  • swift --version Vérifier la chaîne d’outils Swift
B

Vérifiez les certificats et les profils de provisioning

Confirmez que les éléments de signature sont accessibles par l’utilisateur d’exécution et que la cible, la configuration et le mode d’export utilisent les bons éléments. Notez uniquement le nom du certificat, son état de validité et le résultat de correspondance ; n’envoyez ni clé privée ni profil complet dans un ticket.

  • Vérifiez le Team, le Bundle Identifier et le mode de signature du projet
  • Vérifiez que le profil utilisé par la configuration de build correspond à la cible
  • Comparez les identités de signature visibles en session locale et dans le runner
C

Vérifiez le contexte d’accès au trousseau

Lorsqu’une tâche CI doit accéder aux éléments de signature sans interaction, vérifiez que le trousseau est déverrouillé conformément au pipeline et limitez les accès du compte d’automatisation. N’inscrivez jamais le mot de passe de déverrouillage directement dans un script du dépôt ou dans un journal ordinaire.

  • Vérifiez que l’utilisateur d’exécution est le même que celui ayant importé les éléments de signature
  • Vérifiez si le mode de lancement du runner modifie le contexte de session
  • Supprimez des journaux les mots de passe, jetons et chemins de clés privées
D

Isolez les problèmes de cache des dépendances

Vérifiez d’abord que les fichiers de verrouillage n’ont pas changé, puis contrôlez séparément les dépendances CocoaPods, Swift Package Manager, Node.js ou Flutter. En cas d’anomalie du cache, nettoyez uniquement les répertoires liés au projet concerné afin de préserver les caches partagés de l’équipe sur l’hôte.

  • Enregistrez le hachage des fichiers de verrouillage et la sortie de résolution des dépendances
  • Comparez les versions de dépendances de la branche en échec et de la branche fonctionnelle
  • Notez le propriétaire, les permissions et la taille actuelle des répertoires de cache
E

Collectez des journaux d’archivage reproductibles

Conservez la commande complète, le répertoire de travail, le Scheme, la Configuration, le SDK, la Destination et le code de sortie. Les journaux doivent couvrir le contexte avant et après la première erreur, pas seulement la dernière ligne.

  • Utilisez un répertoire de résultats distinct pour enregistrer la sortie du build
  • Notez le mode de déclenchement, l’identifiant du commit et le tag du runner
  • Après anonymisation, joignez les extraits importants au ticket dans la console
F

Commencez par une vérification minimale avec une commande

Avant l’archivage complet, vérifiez les versions, la structure du projet et la visibilité du Scheme. Si la commande minimale échoue, poursuivez le dépannage de la chaîne d’outils ; si elle réussit mais que l’archivage échoue, examinez la signature, les dépendances et la configuration d’export.

Obtenir de l’aide sur la configuration du build
Collecte des informations de l’environnement de build
sw_vers
xcodebuild -version
xcode-select -p
swift --version
xcodebuild -list -workspace <ESPACE_PROJET>

Les commandes ne lisent pas les secrets du projet ; vérifiez néanmoins que la sortie ne contient pas de chemins internes ou de noms de dépôts avant de la transmettre.

04 / Stockage et connexion parallèle

Définissez d’abord l’usage de l’espace, puis vérifiez le montage et le périmètre des tâches

Le stockage supplémentaire convient aux caches de dépendances, fichiers intermédiaires de build, modèles et traitements temporaires. Il ne remplace ni le contrôle de version du projet ni une stratégie d’archivage à long terme. La connexion parallèle Thunderbolt 5 est facturée par machine et convient aux tâches conçues pour la collaboration multi-machine ; elle ne transforme pas automatiquement deux tâches indépendantes en un seul traitement parallèle.

Tarifs publiés des options de stockage et de connexion parallèle
Option À la journée À la semaine Au mois Au trimestre Usage recommandé
+1 To SSD $2 $5.5 $10.1 $27.5 Caches de dépendances, artefacts de build et ressources de taille moyenne
+2 To SSD $4 $11 $20.2 $55 Fichiers de modèles, ressources traitées par lots et grands ensembles d’archivage
Connexion parallèle Thunderbolt 5 (par machine) $1.7 $4.6 $8.6 $23.4 Répartition des tâches multi-machines et collaboration de données haut débit entre nœuds
Vérification du montage

Vérifiez que le système a détecté le disque cible

Utilisez diskutil list pour afficher les disques et partitions, puis utilisez df -h pour vérifier le point de montage réel et l’espace disponible. Si le périphérique apparaît sans point de montage correct, enregistrez la sortie de la commande et créez un ticket ; ne formatez pas directement un disque inconnu.

Surveillance de l’espace

Surveillez simultanément la capacité totale et les répertoires qui grossissent

Avant un échec d’archivage, vérifiez l’espace de travail, DerivedData, le cache des dépendances et les répertoires temporaires. Le message « espace insuffisant » peut venir du volume système ou d’un répertoire temporaire, et pas nécessairement du volume contenant le projet.

Répartition des tâches

Définissez le rôle de chaque hôte selon les entrées, l’exécution et les artefacts

Un workflow multi-machine doit préciser quelle machine récupère le code, laquelle exécute le build ou l’inférence, où sont écrits les artefacts et comment relancer après un échec. Évitez que plusieurs hôtes modifient simultanément le même répertoire de travail ou un cache mutable partagé.

Vérification du disque et du cache
diskutil list
df -h
du -sh ~/Library/Developer/Xcode/DerivedData
du -sh ~/Library/Caches

Le calcul de la taille des grands répertoires peut prendre du temps. Examinez d’abord la sortie et ne supprimez rien avant d’en avoir confirmé l’usage.

05 / Facturation et paiement

Vérifiez le modèle, la durée et les options à partir du numéro de commande

Toutes les commandes ZoneMini sont réglées en USD. Seuls USDT-TRC20 et Visa / Mastercard / Amex (via Stripe) sont acceptés. Les passerelles réellement disponibles sont celles renvoyées par la console. Pour toute question de facturation, indiquez la commande concernée plutôt qu’une simple capture de paiement ou une heure de transaction approximative.

Devise de règlement USD

Le modèle, la durée et les options sont calculés selon les prix en dollars publiés sur la page, sans conversion monétaire côté page.

Paiement en actifs numériques USDT-TRC20

Avant le paiement, vérifiez le réseau, le montant et les informations de commande renvoyés par la console. Pour toute demande, indiquez le numéro de commande et l’identifiant de transaction anonymisé.

Paiement par carte Visa / Mastercard / Amex

Les transactions par carte sont traitées par Stripe. En cas d’échec, notez le message d’erreur complet de la console, l’heure et le numéro de commande ; ne transmettez pas les données complètes de la carte.

Pourquoi faut-il vérifier à la fois le modèle, la durée et les options dans le montant final ?

Le montant de la commande correspond au tarif périodique du modèle choisi, augmenté des options de stockage ou de connexion parallèle Thunderbolt 5 pour la même période. Comparez séparément le nom du modèle, le nœud, la durée à la journée, à la semaine, au mois ou au trimestre, la capacité supplémentaire et le nombre de machines parallèles.

Quelles informations conserver si le paiement n’aboutit pas ?

Conservez le numéro de commande, le moyen de paiement, l’heure, le texte d’erreur complet affiché par la console et l’identifiant de transaction anonymisé. N’envoyez ni numéro complet de carte, ni code de vérification, ni clé privée de portefeuille, ni phrase de récupération, ni mot de passe complet.

Par quel accès consulter une commande existante ?

Connectez-vous à la console pour consulter l’état des commandes, des instances et de la facturation. Si l’affichage diffère de l’historique de paiement, créez un ticket depuis le contexte de cette commande et joignez son numéro afin d’éviter plusieurs demandes sans informations liées pour un même problème.

06 / Création d’un ticket

Un ticket exploitable nécessite six catégories de contexte

L’objectif d’un ticket n’est pas de prouver qu’il y a « un problème », mais de permettre au support de déterminer l’impact, le chemin de reproduction et le résultat attendu. Regrouper les informations essentielles dans une seule demande réduit les échanges inutiles.

01

Nœud

Indiquez Singapour, Japon (Tokyo), Corée du Sud (Séoul), Hong Kong ou Est des États-Unis, avec l’identifiant de l’instance affiché dans la console.

02

Modèle

Indiquez ZoneMini M4 Core, ZoneMini M4 Plus ou ZoneMini M4 Pro, plutôt que d’écrire simplement « machine M4 ».

03

Heure de l’incident

Fournissez une plage horaire avec son fuseau et précisez s’il s’agit d’une première occurrence, d’un problème systématique ou d’un incident intermittent.

04

Étapes de reproduction

Depuis l’entrée dans le répertoire de travail ou le lancement de la connexion, détaillez les commandes, les conditions d’entrée, le résultat obtenu et le code de sortie.

05

Journaux anonymisés

Conservez le contexte avant et après l’erreur, en supprimant les jetons de dépôt, éléments de signature, adresses internes et informations personnelles.

06

Résultat attendu

Décrivez le comportement attendu et précisez si le problème bloque la connexion, les tests, l’archivage, le paiement ou la livraison des artefacts.

Supprimez les données sensibles avant l’envoi

N’envoyez ni clé privée de certificat, ni jeton de dépôt, ni mot de passe complet

Pour un certificat de signature, indiquez uniquement son nom et son état de validité ; pour un jeton, précisez seulement son type et l’étendue de ses permissions ; pour un problème d’identifiants, fournissez le message d’erreur et un identifiant anonymisé. Anonymisez également si nécessaire les e-mails, adresses de dépôt, noms d’hôtes internes et chemins de fichiers présents dans les journaux.

  • Pour un problème de facturation, joignez le numéro de commande
  • Pour un problème de connexion, joignez la sortie des commandes et l’environnement client
  • Pour un problème de build, joignez la version de Xcode, le Scheme, le code de sortie et les journaux essentiels
  • Pour un problème de stockage, joignez le point de montage, la capacité et l’évolution des répertoires concernés
Une fois les informations de diagnostic prêtes

Créez le ticket depuis le contexte de la commande

Pour une commande existante, connectez-vous de préférence à la console pour créer un ticket et joignez le numéro de commande, le nœud, le modèle, l’heure de l’incident, les étapes de reproduction, les journaux anonymisés et le résultat attendu. Pour une demande de conseil avant achat, contactez l’équipe à l’adresse e-mail du support.