Référence rapide

Aide-mémoire Phoenix Framework

Guide de référence complet pour Phoenix en Elixir : démarrage rapide, arborescence, routage, pipelines Plug.Conn, contrôleurs et générateurs.

· Publié le

Phoenix est un framework web performant et fiable base sur le moteur BEAM d'Elixir et d'Erlang.

Démarrage rapide (Quickstart)

# Installer le gestionnaire Hex et l'archive Phoenix
mix local.hex
mix archive.install hex phx_new

# Generer une nouvelle application Phoenix avec PostgreSQL
mix phx.new my_app

# Demarrer le serveur de developpement
mix phx.server

Structure des dossiers (Application Directory Layout)

my_app/
├── assets/          # Fichiers statiques (esbuild, Tailwind CSS)
├── config/          # Configuration des environnements (dev, test, prod)
├── lib/
│   ├── my_app/      # Logique metier et schemas Ecto
│   ├── my_app.ex
│   └── my_app_web/  # Couche web (controleurs, vues, routeur)
│       ├── controllers/
│       ├── router.ex
│       └── endpoint.ex
├── priv/
│   └── repo/        # Migrations de base de donnees et fixtures
└── test/            # Suites de tests ExUnit

Contrôleurs et pipelines (Controllers & Pipelines)

Phoenix utilise Plug.Conn comme structure unifiee de transformation HTTP :

defmodule MyAppWeb.UserController do
  use MyAppWeb, :controller

  def show(conn, %{"id" => id}) do
    user = MyApp.Accounts.get_user!(id)

    conn
    |> put_status(200)
    |> render("show.html", user: user)
  end

  def api_index(conn, _params) do
    users = MyApp.Accounts.list_users()
    json(conn, %{data: users})
  end
end

Générateurs et contextes (Generators & Contexts)

# Generer un CRUD HTML complet, schema et controleur
mix phx.gen.html Accounts User users name:string email:string:unique

# Generer des ressources d'API JSON
mix phx.gen.json Catalog Product products title:string price:decimal

# Executer les migrations de base de donnees
mix ecto.migrate

References connexes

Sujets associés