# Ce qu’est OpenPlatform : un portail pour toutes vos applications web

> OpenPlatform est le portail d’entreprise de Total.js qui exécute, intègre et gère plusieurs applications web derrière une seule connexion, avec utilisateurs, groupes, permissions et notifications.

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

OpenPlatform est un **portail prêt à l’emploi pour vos applications web**. Vos équipes se connectent une fois, voient les applications qu’elles ont le droit d’utiliser et les ouvrent depuis un seul endroit ; les administrateurs gèrent utilisateurs, groupes, permissions et notifications depuis un seul écran. C’est un logiciel open source sous **licence MIT**, écrit avec Total.js 5 et PostgreSQL, et l’application est le dépôt [totaljs/openplatform](https://github.com/totaljs/openplatform) (version 5).

Cette section décrit OpenPlatform (révision `5a54a85` du dépôt).

## Ce qu’il vous apporte

- **Une seule connexion pour de nombreuses applications.** Une application peut être l’une de vos apps Total.js ou n’importe quelle application web : OpenPlatform l’ouvre avec un jeton signé et l’application demande à OpenPlatform qui est l’utilisateur (voir [comment une app se connecte](/en/openplatform/how-an-app-connects/)).
- **Utilisateurs, groupes et permissions.** Un utilisateur appartient à des groupes ; un groupe décide quelles applications l’utilisateur voit et quelles valeurs de permission chaque application reçoit (voir [groupes et permissions](/en/openplatform/groups-and-permissions/)).
- **Notifications.** Les applications envoient des notifications à leurs utilisateurs par un petit point d’accès HTTP ; le portail les affiche et peut envoyer par e-mail un résumé des non lues (voir [notifications et API publique](/en/openplatform/notifications-and-public-api/)).
- **Des sessions que l’utilisateur contrôle.** Chaque utilisateur peut voir et supprimer ses propres sessions et changer son mot de passe.
- **Un écran de configuration** pour les administrateurs (`/setup/`) : utilisateurs, groupes, applications, réglages, retours et un tableau de bord avec les visiteurs.

## Comment le projet est organisé

OpenPlatform est une application Total.js avec trois plugins et quelques contrôleurs :

| Partie | Ce qu’elle fait | Source |
|---|---|---|
| plugin `login` | la page de connexion, `POST /api/login/` et `POST /api/reset/` | `plugins/login/` |
| plugin `portal` | le portail pour les utilisateurs connectés (`GET /*`) | `plugins/portal/` |
| plugin `setup` | l’écran d’administration et son API sous `/setup/` | `plugins/setup/` |
| API du compte | actions `/api/` pour la session, le compte, les apps, les notifications et les sessions de l’utilisateur | `controllers/api.js`, `schemas/account.js` |
| protocole des apps | `GET /verify/`, `POST /notify/`, `GET /session/` pour les applications | `controllers/verify.js` |
| API publique | `GET /users/`, envois d’images et le `SOCKET /sync/` de plusieurs instances | `controllers/api.js`, `controllers/socket.js` |

Le reste de la section : [l’installer](/en/openplatform/install-openplatform/), [enregistrer une application](/en/openplatform/register-an-app/), [réglages et base de données](/en/openplatform/settings-and-database/). La documentation officielle se trouve sur [docs.totaljs.com/openplatform](https://docs.totaljs.com/openplatform/), et le client natif que Total.js 5 inclut pour le protocole Open Platform est dans la recette [OPENCLIENT](/en/total5/openclient-protocol/).
