Localisation rapide des problèmes techniques

Centre d’aide Mac dans le cloud

De la confirmation de commande à la compilation Xcode, décomposez chaque problème en vérifications concrètes. Effectuez d’abord le diagnostic initial de cette page ; si le problème persiste, envoyez un ticket depuis la console avec l’ID du nœud, l’heure de l’incident et des journaux anonymisés.

Chaque commande correspond à un nœud physique Mac mini dédié, et non à une machine virtuelle. La disponibilité du nœud et les informations de connexion affichées dans la console font foi.

Accéder par type de problème

Sélectionnez d’abord le périmètre, puis suivez le parcours de vérification le plus court

Ces cinq catégories correspondent aux différentes étapes du cycle de vie d’une commande. Lorsque vous changez de catégorie, la console affiche les informations à vérifier en priorité, les causes fréquentes et l’étape suivante.

Cycle de vie de la commande

Commande et livraison

Pour vérifier un paiement en attente, l’absence d’informations sur le nœud, la région ou le modèle, ou les éléments nécessaires à la première connexion.

  • Vérifiez que le numéro de commande, le modèle, la durée et la région affichés dans la console correspondent à votre demande.
  • Après confirmation du paiement, le système attribue le nœud, vérifie son état, puis génère les informations de connexion ; le processus prend généralement environ 4 minutes.
  • Si les informations de connexion ne sont toujours pas disponibles après ce délai habituel, ne créez pas une nouvelle commande ; notez le numéro de commande et envoyez un ticket.
Diagnostic rapide

Premières vérifications pour cinq problèmes fréquents

Chaque fiche suit l’ordre « vérifier l’état, réduire les variables, puis conserver les preuves ». Ne modifiez qu’une variable à la fois pour identifier l’étape qui a rétabli le service.

Impossible de se connecter au nœud

  1. Vérifiez dans la console que le nœud fonctionne normalement.
  2. Contrôlez un par un l’adresse, le port, le nom d’utilisateur et le protocole de connexion.
  3. Testez le même port depuis un autre réseau afin d’exclure une restriction de sortie locale ou de pare-feu.
  4. Notez le message d’erreur complet du client et l’heure de l’incident ; n’essayez pas un grand nombre de mots de passe à la suite.
Consulter le guide de connexion à distance

Échec soudain de la compilation

  1. Notez la soumission en échec, la commande de compilation, le code de sortie et la première erreur exploitable.
  2. Exécutez xcodebuild -version pour confirmer la chaîne d’outils actuelle.
  3. Vérifiez si le fichier de verrouillage des dépendances, les variables d’environnement ou les éléments de signature ont changé.
  4. Ne nettoyez le cache concerné qu’après avoir confirmé une anomalie du cache, afin de ne pas supprimer d’abord toutes les preuves.
Accéder aux étapes de dépannage Xcode

Espace disque insuffisant

  1. Utilisez df -h pour consulter la capacité des volumes, et pas seulement celle d’un répertoire.
  2. Vérifiez DerivedData, les archives, les données des simulateurs et le cache des gestionnaires de paquets.
  3. Supprimez d’abord les éléments pouvant être recréés, puis traitez les artefacts de compilation et les fichiers du projet.
  4. Ajoutez les répertoires qui grossissent continuellement aux règles de nettoyage du pipeline et mettez en place une surveillance de la capacité.
Voir l’ordre de nettoyage sécurisé

Identifiants invalides

  1. Déterminez s’il s’agit de la connexion système, d’une clé SSH, d’un jeton de dépôt ou d’une autorisation de signature.
  2. Vérifiez la durée de validité des identifiants, les permissions des fichiers et l’identité de l’utilisateur qui les utilise.
  3. Après la rotation des identifiants, mettez à jour les variables du pipeline et révoquez les anciennes valeurs.
  4. Ne collez jamais des identifiants complets dans l’historique des commandes, des captures d’écran ou le texte d’un ticket.
Voir les informations sur la sécurité et les accès

Latence ou instabilité du réseau

  1. Notez votre ville, votre opérateur, la région du nœud et l’heure de l’incident.
  2. Effectuez plusieurs tests consécutifs et utilisez la médiane ; ne concluez pas à partir d’un seul pic.
  3. Contrôlez séparément la latence interactive, la perte de paquets et le débit de transfert des fichiers volumineux.
  4. Désactivez l’audio-vidéo non indispensable et la qualité d’affichage élevée, puis comparez l’expérience VNC.
Voir les méthodes d’optimisation de la connexion
Termes clés

Comprendre le contexte des nœuds, des connexions et des compilations

Les définitions ci-dessous correspondent au sens utilisé par ce service. Employer une terminologie cohérente dans vos tickets réduit les demandes de clarification sur le périmètre du problème.

Nœud physique
Appareil Mac mini dédié qui exécute réellement les charges de travail. Il possède une puce, une mémoire, un stockage et une région clairement définis ; ce n’est pas une instance de calcul partagée.
Dédié
Pendant la durée de la location, les ressources de calcul du nœud sont affectées à la commande en cours. Les charges d’autres clients ne sont pas planifiées sur ces ressources, ce qui clarifie les limites de performance et d’environnement.
VNC
Protocole d’affichage distant permettant d’accéder à l’interface graphique de macOS. Il convient aux opérations sur le bureau, à la consultation de Xcode ou à la modification des réglages système.
SSH
Protocole de connexion chiffrée en ligne de commande. Il convient à l’exécution de scripts, au transfert de fichiers, à la gestion des runners et au dépannage sans interface graphique.
self-hosted runner
Exécuteur géré par l’équipe et connecté au pipeline d’hébergement du code. Les tâches s’exécutent sur le Mac dans le cloud indiqué ; l’équipe contrôle la chaîne d’outils, le cache et la stratégie de concurrence.
Signature du code
Processus utilisant des certificats, une clé privée et des profils de provisionnement pour confirmer l’origine et le périmètre d’autorisation d’une application. Ces éléments doivent avoir des droits limités, être renouvelés régulièrement et ne pas être enregistrés dans le dépôt.
Cache de compilation
Données servant à réutiliser des dépendances, des résultats intermédiaires de compilation ou des téléchargements d’outils. Elles accélèrent les compilations, mais un cache incorrect ou obsolète peut aussi créer des incohérences.
Région du nœud
Région du centre de données où se trouve le Mac mini. Le catalogue couvre actuellement 6 régions : Singapour, Japon (Tokyo), Corée du Sud (Séoul), Hong Kong, États-Unis Est et États-Unis Ouest.
Livraison et identifiants

De la confirmation de commande à la première connexion sécurisée

La livraison habituelle prend environ 4 minutes et se compose de quatre étapes successives. L’état réellement disponible et les informations de connexion affichées dans la console font foi.

  1. 01

    Confirmation de la commande et du paiement

    Environ 1 minute

    Vérifiez le modèle, la durée, la région du nœud et les options. Après confirmation du paiement, la commande entre dans le processus d’attribution ; n’effectuez pas de paiements répétés pour tenter d’accélérer le traitement.

    À conserver : numéro de commande, identifiant du résultat du paiement, heure d’envoi.
  2. 02

    Attribution du nœud

    Environ 1 minute

    Le système attribue un nœud physique Mac mini dédié selon le catalogue de la commande. Les deux modèles peuvent être choisis à Singapour, au Japon (Tokyo), en Corée du Sud (Séoul), à Hong Kong, aux États-Unis Est et aux États-Unis Ouest.

    À vérifier : ID du nœud, modèle, région.
  3. 03

    Contrôle de l’état du nœud

    Environ 1 minute

    Avant la livraison, le système vérifie le démarrage, la connectivité réseau et le service d’accès à distance. Tous les nœuds fonctionnent normalement 365 jours par an.

    Attendez que l’état de la console devienne « Connectable ».
  4. 04

    Transmission des informations de connexion

    Environ 1 minute

    La console fournit l’adresse, le port, le nom d’utilisateur et les identifiants temporaires. Après la première connexion, remplacez immédiatement le mot de passe temporaire, configurez une clé SSH dédiée et conservez les identifiants dans un gestionnaire de clés contrôlé.

    À effectuer : première connexion, changement du mot de passe, vérification de la clé SSH.
Protection des identifiants

Ne transmettez pas de clé privée, de mot de passe complet ni de jeton d’accès complet dans des captures d’écran, un dépôt, des journaux de compilation ou un ticket. Pour préciser le type d’identifiant, indiquez uniquement son usage, sa date de création et quelques caractères finaux.

Parcours de dépannage Xcode

De la référence de version aux journaux reproductibles

Ne commencez pas par vider tous les caches ou réinstaller la chaîne d’outils. Vérifiez d’abord les versions et les chemins, contrôlez ensuite les éléments de signature, puis effectuez un nettoyage ciblé.

01

Confirmer les versions de Xcode et de macOS

Notez la version affichée dans l’interface graphique et exécutez également les commandes sous l’utilisateur du pipeline. Si la compilation interactive locale réussit mais échoue avec le runner, comparez aussi l’utilisateur d’exécution et les variables d’environnement.

xcodebuild -version
sw_vers
whoami
02

Confirmer la sélection des outils en ligne de commande

Utilisez xcode-select -p pour vérifier le répertoire développeur actuel. Lorsque l’équipe gère plusieurs versions en parallèle, sélectionnez explicitement le chemin au démarrage du pipeline afin d’éviter les changements de valeur par défaut du système.

xcode-select -p
xcrun --find xcodebuild
xcrun xcodebuild -version
03

Vérifier les certificats et les profils de provisionnement

Vérifiez que le certificat de signature n’est pas expiré, que l’utilisateur de compilation peut lire la clé privée et que le profil de provisionnement correspond à l’identifiant cible. En cas d’échec de la signature automatique, conservez d’abord l’erreur originale, puis contrôlez les autorisations du trousseau et les variables du pipeline.

security find-identity -v -p codesigning
ls -la ~/Library/MobileDevice/Provisioning\ Profiles
04

Nettoyer DerivedData de manière ciblée

Supprimez en priorité le répertoire correspondant au projet actuel au lieu de vider le cache de tous les projets. Avant le nettoyage, notez l’utilisation du disque et les journaux d’échec pour déterminer si le cache est réellement en cause.

du -sh ~/Library/Developer/Xcode/DerivedData
find ~/Library/Developer/Xcode/DerivedData -maxdepth 1 -type d
05

Collecter les journaux xcodebuild

Conservez la commande complète, le code de sortie et la première erreur exploitable. Avant d’envoyer un ticket, retirez les jetons du dépôt, les secrets de signature, les chemins utilisateur et les adresses internes, sans vous limiter à la dernière ligne.

set -o pipefail
xcodebuild test 2>&1 | tee build.log
printf "exit=%s\n" "$?"
Règles pour les demandes d’assistance

Permettre aux ingénieurs support de reproduire directement le problème

Une demande complète ne signifie pas envoyer toutes les données. L’objectif est de fournir une chronologie claire, le périmètre touché et des éléments techniques anonymisés.

Structure recommandée du ticket

ID du nœud
Copiez l’identifiant exact depuis la console ; ne le remplacez pas par un nom d’appareil personnalisé.
Heure de l’incident
Indiquez la date, le fuseau horaire, l’heure de début et la dernière heure connue de fonctionnement normal.
Région du nœud
Indiquez la région de la commande, et non uniquement la ville où vous vous trouvez.
Périmètre de l’impact
Précisez s’il concerne une seule commande, un pipeline, toutes les connexions ou toute l’équipe.
Étapes de reproduction
Énumérez dans l’ordre réel les commandes, les entrées, le résultat attendu et le résultat obtenu.
Vérifications effectuées
Décrivez chaque action et son résultat ; évitez d’écrire simplement « j’ai tout essayé ».

Règles d’anonymisation des journaux

  • Remplacez les jetons d’accès, mots de passe et contenus de clés privées par des marqueurs d’anonymisation explicites.
  • Vous pouvez conserver le type de plateforme de l’adresse du dépôt, mais supprimez le nom de l’organisation, le nom du projet et les paramètres d’authentification.
  • Remplacez le répertoire utilisateur par un chemin générique, tout en conservant la structure relative des dossiers.
  • Pour un problème de certificat, indiquez le nom, la période de validité et le message d’erreur, sans fournir la clé privée.
  • Pour un problème de paiement, indiquez le numéro de commande et l’identifiant du résultat, sans transmettre les informations de paiement complètes.
  • Avant toute capture, vérifiez l’historique du terminal, la barre des menus, les noms de fichiers et le contenu des notifications.
Ne pas envoyer

Clés privées, identifiants de connexion complets, jetons d’accès complets, variables d’environnement non anonymisées et fichiers de configuration contenant des paramètres sensibles.

Quand faut-il ignorer les vérifications en libre-service et envoyer immédiatement un ticket ?

En cas d’activité inhabituelle sur les identifiants, de changement inattendu de l’empreinte de l’hôte, d’écart manifeste entre l’état du nœud et sa connectivité réelle, ou de risque d’endommager davantage les preuves, cessez les tentatives répétées et envoyez immédiatement un ticket depuis la console.

Pourquoi les interventions sur un nœud doivent-elles être vérifiées par rapport à la commande ?

La réinitialisation de l’accès, la modification de l’état du nœud ou le traitement d’une configuration sensible peuvent affecter un Mac physique dédié. L’équipe support doit vérifier la session, le numéro de commande et l’autorisation afin d’éviter qu’une personne non autorisée ne demande une intervention au niveau du nœud.

Si la connexion et la compilation échouent simultanément, faut-il envoyer un ou plusieurs tickets ?

Si les deux problèmes surviennent au même moment et peuvent être liés au même état du nœud, regroupez les preuves de connexion et de compilation dans un seul ticket. Si l’heure, le nœud ou le périmètre de responsabilité diffèrent, envoyez des tickets séparés pour faciliter leur suivi indépendant.

Assistance avancée

Envoyez une demande traçable avec les résultats du diagnostic

Les commandes existantes, les connexions aux nœuds, les problèmes de compilation et les questions de facturation doivent être soumis en priorité via un ticket dans la console. Les évaluations avant-vente, déploiements d’équipe et signalements de sécurité peuvent être envoyés via la page de contact à support@hexvm.com. Toute intervention sur un nœud nécessite une vérification de l’appartenance de la commande.