Lancer Northstack en local
Installez et démarrez chaque application avec Node.js et Yarn, un terminal par application.
Pour le pack Full Stack
Avant de commencer : installez Node.js 22.13 ou une version 22 plus récente, ou Node.js 24.11 ou plus, et lancez corepack enable une fois (sur Node.js 25 et plus, qui n'incluent plus Corepack, lancez d'abord npm install -g corepack). Aucun serveur de base de données n'est nécessaire.
Ouvrez chaque terminal là où les commandes ci-dessous l'attendent : dans northstack-full-stack pour le full stack, ou à côté du dossier de l'application pour le pack Backend API.
Avant de commencer : installez Node.js 22.9 ou plus et lancez corepack enable une fois (sur Node.js 25 et plus, qui n'incluent plus Corepack, lancez d'abord npm install -g corepack).
Ouvrez le terminal à côté du dossier de l'application, là où vous avez extrait le ZIP.
| Application | Dossier | Adresse |
|---|---|---|
| API | back-end | localhost:8000Local |
| Tableau de bord de l'espace de travail | dashboard | localhost:3031Local |
| Site public | website | localhost:3030Local |
Démarrez d'abord l'API : le tableau de bord y lit toutes ses données, et le formulaire de contact et le paiement des licences du site l'appellent.
Démarrez l'API
Installez et configurez
.env.examplefonctionne tel quel sur votre ordinateur : SQLite dans./database.sqlite, l'API sur le port8000, et le site (http://localhost:3030) et le tableau de bord (http://localhost:3031) autorisés à l'appeler.Terminalcorepack enable cd back-end yarn install cp .env.example .envUn problème ?Créez la base de données
yarn seedcréedatabase.sqliteet ses tables, les rôles et paramètres de la plateforme, l'espace de travail d'exemple Forma Studio (12 projets avec leurs tableaux, 8 membres, 2 invitations, un abonnement Pro avec trois factures, une clé d'API, l'activité des dernières semaines et trois conversations avec l'assistant), un second espace de travail pour son propriétaire, et 732 organisations derrière les chiffres de la plateforme. Il se termine en affichant les comptes à utiliser pour se connecter. Les dates suivent le jour où vous lancez le seed. Le relancer sur une base qui a déjà des comptes n'ajoute ni compte ni espace de travail, et redonne leurs permissions aux rôles intégrés de la plateforme.Terminaldansback-endyarn seedDémarrez le serveur
Terminaldansback-endyarn devRésultat attendu: localhost:8000/
Un problème ?api/ healthLocal répond avec "status":"ok"et"database":"up".
Démarrez l'API
Installez et configurez
.env.examplefonctionne tel quel sur votre ordinateur : SQLite dans./database.sqlite, l'API sur le port8000, et le site (http://localhost:3030) et le tableau de bord (http://localhost:3031) autorisés à l'appeler.Terminalcorepack enable cd northstack-backend yarn install cp .env.example .envUn problème ?Créez la base de données
yarn seedcréedatabase.sqliteet ses tables, les rôles et paramètres de la plateforme, l'espace de travail d'exemple Forma Studio (12 projets avec leurs tableaux, 8 membres, 2 invitations, un abonnement Pro avec trois factures, une clé d'API, l'activité des dernières semaines et trois conversations avec l'assistant), un second espace de travail pour son propriétaire, et 732 organisations derrière les chiffres de la plateforme. Il se termine en affichant les comptes à utiliser pour se connecter. Les dates suivent le jour où vous lancez le seed. Le relancer sur une base qui a déjà des comptes n'ajoute ni compte ni espace de travail, et redonne leurs permissions aux rôles intégrés de la plateforme.Terminaldansnorthstack-backendyarn seedDémarrez le serveur
Terminaldansnorthstack-backendyarn devRésultat attendu: localhost:8000/
Un problème ?api/ healthLocal répond avec "status":"ok"et"database":"up".
Chaque compte du seed se connecte avec le mot de passe NorthstackDemo26! : owner@northstack.example, admin@northstack.example, member@northstack.example, billing@northstack.example, platform@northstack.example et support@northstack.example.
Démarrer le tableau de bord de l'espace de travail
Dans un deuxième terminal :
Installez et configurez
Le
.envcopié pointe le tableau de bord vers l'API sur le port8000, et ses mises à jour de permissions en direct vers le même serveur.Terminalcd dashboard yarn install cp .env.example .envDémarrez-le et connectez-vous
Terminaldansdashboardyarn devRésultat attendu: localhost:3031Local ouvre le formulaire de connexion. Connectez-vous avec
Un problème ?owner@northstack.exampleet le mot de passeNorthstackDemo26!.
Démarrer le tableau de bord de l'espace de travail
L'API ne fait pas partie de ce pack. Seul, le tableau de bord fonctionne sur ses données d'exemple intégrées : démarrez-le sans fichier .env.
L'installer et le démarrer sur les données d'exemple
Sans
.env,NEXT_PUBLIC_API_BASE_URLest vide et chaque écran répond depuis les données d'exemple de votre navigateur.Terminalcorepack enable cd northstack-dashboard yarn install yarn devRésultat attendu: localhost:3031Local ouvre le formulaire de connexion avec un avis Sample data en bas. N'importe quel mot de passe permet de se connecter :
Un problème ?owner@northstack.exampleouvre l'espace de travail du propriétaire, et chaque e-mail du seed ouvre son rôle.Le relier à l'API
Avec l'API Northstack lancée sur
http://localhost:8000/api, arrêtezyarn dev, copiez les paramètres d'exemple et redémarrez-le. Si votre API tourne ailleurs, définissezNEXT_PUBLIC_API_BASE_URL(avec/api) etNEXT_PUBLIC_WEBSOCKET_BASE_URL(sans) dans.envavec son adresse.Terminaldansnorthstack-dashboardcp .env.example .env yarn devRésultat attendu: Connectez-vous avec
Un problème ?owner@northstack.exampleet le mot de passeNorthstackDemo26!, qu'une API initialisée accepte. L'avis Sample data a disparu.
Démarrez le site public
Dans un troisième terminal :
Installez et configurez
Chaque valeur du
.envcopié est facultative : il pointe le site vers l'API sur le port8000et le tableau de bord sur3031.Terminalcd website yarn install cp .env.example .envDémarrez l'application
Terminaldanswebsiteyarn devRésultat attendu: localhost:3030Local ouvre le site en anglais ; l'arabe est sur
Un problème ?/ar.
Démarrez le site public
L'API ne fait pas partie de ce pack. Seul, le site fonctionne sur ses données d'exemple intégrées : démarrez-le sans fichier .env.
L'installer et le démarrer sur les données d'exemple
Sans
.env,NEXT_PUBLIC_API_BASE_URLest vide : le formulaire de contact et le paiement des licences répondent dans votre navigateur et n'envoient rien.Terminalcorepack enable cd northstack-website yarn install yarn devRésultat attendu: localhost:3030Local ouvre le site avec un avis Sample data en bas de chaque page ; l'arabe est sur
Un problème ?/ar.Le relier à l'API
Avec l'API Northstack lancée sur
http://localhost:8000/api, arrêtezyarn dev, copiez les paramètres d'exemple et redémarrez-le. Si votre API tourne ailleurs, définissezNEXT_PUBLIC_API_BASE_URLdans.envavec son adresse,/apicompris.Terminaldansnorthstack-websitecp .env.example .env yarn devRésultat attendu: L'avis Sample data a disparu, et le formulaire de contact et le paiement atteignent votre API.
Un problème ?
Autres ports
Sans Docker, les ports se règlent dans les fichiers. Les scripts dev et start du site dans package.json passent -p 3030 ; pour un autre port, lancez yarn next dev -p 3040 (ou yarn next start -p 3040 après yarn build). Le tableau de bord lit PORT dans son .env (PORT=3041), et démarre sur 3031 sans lui. Avec l'API, ajoutez l'adresse d'un frontend déplacé au CORS_ORIGIN du .env de l'API, et définissez-la là-bas comme WEBSITE_URL pour le site, ou comme DASHBOARD_URL et FRONTEND_URL pour le tableau de bord ; réglez le NEXT_PUBLIC_SITE_URL ou le NEXT_PUBLIC_BASE_URL du frontend en conséquence. Pour déplacer l'API, définissez PORT, PUBLIC_API_URL et PUBLIC_MEDIA_URL dans son .env avec le même nombre, ainsi que NEXT_PUBLIC_API_BASE_URL dans les deux frontends (et le NEXT_PUBLIC_WEBSOCKET_BASE_URL du tableau de bord).
Build de production
Les mêmes dossiers, construits une fois puis démarrés. Commencez par régler le .env de l'API pour la production : avec NODE_ENV=production, l'API ne modifie jamais les tables au démarrage, et elle refuse de démarrer tant que JWT_SECRET est vide ou encore à la valeur de l'exemple, ou tant que CORS_ORIGIN est vide.
NODE_ENV=production
JWT_SECRET=paste-the-generated-secret-here
CORS_ORIGIN=http://localhost:3030,http://localhost:3031
FRONTEND_URL=http://localhost:3031
DASHBOARD_URL=http://localhost:3031
WEBSITE_URL=http://localhost:3030
PUBLIC_API_URL=http://localhost:8000
PUBLIC_MEDIA_URL=http://localhost:8000/mediaGénérez le secret avec node -e "console.log(require('crypto').randomBytes(48).toString('hex'))". Puis, dans le dossier de l'API, construisez-la, créez ses tables une fois avec les données d'exemple, et démarrez-la. yarn seed:prod est le yarn seed compilé.
yarn build
yarn seed:prod
yarn start:prodSur un serveur, partir à vide
yarn seed:prod charge les comptes d'exemple avec leur mot de passe publié : utilisez-le uniquement sur votre propre ordinateur. Sur un serveur, lancez plutôt yarn admin:create:prod : les tables et votre propre admin de la plateforme, sans données d'exemple. Après une mise à jour, yarn schema:prod met les tables à niveau avec le nouveau code.
Build de production des frontends
Dans le dossier de chaque frontend, arrêtez yarn dev, construisez une fois et démarrez. Le site sert sur 3030 et le tableau de bord sur 3031.
yarn build
yarn startLes frontends compilent leurs valeurs NEXT_PUBLIC_* au moment du build : relancez donc yarn build après avoir modifié .env. Avant de déployer quoi que ce soit en public, lisez le guide de déploiement.
Repartir de données de démonstration neuves
Arrêtez l'API, puis, dans le dossier de l'API, supprimez le fichier de la base de données et recréez-la avec les données de démonstration. Cela supprime tout ce que vous avez créé.
rm -f database.sqlite* && yarn seedDans PowerShell :
Remove-Item database.sqlite*; yarn seedyarn reset vide chaque table et les conserve, et yarn drop supprime chaque table ; lancez yarn seed après l'un ou l'autre pour remplir de nouveau la base. Sur MySQL, où il n'y a pas de fichier à supprimer, repartez de zéro avec :
yarn reset
yarn seedCommandes
| Tâche | API | Tableau de bord | Site |
|---|---|---|---|
| Installer | yarn install | yarn install | yarn install |
| Serveur de développement | yarn dev (8000) | yarn dev (3031) | yarn dev (3030) |
| Build de production | yarn build | yarn build | yarn build |
| Démarrage en production | yarn start:prod | yarn start | yarn start |
| Charger les données d'exemple | yarn seed (compilé : yarn seed:prod) | inutile | inutile |
| Créer ou mettre à jour les tables, sans données | yarn schema (compilé : yarn schema:prod) | inutile | inutile |
| Le premier admin de la plateforme, sans données d'exemple | yarn admin:create (compilé : yarn admin:create:prod) | inutile | inutile |
| Vider chaque table | yarn reset | inutile | inutile |
| Supprimer chaque table | yarn drop | inutile | inutile |
| Vérification des types | inclus dans yarn build | yarn typecheck | yarn typecheck |
| Lint | yarn lint | yarn lint | yarn lint |