Formation Elixir

Formation Elixir : maîtrisez le langage, les processus et OTP en 3 jours. Pour développeur·euse·s expérimenté·e·s découvrant l'écosystème Elixir.

Formation Elixir

Description

Cette formation Elixir vous permettra de prendre en main le langage et sa philosophie fonctionnelle, puis de découvrir OTP pour concevoir des systèmes concurrents et tolérants aux pannes.

Pendant 3 jours, vous apprendrez à :

  • écrire du code Elixir idiomatique en tirant parti du pattern matching et de l'immutabilité,
  • concevoir des applications concurrentes robustes grâce aux processus et à la supervision OTP,
  • adopter une philosophie "let it crash" pour construire des systèmes qui se réparent d'eux-mêmes plutôt que de tout défendre en amont.

Vous repartirez avec les bases nécessaires pour être autonome sur un projet Elixir/OTP en production.

Public

Cette formation s'adresse aux développeur·euse·s expérimenté·e·s, quel que soit leur langage principal, souhaitant découvrir Elixir et les fondamentaux d'OTP pour construire des systèmes concurrents et résilients.

Formation IA-friendly

Cette formation étant IA friendly, les sessions sont adaptées aux développeur·se·s qui souhaitent utiliser de l'IA pour coder. Les exercices sont conçus pour tirer parti des IDEs agentiques. Le·a formateur·rice vous accompagnera sur les bonnes pratiques du développement assisté par IA.

Les objectifs

  • Comprendre les principes de la programmation fonctionnelle appliqués à Elixir
  • Maîtriser la syntaxe, le pattern matching et les structures de données immuables
  • Écrire des fonctions récursives et manipuler des collections avec Enum et Stream
  • Créer et faire communiquer des processus légers
  • Concevoir un GenServer pour gérer un état applicatif
  • Construire un arbre de supervision simple et comprendre la philosophie "let it crash"

Pré-requis

  • Expérience de développement dans au moins un autre langage (objet, impératif ou fonctionnel)
  • Être à l'aise avec les concepts de base de la programmation (fonctions, boucles, structures de données)
  • Ordinateur portable à apporter

Le programme de la formation Elixir

Jour 1 — Fondamentaux du langage Elixir

  • Découverte de l'écosystème
    • Erlang, la BEAM et la philosophie d'Elixir
    • Installation, iex, Mix et structure d'un projet
  • Types et structures de données
    • Types de base, atomes, tuples, listes, maps
    • Immutabilité : implications sur l'écriture du code
  • Pattern matching
    • Le = comme opérateur de correspondance, pas d'affectation
    • Déstructuration de tuples, listes et maps
    • Clauses de fonction multiples et case/cond
  • Fonctions et pipe
    • Fonctions nommées, anonymes, fonctions d'arité multiple
    • L'opérateur pipe |> pour chaîner les transformations

Mises en pratique :

  • Écrire des fonctions utilisant le pattern matching sur différentes structures de données
  • Refactorer une suite d'appels imbriqués en pipeline avec l'opérateur |>

Jour 2 — Programmation fonctionnelle et introduction à la concurrence

  • Récursion et collections
    • Récursion terminale et accumulateurs
    • Module Enum : map, filter, reduce
    • Module Stream pour le traitement paresseux
  • Modules et organisation du code
    • Modules, protocoles, structs
    • Gestion des erreurs idiomatique ({:ok, _} / {:error, _})
  • Introduction aux processus
    • Le modèle acteur : processus légers, isolation mémoire
    • spawn, envoi et réception de messages
    • Différence fondamentale avec les threads classiques

Mises en pratique :

  • Implémenter un traitement de données avec Enum et Stream
  • Créer des structs et un protocole pour modéliser un domaine métier
  • Faire communiquer deux processus par passage de messages

Jour 3 — OTP : GenServer et supervision

  • GenServer
    • Callbacks init, handle_call, handle_cast, handle_info
    • Gérer un état applicatif de façon sûre et concurrente
  • Supervision
    • Philosophie "let it crash" : ne pas défendre contre chaque erreur
    • Arbres de supervision, stratégies de redémarrage
    • Applications OTP : structure et démarrage
  • Tests
    • Introduction à ExUnit
    • Tester un GenServer

Mises en pratique :

  • Concevoir un GenServer gérant un état (ex. compteur, cache, file d'attente)
  • Superviser plusieurs processus et observer leur redémarrage automatique après un crash provoqué
  • Écrire des tests ExUnit pour valider le comportement du GenServer

Bonus/Options

En fonction du temps disponible et du niveau des apprenants les modules suivants peuvent être aussi étudiés :
- Aperçu de Phoenix pour la construction d'API ou d'interfaces web
- Introduction aux GenServers distribués et à la communication entre nœuds

Télécharger le programme

Formateur

Jean PARPAILLON

Jean Parpaillon est ingénieur logiciel depuis 2004. Développeur puis CTO, il a construit son expertise au cœur de contextes exigeants : innovation technologique, startups, laboratoires de recherche et environnements à forte contrainte industrielle. Depuis 2018, il exerce comme consultant indépendant et s’est volontairement spécialisé sur une niche pointue : Elixir, qu’il utilise pour concevoir des systèmes distribués robustes, performants et maintenables.

Son parcours est profondément marqué par le DevOps et l’industrialisation des systèmes. Jean a piloté le déploiement d’outils d’automatisation, de CI/CD et d’infrastructures complexes, avec une approche très pragmatique : comprendre les besoins réels des équipes, sécuriser la production et rendre les architectures réellement exploitables dans la durée.

Cette vision se prolonge dans son engagement open source : il a présidé le consortium OW2 de 2017 à 2023, où il a travaillé sur des méthodologies d’industrialisation de projets Open Source, en réunissant des PME, des laboratoires, des universités et des grands groupes.

Depuis 2024, Jean transmet son expertise en formation. Son approche pédagogique alterne théorie claire, mise en pratique immédiate et fil rouge final permettant d’intégrer l’ensemble des technologies abordées : Ansible, Docker, Terraform, Git, Bash, Kubernetes, mais aussi Elixir et l’embarqué avec Buildroot. Ses formations s’adressent aux équipes qui veulent comprendre en profondeur ce qu’elles déploient… et pourquoi !

FAQ

Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié Qualiopi, ce qui permet la prise en charge par des organismes comme Pôle emploi, votre OPCO ou encore le CPF (Compte Personnel de Formation) pour certaines formations.

Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?

Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.

Voici une journée type :

  • 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
  • 9h30 : la formation commence
  • 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
  • 14h : reprise de la formation
  • 18h : fin de la journée

8 raisons de participer à une formation Human Coders

  • Satisfaction client élevée : Un taux de statisfaction de 4,6/5 depuis 2012 (sur 1904 sessions réalisées). 99% des participants se disent satisfaits de nos formations
  • Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
  • Catalogue de formations complet : 267 formations au catalogue, de quoi vous accompagner sur tout vos projets
  • Écosystème dynamique : Nous accompagnons les dev depuis 14 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
  • Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
  • Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
  • Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012