GitHub - nseaSeb/ElixirPhoenixRessources: Partage de ressources si possible en Français, une sorte d'awesome Elixir · GitHub
Skip to content

About

Partage de ressources si possible en Français, une sorte d'awesome Elixir

Resources

Contributing

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

Ressources Elixir / Phoenix

Licence MIT PRs bienvenues

L'idée ici, au fur et à mesure de mon apprentissage du langage est de regrouper des ressources à propos d'Elixir / Phoenix principalement en Français ainsi que certaines de mes notes. Une sorte d'awesome Elixir.

🧭 Nouveau ou perdu ? Suivez le Parcours d'apprentissage : toutes mes notes ordonnées du débutant à l'avancé, avec les Livebooks exécutables en un clic.

✍️ Le blog : articles Elixir / Phoenix en français — le contenu francophone qui manque à l'écosystème. (flux RSS)

Sommaire

Liens majeurs

Erlang et la BEAM

Elixir tourne sur la machine virtuelle d'Erlang et lui emprunte sa bibliothèque standard : dès qu'on lit une trace d'erreur ou qu'on diagnostique une application en production, on retombe sur du code et de la documentation Erlang. Ces ressources comblent le trou.

Contribuer

Ce dépôt est ouvert, et l'envie est d'amorcer une petite communauté Elixir francophone. Il n'existe presque pas de contenu Elixir vivant en français : les rares articles datent d'il y a des années, certains ont disparu du web avec leur hébergeur, et la rubrique « newsletters en français » ci-dessous est vide faute de candidat. Ce n'est pas faute de développeurs francophones — c'est faute d'endroit où publier.

Quatre façons d'aider, de la plus petite à la plus grande :

  • corriger une coquille — chaque article du blog a un lien « Proposer une correction » qui ouvre l'éditeur GitHub sur le bon fichier ;
  • ajouter une ressource à cette liste, surtout en français ;
  • proposer un sujet d'article dans une issue — dire ce qui manque est déjà une contribution ;
  • écrire un article pour le blog, avec votre nom dessus.

Tout est détaillé dans le guide de contribution : la marche à suivre, les deux pièges techniques à connaître, comment prévisualiser en local, et une liste de sujets recherchés.

Pas besoin d'être expert : un article écrit par quelqu'un qui vient de comprendre une chose est souvent meilleur que celui d'un expert, parce qu'il se souvient encore de ce qui coinçait.

Communauté

Framework et librairies

  • Liste de librairies — ma sélection commentée (dates, JSON, Ecto, email, jobs, ML…)
  • Petal — composants basés sur Tailwind CSS, boilerplate pro intéressant
  • Ash Framework — modélisation de domaine déclarative
  • Hologram — framework full-stack qui tourne par-dessus Phoenix : on écrit le frontend interactif en Elixir (compilé en JavaScript), une alternative à LiveView / au JS
  • design-patterns-in-elixir — les design patterns classiques du GoF implémentés en Elixir
  • Elixir Toolbox — annuaire de librairies et d'outils classés par catégorie

Projets open source à explorer

De vraies applications à lire pour voir Elixir « en conditions réelles ».

  • Plausible Analytics — l'alternative open source à Google Analytics, un projet phare Elixir / Phoenix
  • Mobilizon — plateforme d'événements décentralisée (français), en Elixir / Phoenix ; le dépôt a quitté le namespace Framasoft
  • Changelog.com — le site du podcast The Changelog, codebase Phoenix idéale pour apprendre
  • Firezone — gestion d'accès réseau sécurisé (VPN), interface d'admin en Elixir / Phoenix
  • Livebook — les blocs-notes interactifs eux-mêmes : un superbe exemple de LiveView à grande échelle
  • Supabase Realtime — serveur WebSocket (broadcast, presence, écoute des changements Postgres) écrit en Elixir / Phoenix
  • Anoma — implémentation de référence du protocole Anoma (systèmes distribués, consensus, P2P), quasi 100 % Elixir
  • Xberg — framework d'extraction de contenu de documents (96+ formats) ; cœur en Rust avec un binding Elixir

Ma modeste contribution

Vérificateurs de code

  • Credo — analyse statique / linter, l'incontournable de tout projet
  • Sobelow — analyse de sécurité dédiée aux projets Phoenix
  • Dialyxir — Dialyzer pour Elixir, probablement le plus utilisé pour le typage
  • Gradient — typage graduel
  • TypeCheck — vérifications de types à l'exécution
  • eqWAlizer — le vérificateur de types de WhatsApp
  • Gradualizer — typage graduel pour la BEAM
  • Types graduels ensemblistes — le système de types que l'équipe cœur intègre au langage depuis Elixir 1.17, documenté officiellement ; à lire avant de choisir un vérificateur tiers

Style et bonnes pratiques

  • elixir_style_guide — le guide de style communautaire de référence
  • Elixir Code Smells — catalogue des « odeurs de code » propres à Elixir, avec exemples et refactorings
  • Elixir Refactorings — catalogue de refactorings du même auteur, complémentaire du précédent

Antisèches (Cheatsheets)

Blogs et articles

En français

En anglais — blogs à suivre

En anglais — articles choisis

Newsletters

En français

Pour le moment rien à proposer.

En anglais

  • Elixir LibHunt (Awesome Elixir Weekly) — incontournable : le récap hebdomadaire des projets et articles de l'écosystème
  • Elixir Radar — la newsletter hebdomadaire de référence
  • ElixirWeekly — le récap hebdomadaire de ce qui passe sur ElixirStatus et le web
  • Elixir Merge — éditions très courtes, deux liens commentés à chaque fois, rythme quotidien annoncé
  • ElixirStatus — annoncez votre nouveau projet, article de blog ou release

Podcasts

En anglais :

  • Thinking Elixir — actualité de l'écosystème et interviews, hebdomadaire
  • Elixir Wizards — interviews thématiques organisées par saisons
  • Elixir Outlaws — discussions informelles entre devs ; arrêté, dernier épisode en décembre 2023, les archives restent excellentes
  • BEAM Radio — autour de la BEAM au sens large (Elixir, Erlang, Gleam…)

Vidéos, tutos, formations

En français

En anglais

S'entraîner

  • Exercism — piste Elixir — exercices progressifs corrigés, avec mentorat gratuit
  • Advent of Code — se prête très bien à une résolution en Livebook
  • Codewars — katas avec classement communautaire
  • 30 Days of Elixir — une traversée du langage en 30 exercices progressifs (bases → OTP → macros)
  • Elixir Koans — apprendre le langage en réparant des tests qui échouent (mix meditate)

Déploiement

Observabilité et production

Une application qui tourne bien en local et qu'on ne sait pas observer en production reste une inconnue. La BEAM est instrumentée nativement, et l'écosystème s'est standardisé autour de telemetry : toutes les librairies sérieuses émettent leurs événements dans ce format.

  • telemetry — la brique d'instrumentation commune à tout l'écosystème ; Phoenix, Ecto, Oban et Finch émettent leurs événements par là
  • La télémétrie dans Phoenix — le guide officiel qui montre comment brancher des métriques sur ces événements
  • Phoenix LiveDashboard — un tableau de bord temps réel livré avec Phoenix : processus, mémoire, tables ETS, requêtes, le tout sans dépendance externe
  • PromEx — expose les métriques telemetry vers Prometheus, avec des tableaux de bord Grafana prêts à importer
  • Sentry — remontée et agrégation des exceptions, le client officiel pour Elixir
  • OpenTelemetry pour Erlang et Elixir — le traçage distribué standardisé, quand une requête traverse plusieurs services
  • recon — la boîte à outils de diagnostic d'un nœud en production, écrite pour être sûre à exécuter sur un système chargé
  • observer_cli — l'équivalent de :observer dans un terminal, indispensable quand on est connecté en SSH sans interface graphique

Sécurité et authentification

  • mix phx.gen.auth — le générateur d'authentification livré avec Phoenix : il écrit le code dans votre application plutôt que de le cacher dans une dépendance, c'est le point de départ recommandé
  • Sobelow — l'analyse statique de sécurité dédiée à Phoenix, déjà citée plus haut dans les vérificateurs de code
  • mix_audit — compare vos dépendances à la base des vulnérabilités connues, à lancer dans l'intégration continue
  • Groupe de travail sécurité de l'ERLEF — les recommandations de la fondation, dont un guide de bonnes pratiques pour les applications de la BEAM
  • Les librairies correspondantes (Ueberauth, Assent, Argon2, Bodyguard, LetMe) sont détaillées dans la liste de librairies

Nerves et l'embarqué

Le même langage et le même modèle de supervision, mais sur un Raspberry Pi plutôt que sur un serveur : Nerves construit une image système minimale qui démarre directement sur votre application Elixir.

Autres langages de la BEAM

  • Gleam — un langage typé statiquement qui compile vers la BEAM et vers JavaScript ; il s'interface avec les librairies Erlang et Elixir existantes
  • awesome-gleam — la liste de référence de son écosystème

Livres

En anglais

En français

Éditeurs

  • Zed — éditeur écrit en Rust, rapide, avec collaboration intégrée. Son extension Elixir gère cinq serveurs de langage au choix — ElixirLS par défaut, mais aussi Expert, Dexter (pensé pour les grosses bases de code), Next LS et Lexical — ainsi que les gabarits EEx et HEEx. La documentation explique aussi comment brancher le serveur Tailwind sur les fichiers HEEx pour l'autocomplétion des classes.
  • elixir-tools.nvim — le greffon Neovim de référence : il installe et pilote les serveurs de langage, et ajoute les commandes mix courantes
  • intellij-elixir — le greffon Elixir pour toute la famille JetBrains (IntelliJ IDEA, RubyMine, WebStorm, PyCharm)
  • emacs-elixir — le mode majeur Elixir historique pour Emacs ; depuis Emacs 29, elixir-ts-mode est livré d'origine et suffit, à compléter par eglot ou lsp-mode pour l'autocomplétion

Extensions VSCode

  • ElixirLS — support Elixir et débogueur ; toujours le choix par défaut aujourd'hui
  • Expert — le futur serveur de langage officiel (fusion d'ElixirLS, Lexical et Next LS) ; encore en alpha (v0.1.9, août 2026), pas encore publié sur le marketplace VSCode — à surveiller
  • hex.pm IntelliSense — autocomplétion des dépendances Hex
  • gettext — utile pour les fichiers de localisation
  • Tailwind CSS IntelliSense — IntelliSense dédié à Tailwind CSS

Extensions VSCode annexes

Thèmes VSCode

Conférences

  • Code Sync — un endroit où retrouver les conférences Elixir / BEAM
  • ElixirConf — la conférence Elixir de référence (US)
  • ElixirConf EU — son pendant européen

Autres listes awesome

Cette liste-ci est francophone et volontairement sélective ; celles-ci sont exhaustives et en anglais, à consulter quand on cherche une librairie précise.

  • awesome-elixir — la méta-liste historique, classée par catégorie ; très complète côté librairies, mais sa rubrique « Resources » n'a plus été rafraîchie depuis longtemps
  • Awesome Elixir by LibHunt — la même matière, mais triée par activité récente, ce qui aide à repérer les projets abandonnés
  • awesome-erlang — son équivalent côté Erlang ; utile pour le fond, mais plus mise à jour depuis 2022
  • awesome-elixir-cqrs — spécialisée dans le CQRS et l'event sourcing, autour de Commanded

Autres liens utiles

  • Elixir Jobs — le tableau d'offres d'emploi de l'écosystème
  • Oh My Zsh / Git cheatsheet — raccourcis ZSH
  • awesome-ratatui — la liste des applications et librairies TUI construites avec Ratatui : beaucoup d'outils en ligne de commande utiles au quotidien d'un dev, tous domaines confondus
  • AppFlowy — prise de note à la Notion, open source, installable en local / serveur / docker ; blocs de code avec coloration Elixir et interface en français
  • AFFiNE — alternative sérieuse à Notion, incluant un panneau de dessin à la Figma

Licence

Ce dépôt est publié sous licence MIT : libre à vous de le réutiliser, le partager et l'adapter.

La connaissance grandit quand on la partage.

About

Partage de ressources si possible en Français, une sorte d'awesome Elixir

Resources

Contributing

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors