Démarrer avec Encore.ts
Instructions
Installer Encore CLI
# macOS
brew install encoredev/tap/encore
# Linux/WSL
curl -L https://encore.dev/install.sh | bash
# Windows (PowerShell)
iwr https://encore.dev/install.ps1 | iex
Créer une nouvelle application
# Interactif - choisir parmi les modèles
encore app create my-app
# Ou démarrer avec une application vierge
encore app create my-app --example=ts/hello-world
Structure du projet
Une application Encore.ts minimale :
my-app/
├── encore.app # Configuration de l'application
├── package.json # Dépendances
├── tsconfig.json # Configuration TypeScript
├── encore.service.ts # Définition du service
└── api.ts # Points de terminaison API
Le fichier encore.app
// encore.app
{
"id": "my-app"
}
Ce fichier marque la racine de votre application Encore. L'id est l'identifiant unique de votre application.
Définir un service
Créez encore.service.ts pour définir un service :
// encore.service.ts
import { Service } from "encore.dev/service";
export default new Service("my-service");
Créer votre première API
// api.ts
import { api } from "encore.dev/api";
interface HelloResponse {
message: string;
}
export const hello = api(
{ method: "GET", path: "/hello", expose: true },
async (): Promise<HelloResponse> => {
return { message: "Hello, World!" };
}
);
Exécuter votre application
# Démarrer le serveur de développement
encore run
# Votre API est maintenant disponible à http://localhost:4000
Ouvrir le tableau de bord local
# Ouvre le tableau de bord de développement local
encore run
# Puis visitez http://localhost:9400
Le tableau de bord affiche :
- Tous vos services et points de terminaison
- Journaux de requête/réponse
- Requêtes de base de données
- Traces et spans
Commandes CLI courantes
| Commande | Description |
|---|---|
encore run |
Démarrer le serveur de développement local |
encore test |
Exécuter les tests |
encore db shell <db> |
Ouvrir un shell psql vers une base de données |
encore gen client |
Générer du code client API |
encore app link |
Lier à une application Encore Cloud existante |
Ajouter une base de données
// db.ts
import { SQLDatabase } from "encore.dev/storage/sqldb";
const db = new SQLDatabase("mydb", {
migrations: "./migrations",
});
Créez une migration :
-- migrations/1_create_table.up.sql
CREATE TABLE items (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL
);
Étapes suivantes
- Ajouter d'autres points de terminaison (voir la skill
encore-api) - Ajouter l'authentification (voir la skill
encore-auth) - Ajouter de l'infrastructure comme Pub/Sub, des tâches cron (voir la skill
encore-infrastructure) - Déployer sur Encore Cloud :
encore app linkpuisgit push encore