Une machine par tâche

Un Mac dans le cloud
pour vos tâches clés

Confiez vos tâches macOS à un Mac physique dédié Apple Silicon. Build, signature et distribution, tests d’inférence ou campagnes de régression ponctuelles : chaque usage a sa configuration et sa durée de location. Inutile de tout faire tourner sur l’ordinateur de développement de votre équipe.

MacFTP vous fournit une machine physique complète, et non une machine virtuelle. Vous disposez de macOS avec son interface graphique et sa ligne de commande. Vous gérez vos projets, dépendances et tâches ; nous vous livrons un Mac dans le cloud auquel vous pouvez vous connecter.

À partir de $21.2/jour, avec paiement anticipé à la journée, à la semaine, au mois ou au trimestre. Tous les prix sont facturés en USD.

Flux de tâches

Définissez le livrable avant de choisir le nœud

Ces exemples illustrent des workflows ; ils ne correspondent pas à des commandes en cours.

  1. Envoyer le code → créer une archive

    Runner auto-hébergé · environnement stable

    .xcarchive
  2. Exporter le build → distribuer en bêta

    Vérifier les certificats · téléverser avec fastlane

    .ipa
  3. Charger le modèle → consigner les résultats

    MLX / Core ML · suivi de la mémoire

    Journal d’essai
  4. Lancer la régression → exporter le rapport

    Système cible · tests sur simulateur

    .xcresult
4 nœuds · 3 configurations

Singapour, Tokyo, Séoul et Hong Kong. La disponibilité des nœuds est indiquée en temps réel dans le portail.

Intégration continue

Libérez les postes de développement des builds

Idéal pour les équipes iOS/macOS qui poussent du code régulièrement, travaillent sur plusieurs branches actives ou souhaitent isoler les builds de publication du développement quotidien.

Pour commencer, optez pour FTP M4 Plus · M4 / 24GB / 512GB, à $198.6/mois en location mensuelle. Une machine dédiée conserve le cache des dépendances et la configuration de l’environnement, pour éviter de tout préparer à nouveau à chaque build.

Enregistrez le nœud comme Runner auto-hébergé GitHub Actions ou GitLab Runner, puis utilisez des labels pour envoyer les tâches macOS sur la machine appropriée. Chaque branche peut envoyer ses propres tâches. Pour exécuter plusieurs builds lourds simultanément, prévoyez plusieurs nœuds et gérez la file d’attente : une machine dédiée ne signifie pas un nombre illimité de tâches parallèles.

Signature et livraison

Transformez une archive en version distribuable

Pour les publications sur l’App Store, les bêta-tests TestFlight et les équipes qui répètent les étapes de signature et de téléversement.

La distribution s’enchaîne généralement avec le build : nous recommandons donc le FTP M4 Plus. Pour une publication concentrée sur une courte période, choisissez la location à la semaine à $107.2/semaine. Si vous entretenez un pipeline de publication en continu, envisagez plutôt la location mensuelle. Vérifiez d’abord la durée de vos tâches : inutile de choisir une configuration supérieure uniquement pour le téléversement.

Pour les équipes qui ciblent le marché japonais, le nœud de Tokyo peut être un bon point de départ pour s’aligner sur les habitudes de collaboration locales. L’emplacement du nœud ne garantit pas la vitesse de téléversement et ne change pas les délais d’examen ou de traitement des apps. Avant de choisir, testez SSH, l’affichage à distance et le transfert des artefacts depuis votre réseau de travail.

Vérifiez d’abord les dates d’expiration des certificats ainsi que la correspondance entre les profils d’approvisionnement et la configuration d’exportation, puis lancez l’archive et le téléversement avec fastlane. Une publication est terminée lorsque la commande de téléversement a réussi et que la version cible est visible, pas seulement lorsque le terminal renvoie un code de sortie positif.

Inférence et validation

Validez le modèle avant d’investir sur la durée

Pour l’inférence locale avec MLX, la validation de modèles Core ML et les expériences applicatives qui nécessitent un véritable environnement Apple Silicon.

Nous recommandons le FTP M4 Pro · M4 Pro / 64GB / 2TB, à $162.2/semaine en location hebdomadaire. Les 64GB de mémoire unifiée offrent davantage de marge commune au modèle, à l’environnement d’exécution et au contexte. Cela ne signifie pas pour autant que tous les modèles ou toutes les méthodes de quantification tiendront en mémoire.

Commencez par fixer la version du modèle, la précision de quantification, la longueur du contexte et la taille des lots, puis préparez un jeu d’entrées reproductible. Consignez séparément le démarrage à froid, le délai avant la première sortie, la vitesse de génération soutenue et le pic de mémoire. Ne tirez pas de conclusion sur la capacité à partir d’une seule entrée courte.

La compatibilité de MLX et Core ML dépend du modèle et de la version des outils utilisés. Vérifiez d’abord les opérateurs et la chaîne de conversion sur un petit échantillon avant de lancer des tâches longues. À la fin des tests, exportez l’inventaire de l’environnement, les résultats et les commandes de reproduction pour que vos conclusions ne restent pas confinées à une session interactive.

Usage ponctuel

Un environnement dédié pour vos tests de régression

Pour tester un nouveau système, effectuer des régressions sur simulateur, réaliser des tâches macOS temporaires ou travailler sur un projet ponctuel sans modifier votre poste quotidien.

Pour des vérifications légères, commencez avec le FTP M4 Core · M4 / 16GB / 256GB, à $21.2/jour. Vérifiez d’abord la compatibilité entre les versions de Xcode, du SDK et du système ciblées. Pour lancer plusieurs simulateurs en parallèle ou travailler sur un projet volumineux, envisagez le FTP M4 Plus.

En télétravail, vous pouvez utiliser l’interface graphique de macOS pour gérer les fichiers du projet, ou exécuter des scripts avec SSH. La fluidité dépend de votre réseau local, du routage et des paramètres d’affichage. Commencez par une courte location pour tester le confort d’utilisation, puis prolongez-la si nécessaire. Pour les workflows qui exigent des périphériques locaux, une faible latence audio ou vidéo, ou une connexion à un appareil physique, vérifiez séparément les conditions de connexion.

Avant de modifier le système ou la chaîne d’outils, exportez le projet et les réglages importants, puis vérifiez que les versions requises sont disponibles. À la fin des tests de régression, transférez les rapports, captures d’écran et journaux d’erreur vers le stockage de votre équipe. Le renouvellement de la location ne remplace pas une sauvegarde : transférez vos données avant son échéance.

Transférer un projet existant

Mac local → Mac dans le cloud : trois étapes de validation

Ne transférez pas tout le disque d’emblée. Commencez par synchroniser un projet fonctionnel, recréez ensuite la chaîne d’outils, puis connectez l’automatisation. Vérifiez chaque étape afin de savoir où chercher en cas de problème.

01 · Synchronisation

Transférez le code et les fichiers indispensables

Transférez le projet avec rsync ou SFTP. Excluez DerivedData, les répertoires de build temporaires et les caches régénérables. Conservez les fichiers de verrouillage des dépendances, les ressources de test et la configuration du projet.

À vérifier : comparez l’identifiant du commit et les sommes de contrôle des fichiers clés, puis vérifiez le répertoire de travail, les autorisations et l’espace disque disponible. Lors du premier transfert, utilisez le mode simulation pour examiner les différences.

rsync -azn \
  --exclude 'DerivedData/' \
  --exclude 'build/' \
  ./project/ \
  "$MAC_HOST:~/work/project/"

Une fois le résultat de la simulation vérifié, retirez n. Utilisez comme valeur de MAC_HOST l’alias de connexion SSH qui vous a été fourni. Cet exemple ne supprime aucun fichier déjà présent à distance.

02 · Recréation de l’environnement

Alignez les versions avant d’importer les identifiants

Installez les dépendances Homebrew, Xcode et Command Line Tools indiqués dans la documentation du projet. Vérifiez le répertoire des outils de développement, puis importez les certificats et profils d’approvisionnement par un canal sécurisé.

À vérifier : comparez les versions de Xcode, Swift et des dépendances sur votre poste et sur le nœud. Lancez un build sans identifiants de publication pour commencer par écarter les différences d’environnement de base.

xcode-select -p
xcodebuild -version
swift --version
brew bundle check

brew bundle check nécessite Homebrew et doit être exécuté dans le répertoire contenant le Brewfile du projet. La commande vérifie les dépendances ; elle n’importe pas les éléments de signature.

03 · Connexion à la CI

Validez une exécution manuelle avant d’automatiser

Exécutez manuellement les commandes du projet sur le nœud, puis enregistrez un Runner en suivant la documentation de votre plateforme. Configurez l’accès au dépôt, les labels de tâches, le répertoire de travail et les droits d’accès aux identifiants.

À vérifier : déclenchez un commit de test et confirmez que la tâche s’exécute sur le nœud prévu, que ses journaux sont consultables et que les artefacts sont récupérables. Vérifiez le mode de fonctionnement du service après avoir fermé la session interactive.

uname -m
xcodebuild -list
launchctl list

Vérifiez les cibles de build depuis le répertoire du projet. L’enregistrement et le fonctionnement continu du Runner dépendent de la version de la plateforme. Une exécution dans une session interactive ne suffit pas à confirmer que le service est prêt.

Comment savoir si la migration est terminée

Un même commit peut être exécuté plusieurs fois ; les dépendances et les éléments de signature sont traçables ; les résultats peuvent être conservés hors du nœud ; les identifiants peuvent être révoqués. La durée du transfert dépend du volume du projet, du réseau et des téléchargements d’outils : aucun délai fixe n’est garanti.

Selon votre rôle

Formulez un besoin que l’équipe pourra valider

Les exemples ci-dessous illustrent des besoins liés à différents rôles. Ils ne constituent ni des témoignages de clients réels ni une promesse de résultat.

« Je veux que les builds de publication n’utilisent plus l’ordinateur d’un collègue. À chaque livraison, je dois pouvoir retrouver l’archive d’un même commit, ses journaux et la version de la chaîne d’outils. »

Responsable iOS · Exemple de besoin CI

« Je veux comparer plusieurs configurations de modèle sur la même machine, consigner la mémoire, la qualité des résultats et les conditions d’exécution, puis décider si je prolonge les tests. »

Ingénieur en apprentissage automatique · Exemple de besoin d’inférence

« Je veux préparer un environnement séparé pour les tests de régression d’une nouvelle version, récupérer le rapport une fois les tests terminés et ne pas transformer mon environnement de développement quotidien en terrain d’expérimentation. »

Développeur indépendant · Exemple de besoin ponctuel
Avant de commander

Choisissez la configuration selon la charge, la durée selon le projet

Ces recommandations sont un point de départ, pas une garantie de performances. Vérifiez la mémoire, le stockage et la file de tâches avec votre projet, puis décidez si vous devez prolonger la location ou ajouter un nœud. Les trois configurations sont proposées à Singapour, Tokyo, Séoul et Hong Kong.

Cas d’usage et configurations recommandées ; prix en USD, facturés en une fois pour la durée choisie
Cas d’usage Configuration et caractéristiques Durée et prix conseillés À vérifier d’abord
CI/CD iOS FTP M4 Plus
M4 / 24GB / 512GB
Au mois · $198.6/mois Ressources utilisées par un build, taille de la file d’attente, cache des dépendances et conservation des artefacts.
Distribution App Store et TestFlight FTP M4 Plus
M4 / 24GB / 512GB
À la semaine · $107.2/semaine Certificats et profils d’approvisionnement, configuration d’exportation, autorisation de téléversement et résultat du traitement.
Tests MLX / Core ML FTP M4 Pro
M4 Pro / 64GB / 2TB
À la semaine · $162.2/semaine Compatibilité du modèle, quantification, longueur du contexte et pic de mémoire.
Régression ponctuelle et télétravail FTP M4 Core
M4 / 16GB / 256GB
À la journée · $21.2/jour Chaîne d’outils ciblée, besoins en simulateurs, interaction à distance et export des données.

Besoin de plus de capacité : l’extension du stockage et le branchement en parallèle Thunderbolt 5 sont des options supplémentaires ; elles ne modifient pas le catalogue de configurations de base. Consultez les offres complètes pour connaître les prix, configurations compatibles et modalités de facturation.

Vérifiez les limites : les tâches qui nécessitent un Mac Intel, la possession permanente d’un ordinateur ou un nœud absent du catalogue ne correspondent pas directement aux recommandations ci-dessus. Dressez la liste de vos besoins en outils et en connexion, puis contactez-nous par e-mail ou via un ticket dans le portail.

Paiement et mise à disposition : seuls USDT-TRC20 et Visa / Mastercard / Amex (via Stripe) sont acceptés. Tous les paiements sont en USD. Les moyens de paiement et les nœuds disponibles sont indiqués en temps réel dans le portail.

Commencez par une tâche et livrez un résultat concret

Préparez les versions des outils de votre projet, ses besoins en ressources et la durée de location souhaitée, puis choisissez une configuration et un nœud. Inutile de refaire tout votre pipeline d’un coup : commencez par exécuter une tâche reproductible.