# Installer OpenPlatform avec Node.js et PostgreSQL, Docker ou Docker Compose

> Démarrez OpenPlatform à la main, avec l’image de Docker Hub ou avec Docker Compose, ce que fait le premier démarrage et ce qu’il faut configurer juste après la connexion.

Framework: openplatform
Product: OpenPlatform (openplatform@5)
Language: fr
Content-SHA256: 83ab4e2168a5d3b6d60c0409c3ceadc00c6725b1d9e7285e813392f4352daf57
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

OpenPlatform a besoin de la dernière version de **Node.js** et d’une base de données **PostgreSQL**. Il y a trois façons de le démarrer, toutes tirées du README du dépôt. N’exécutez **pas** `database.sql` vous-même : OpenPlatform utilise ce script en interne au premier démarrage.

## À la main

1. Installez Node.js et PostgreSQL et créez une base de données vide pour OpenPlatform.
2. Téléchargez le [code source](https://github.com/totaljs/openplatform).
3. Installez les dépendances à la racine de l’application :

```bash
npm install
```

4. Mettez la chaîne de connexion dans le fichier `config` (le fichier contient la ligne `database : postgresql://user:pass@localhost:5432/database` comme modèle, et une ligne `database (env) : DATABASE` qui la lit dans la variable d’environnement `DATABASE`).
5. Démarrez-le (le script `start` de `package.json` exécute `node index.js 8000`) :

```bash
node index.js
```

6. Ouvrez `http://127.0.0.1:8000` et, **avant toute chose, ouvrez les réglages et configurez la plateforme** (le README marque cette étape comme importante ; les réglages sont dans [réglages et base de données](/en/openplatform/settings-and-database/)).

## Docker Hub

```bash
docker pull totalplatform/openplatform
docker run --env DATABASE='postgresql://user:pass@hostname/database' -p 8000:8000 totalplatform/openplatform
```

## Docker Compose

```bash
git clone https://github.com/totaljs/openplatform.git
cd openplatform
docker compose up
```

## Ce que fait le premier démarrage

Quand la base de données n’a pas encore de tables OpenPlatform (elle cherche la table `cl_config` dans le schéma `op`), l’application charge `database.sql` en remplaçant ses marqueurs par des valeurs qu’elle génère : l’identifiant de l’installation, le nom du cookie, les secrets et sels, les jetons, ainsi que le premier utilisateur et le premier groupe. Elle charge ensuite la configuration et démarre l’authentification (`definitions/init.js`). Avec la variable d’environnement `DATABASE` (Docker), elle attend trois secondes avant, pour que la base de données puisse être levée. Dans les deux cas le serveur est mis en pause (`PAUSESERVER('Database')`) jusqu’à ce que la base de données soit prête.

## La première connexion

Le README donne le compte par défaut :

```text
login : info@totaljs.com
password : admin
```

Connectez-vous, **changez ce mot de passe** (le portail a l’action de compte pour cela) et configurez les réglages. Rappelez-vous la règle du README : chaque application que vous ajoutez doit être affectée à un groupe, sinon personne ne la voit ([groupes et permissions](/en/openplatform/groups-and-permissions/)).
