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é.
- 🧭 Parcours d'apprentissage
- Liens majeurs
- Framework et librairies
- Projets open source à explorer
- Ma modeste contribution
- Vérificateurs de code
- Antisèches (Cheatsheets)
- Blogs et articles
- Newsletters
- Podcasts
- Vidéos, tutos, formations
- S'entraîner
- Déploiement
- Livres
- Extensions VSCode
- Thèmes VSCode
- Conférences
- Autres liens utiles
- Licence
- elixir-lang.org — le site officiel du langage
- phoenixframework.org — le framework web de référence
- Hex — le gestionnaire de paquets de l'écosystème Erlang / Elixir
- HexDocs — la documentation de tous les paquets Hex
- Elixir Forum — le forum de la communauté
- Livebook — blocs-notes interactifs et exécutables
- 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
- awesome-elixir — la méta-liste de référence (en anglais)
- Elixir Toolbox — annuaire de librairies et d'outils classés par catégorie
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 de Framasoft (français), en Elixir / Phoenix
- 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
- Sommaire de mes tips
- Les bases du langage (parcours de 4 Livebooks)
- 📖 Glossaire FR ↔ EN des termes Elixir / Phoenix
- Mes notes à propos d'Ecto (Ecto avancé)
- Phoenix « classique » : routing, contexts & contrôleurs
- LiveView : l'essentiel
- Lire une stacktrace / comprendre les erreurs
- OTP : GenServer & Supervisor (Livebook)
- Tests avec ExUnit
- 🗂️ Projet fil rouge : Kanban collaboratif temps réel
- Exemple d'implémentation Hook sortable.js
- Exemple d'implémentation Hook clic droit
- 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
- Synbioz — articles techniques d'une société de dev française
- Introduction à LiveView (Cryptr)
- Découvrir la librairie Ecto (Cryptr)
- Introduction à Phoenix, épisode 3 : Ecto (Synbioz)
- Elixir School — leçons structurées, partiellement traduites en français
- Dashbit — le blog de l'équipe de José Valim
- Fly.io Phoenix Files — articles Phoenix d'un hébergeur
- DockYard — blog d'une agence historique de l'écosystème
- Geoffrey Lessel — auteur du fameux livre « Phoenix in Action »
- Alex Koutmos — articles d'un dev
- Sequin — Between the Ctrl-Cs — articles d'un dev
- Hashrocket — blog d'une agence
- Underjord — le blog de Lars Wikman
- Songs About Snow — blog d'un dev
- DevTalk Elixir — forum / communauté
- Build a REST API with Elixir & Phoenix (LogRocket)
- Prefixed base62 UUIDv7 object IDs with Ecto (Dan Schultzer)
- Phoenix Channels : réduire la consommation mémoire avec
ERL_FULLSWEEP_AFTER(Guzmán)
Pour le moment rien à proposer.
- 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
- ElixirStatus — annoncez votre nouveau projet, article de blog ou release
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
- BEAM Radio — autour de la BEAM au sens large (Elixir, Erlang, Gleam…)
- Elixir School — tout n'est pas encore disponible en français
- Xavki — une mine d'or de vidéos
- ElixirMax — une chaine YouTube dédiée à Elixir / Phoenix
- Un échange qui donne envie d'essayer
- Pragmatic Studio — formation qualitative
- Formation Phoenix de 5h — vraiment bien
- Backend Stuff — excellente chaine réalisée par Jacob Luetzow
- José Valim présente Bumblebee (ML)
- Build a MVP with Elixir — formation Phoenix autour d'un projet
- Tutos et formations sur Gumroad
- 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)
- Guide officiel des releases (
mix release) — construire une release auto-portante, la base de tout déploiement moderne - Déploiement dans le guide Phoenix — la référence pour mettre une app Phoenix en production
- Configuration à l'exécution avec
runtime.exs— lire les variables d'environnement au démarrage de la release - Fly.io — déployer Phoenix — hébergeur très utilisé dans la communauté, support clustering natif
- Gigalixir — PaaS spécialisé Elixir (hot upgrades, clustering, sans limite de sommeil)
- Préparer une app Phoenix au déploiement avec les releases (Miguel Cobá) — tutoriel pas à pas
- Elixir in Action — le livre le plus apprécié (3e édition, déc. 2023)
- Programming Phoenix — un des plus appréciés à propos de Phoenix
- Phoenix in Action — attention, ancienne version de Phoenix
- Ebook 100 Elixir tips (Miguel Cobá)
- ElixirBooks — liste de livres Elixir maintenue par la communauté
- Elixir (Eyrolles) — le premier et le seul en français sur le langage pour le moment
- SQL : Au cœur des performances (Markus Winand) — incontournable sur l'indexation et les performances SQL ; transversal, très utile derrière Ecto
- ElixirLS — support Elixir et débogueur
- hex.pm IntelliSense — autocomplétion des dépendances Hex
- gettext — utile pour les fichiers de localisation
- Tailwind CSS IntelliSense — IntelliSense dédié à Tailwind CSS
- SVG Preview — prévisualiser les SVG
- Database Client — client DB dans VSCode
- Git Stash — gérer ses stashs
- Project Manager — basculer rapidement entre ses projets
- Rainbow CSV — coloration syntaxique dédiée aux CSV
- Regex Snippets — snippets regex
- Remote SSH — manipuler vos projets distants
- Remote Explorer — se connecter à une machine distante
- Pack de langue française — VSCode en français
- Dark+ Elixir — thème dark dédié Elixir
- Elixir Theme
- Dracula
- Darcula for Elixir
- Theme Abyss
- Yarra Valley
- 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
- Oh My Zsh / Git cheatsheet — raccourcis ZSH
- 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
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.
