Études de cas Intuitive Machines
+

Intuitive Machines orchestre un alunissage historique avec GitLab

Outil de collaboration stratégique
Assurance qualité grâce aux pipelines
Accélération du développement
Secteur Science et technologie
Employés 400
Emplacement Houston, Texas (États-Unis)
Solution

GitLab Premium

Vous souhaitez découvrir ce que GitLab Ultimate peut offrir à votre équipe ?

Essayer GitLab Ultimate gratuitement

Fondée en 2013, la société Intuitive Machines a évolué d'un groupe de réflexion à une entreprise aérospatiale qui fournit l'infrastructure et les services spatiaux nécessaires à l'exploration commerciale du système solaire.

En 2024, sous contrat avec la NASA, elle est devenue la première entreprise américaine en 50 ans (et la première entreprise privée) à réussir l'atterrissage d'un vaisseau intact sur la Lune. Citée parmi les 100 entreprises les plus influentes de 2024 par Time Magazine, Intuitive Machines est à la pointe de l'exploration lunaire.

Nous avons construit un vaisseau spatial de de A à Z en cinq ans. Sans l'adoption de GitLab, cet exploit aurait été impossible. L'atterrisseur n'aurait jamais pu fonctionner, ou du moins pas dans les délais impartis et avec une équipe de cette taille.
- James Blakeslee, Software Lead, Intuitive Machines

Lorsque la société Intuitive Machines a remporté un contrat de 77 millions de dollars auprès de la NASA en 2019 pour construire, lancer et faire atterrir un vaisseau près du pôle sud lunaire, son équipe de développement logiciel savait qu'elle n'avait que cinq ans pour créer tout le code nécessaire pour communiquer, naviguer, contrôler et piloter l'engin. Or, cette tâche était impossible à accomplir avec une chaîne d'outils fragmentée et chronophage. L'équipe avait besoin d'une plateforme DevSecOps complète qui lui permette de créer et de déployer des logiciels sécurisés plus rapidement, de respecter les délais impartis et de devenir la première entreprise américaine à orchestrer un alunissage depuis l'époque légendaire des missions Apollo au début des années 1970. L'entreprise a alors décidé de travailler avec GitLab et, ensemble, ils ont marqué l'histoire.

La préparation du projet mène à l'adoption de GitLab

Estimant qu'elle avait une bonne chance de remporter le contrat de création d'un atterrisseur lunaire pour la NASA en 2019, Intuitive Machines a adopté GitLab plusieurs mois avant de recevoir la confirmation officielle, afin de pouvoir démarrer le projet immédiatement.

« Le projet d'atterrisseur lunaire dépassait de loin tous nos projets précédents », explique James Blakeslee, responsable logiciel pour Intuitive Machines. « Il s'agissait d'une occasion unique d'innover en partant de zéro. Au vu du travail qui nous attendait et de la composition de notre équipe logicielle, nous savions que nous avions besoin d'une plateforme capable de gérer tous nos défis logiciels. »

De plus, il était important de disposer d'une application unique où toute l'équipe, soit 40 à 50 développeurs, pourrait travailler, bénéficier d'une meilleure visibilité et collaborer sur des projets communs. Chacun devait pouvoir participer à n'importe quel projet et contribuer à toutes les tâches nécessaires. « Chaque membre d'équipe, quel que soit le projet ou le processus logiciel lui incombant, devait pouvoir travailler sur une plateforme uniforme, complète et conviviale », poursuit James Blakeslee. « La plateforme de GitLab nous a non seulement fourni cette flexibilité collaborative, mais elle contenait aussi déjà les outils dont nous avions besoin. Nous nous sommes lancés sans hésiter. »

Le défi de construire un vaisseau spatial de A à Z

Hormis certains frameworks hérités qui étaient déjà en place, Intuitive Machines a dû créer tous les logiciels de l'atterrisseur, nommé Odysseus ou « Odie ». Il s'agissait notamment de créer des systèmes pour le contrôle au sol, la simulation, les contrôleurs de vol (par exemple la navigation et les communications), sans oublier les fonctions d'atterrissage.

« Notre vaisseau fonctionne pour une simple raison : nous l'avons testé à l'aide d'un simulateur des dizaines de milliers ou des centaines de milliers de fois avant le décollage », explique James Blakeslee. « Si le logiciel utilisé par le centre de contrôle ne fonctionne pas, il est impossible d'accéder aux données de télémétrie ou de communiquer avec le vaisseau. Les opérateurs sont alors totalement aveugles. Tous ces éléments sont essentiels à la réussite de la mission », conclut-il. « GitLab nous a permis de concevoir tous ces logiciels clés. Notre tâche aurait été impossible sans cette plateforme. »

Odysseus a décollé le 15 février 2024. À la place d'un équipage humain, il transportait des charges utiles scientifiques de nature commerciale, notamment du matériel d'observation radio, des caméras stéréo ainsi qu'un système de navigation Doppler Lidar. Il a atterri sur la Lune sept jours après son lancement, rejoignant grâce à cet exploit un club très fermé comprenant la Russie, les États-Unis, la Chine, l'Inde et le Japon.

« Nous avons construit un vaisseau spatial de bout en bout en cinq ans. Sans l'adoption de GitLab, cet exploit aurait été impossible. L'atterrisseur n'aurait jamais pu fonctionner, ou du moins pas dans les délais impartis et avec une équipe de cette taille », explique James Blakeslee.

Apport de corrections logicielles en cours de vol grâce aux pipelines CI

Le travail de l'équipe DevSecOps n'a pas pris fin au moment du décollage.

Le premier vol d'un vaisseau est en effet considéré comme expérimental, car les ingénieurs s'attendent à détecter des problèmes après le lancement qui seront ensuite classés par ordre de priorité. Odysseus n'a pas échappé à la règle, « malgré la sévérité de nos tests, il nous a tout de même réservé quelques petites surprises après son décollage », explique James Blakeslee. « Il nous a donc fallu corriger le logiciel en cours de vol... Avec des délais plus serrés... Des enjeux plus élevés... L'atmosphère était pour le moins tendue. »

En raison de la chronologie imposée par la mécanique orbitale et les contraintes thermiques, des délais spécifiques devaient être respectés pour l'envoi des correctifs à l'atterrisseur, à la fois en cours de vol et après l'alunissage. Pour pouvoir créer et déployer rapidement ces correctifs (y compris les correctifs pour les télémètres laser, les communications et la navigation), l'équipe s'est énormément appuyée sur les pipelines d'intégration continue (CI) de GitLab pour garantir que les correctifs n'introduisaient aucun défaut dans le système.

Selon James Blakeslee, les pipelines CI permettent aux équipes d'examiner le logiciel et d'effectuer des contrôles d'assurance qualité bien plus rapidement que dans le cadre d'un processus manuel. Les développeurs d'Intuitive Machines ont pu créer leurs propres tests de régression, d'intégration, d'assurance qualité et d'acceptation pour les exécuter dans les pipelines. Tous ces tests leur permettaient de mieux comprendre le code modifié et de garantir que les correctifs n'introduisaient pas de nouveaux défauts, qu'ils étaient compatibles avec les logiciels utilisés au sol et qu'ils corrigeaient bien les problèmes qu'ils étaient censés résoudre.

« Nous avons tout inspecté dans les pipelines CI », explique James Blakeslee, en précisant que l'exécution des pipelines est 20 fois plus rapide avec GitLab. « Il est capital de fournir de bons correctifs à l'engin. Dans le cas contraire, comme vous pouvez l'imaginer, c'est tout le projet qui s'écroule. Le sort de la mission étant en jeu, il était essentiel d'utiliser un outil de vérification. Dans notre cas, cet outil était GitLab. »

Ces pipelines CI ont également aidé les équipes DevSecOps à créer des correctifs lors de l'alunissage inattendu du vaisseau à un angle qui a entraîné de graves problèmes de communication. Les équipes ont dû rapidement développer plusieurs correctifs logiciels, les vérifier à l'aide des pipelines CI et restaurer rapidement les systèmes de communication, afin d'envoyer les correctifs à quelque 400 000 kilomètres pour que l'atterrisseur fonctionne à nouveau.

La suite : un nouvel atterrisseur lunaire et un véhicule d'exploration du sol lunaire

Grâce au chargement des corrections dans les systèmes de l'atterrisseur, Odysseus a opéré sur la surface lunaire pendant sept jours, soit la durée prévue de la mission. Forte de cette réussite, l'équipe d'Intuitive Machines prépare aujourd'hui le lancement d'un deuxième atterrisseur à la fin de l'année 2024. Au vu du succès de leur processus de développement avec Odysseus, James Blakeslee confirme que l'équipe prévoit d'utiliser la même configuration.

« Avec moins d'un an entre ces deux missions lunaires, nous devons impérativement nous appuyer sur ce que nous avons déjà créé pour être prêts à temps », explique-t-il. « Le nouvel vaisseau étant une version améliorée de celui de la première mission, nous allons conserver les mêmes outils et ne prévoyons en aucun cas de changer notre plateforme DevSecOps. On ne change pas une combinaison gagnante ! »

Intuitive Machines, qui espère que sa mission lunaire se poursuivra au-delà de ses deux atterrisseurs, est l'une des trois sociétés choisies par la NASA pour mener des études d'un an axées sur le développement d'un design préliminaire et d'un prototype de « LTV » (Lunar Terrain Vehicle, ou véhicule d'exploration du sol lunaire). Ce LTV sera déployé lors des missions Artemis, au cours desquelles des astronautes seront à nouveau envoyés sur la Lune. La NASA choisira une ou plusieurs des trois sociétés pour construire un LTV, avant de tester ses performances et sa sécurité. Le véhicule retenu devra être capable de travailler pendant au moins 10 ans sur la surface lunaire à des températures extrêmes, de transporter deux astronautes et d'utiliser un bras robotisé. La première mission Artemis devrait être lancée en 2029.

« Si la NASA nous sélectionne pour construire le LTV, il est très probable que nous concevions les systèmes avec GitLab, car cette solution a très bien fonctionné pour nous », explique James Blakeslee. « Il nous suffirait alors de faire évoluer le groupe DevSecOps déjà en place. GitLab nous a permis un atterrissage réussi sur la Lune, pour la première fois en plus de 50 ans pour les États-Unis. Ses performances sont incontestables. Mon intention est donc de continuer à utiliser l'écosystème que nous avons utilisé pour ce projet. »

L'intelligence artificielle au service de l'accélération du développement

Lorsque le deuxième atterrisseur lunaire touchera la surface de la Lune, les équipes DevSecOps de la société pourront prendre le temps pour évaluer la façon dont elles utilisent GitLab. Elles auront également l’opportunité d'ajouter plus de fonctionnalités à la plateforme, telles que l'exploitation des runners GitLab pour gérer la taille croissante des équipes et des charges de travail sur leurs pipelines.

Selon James Blakeslee, les fonctionnalités d'intelligence artificielle de GitLab Duo sont également très attendues par les équipes.

« La révolution de l'IA est à nos portes et l'utilisation de GitLab Duo semble être une avancée naturelle pour nous », explique-t-il. « Je pense que nous profiterons non seulement des fonctionnalités de suggestion de code et de complétion de code, mais que cela nous permettra aussi de répondre aux questions sur les vulnérabilités et le code. Nous sommes toujours à la recherche de moyens d'accélérer, mais aussi d'améliorer l'expérience de développement dans son ensemble. »

« L'IA est un véritable accélérateur de développement », continue-t-il. « Il est impératif de la maîtriser pour rester compétitif. C'est pourquoi je considère GitLab Duo comme la prochaine étape. »

GitLab : un élément clé pour l'exploration lunaire

Un écart de 52 ans sépare la mission Apollo de 1972 et l'alunissage réussi d'Odysseus par Intuitive Machines. Ce premier alunissage commercial américain est une étape historique, qui place désormais Intuitive Machines comme l'un des leaders dans le domaine de l'exploration spatiale.

« Nous avons canalisé tout notre travail dans un événement très spécifique avec une marge d'erreur très fine », reprend James Blakeslee. « Sans une assurance qualité logicielle exceptionnelle et l'automatisation qui l'accompagne, nous n'aurions pas pu y parvenir. Je n'ai aucun doute que si je revenais en arrière et choisissais d'autres outils de développement, notre logiciel aurait été en retard, défectueux, et nous n'aurions probablement pas pu terminer ce projet. »

« Sans GitLab, il aurait été impossible de construire un vaisseau en cinq ans. Cette solution nous a permis de marquer l'histoire », conclut-il. « Elle représente un atout réel pour le succès de notre entreprise. »

À la date de publication, toutes les informations et les personnes mentionnées dans l'étude de cas sont exactes.

Ready to get started?

See what your team could do with a unified DevSecOps Platform.