Toutes nos formations
génie logiciel

Guix : maîtriser la reproductibilité logicielle

Comment s’assurer qu’une équipe de développement travaille bien dans le même environnement logiciel ? Comment être capable de redéployer précisément la pile logicielle qui a été testée ? Voici des questions auxquelles répond Guix, un logiciel libre permettant le déploiement reproductible. © Inria / Photo G. Scagnelli

Session:

Aucune session disponible actuellement.

Contactez-nous !

Objectifs

Guix est une boîte à outil qui peut s’utiliser comme un « gestionnaire de paquets » (comme apt, dnf ou pip), comme un gestionnaire d’environnement (similaire à VirtualEnv, mais pas pour tout langage) ou même comme une distribution Linux. Sa particularité est de permettre de déclarer précisément le contenu d’un environnement logiciel et de le reproduire à l’identique sur des machines différentes et à des instants différents.

Cette formation a pour objectif de vous permettre de démarrer avec Guix et de l’intégrer dans votre démarche de développement et de déploiement. Nous verrons en particulier comment partager des environnements au sein d’une équipe de développement et comment déployer de manière robuste des logiciels.

À l’issue de cette formation, vous serez en mesure de

  • utiliser Guix pour la gestion fonctionnelle de paquets,
  • manipuler profils et transactions, de créer des environnements isolés et reproductibles avec Guix shell,
  • gérer les canaux, mises à jour et instantanés de l’écosystème logiciel (via guix pull et gux time-machine).

 

Pré-requis

  • Familiarité avec GNU/Linux et l’utilisation du terminal et de la ligne de commande.

Programme

Démarrer : l’installation de Guix

Rechercher et installer des paquets

  • interface de gestion de paquets ;
  • notion de profil d’utilisation ;
  • notion de transaction pour les opérations d’installation, mise à jour, etc. ;
  • possibilité de retour en arrière (rollback) ;
  • l’entrepôt /gnu/store et les liens symboliques.

Création d’environnements avec « guix shell »

  • notion d’environnement temporaire ;
  • interface de « guix shell » ;
  • exemples de création d’environnements logiciels ;
  • les variables d’environnement et les pièges à éviter ;
  • création d’un environnement dans un conteneur ;
  • personnalisation de l’environnement avec des transformations de paquets ;
  • déclaration dans l’environnement dans une fichier manifeste

Mise à jour, canaux et épinglage

  • et les numéros de version ? aperçu du graphe de dépendance des paquets et de ce qu’il représente mise à jour avec « guix pull » ;
  • obtenir davantage de logiciels via des canaux supplémentaires ;
  • savoir quelle version de Guix et des canaux est utilisée ;
  • « voyager dans le temps » avec « guix time-machine » pour reproduire un ensemble figé des cana

Intervenant(s)

  • Ludovic Courtès

    ingénieur de recherche Inria

    Ludovic Courtès est ingénieur de recherche au sein du service expérimentation et développement du centre Inria de l’université de Bordeaux. Il consacre son travail à la reproductibilité des logiciels utilisés dans les expériences scientifiques.

    ©Inria/coll.part.

Les prochaines sessions

1

Informations pratiques

  • Durée : 1 journée (6h).
  • Horaires : 9h-12h / 13h30-16h30.
  • Délais d’accès : les inscriptions s’arrêtent 15 jours avant la date affichée.
  • Informations sur l’admission : l’admission au cours fait l’objet d’une sélection préalable. Le candidat doit répondre aux critères des pré-requis indiqués ci-dessus. 

  • Format : toutes les sessions en dehors de l’intra-entreprise se déroulent en distanciel.

  • Modalités pédagogiques : la formation est délivrée en distanciel, en langue française avec les supports en anglais. Le cours peut se dérouler en anglais si tous les participants sont anglophones. La taille du groupe : 12 personnes maximum.

  • Privatisation du module (session intra-entreprise) : à partir de 5 personnes. Nous contacter via le formulaire de contact.

  • Moyens pédagogiques : le support du cours sera fourni aux participants. La formation s’appuie sur des méthodes pédagogiques actives et participatives, combinant apports théoriques, études de cas concrets et mises en pratique afin de favoriser l’acquisition durable des compétences.

  • Modalités d’évaluation et de suivi : l’évaluation est assurée par les quizz. Une attestation de formation est délivrée à la fin du parcours.

  • Accessibilité – handicap : Inria s’engage à garantir l’accessibilité de ses formations à distance et en présentiel aux personnes en situation de handicap. Plus de détails

 

À propos des tarifs

  • Tarif de lancement : 650 € par personne
  • Tarifs dégressifs à partir de 5 personnes (-10% de 5 à 9 inscrits, -20% plus de 10 inscrits)
  • Tarif dégressif pour les entreprises membres du pôle Aktantis (-20%)
  • Modalités de financement : fonds propres

Soutien de l’Europe

Ce module se déploie avec le concours du projet européen EuroCC2 No 951732 et fait partie du catalogue du Centre national de compétence HPC.HPDA.IA