...
Le CMS se lance avec Docker. Par défaut, la configuration proposée utilise PostgreSQL, mais il est aussi possible d'utiliser MySQL (voir la section MySQL ci-dessous).
https://docs.directus.io/self-hosted/docker-guide.html
Avertissement | ||
---|---|---|
| ||
Depuis sa version 10, Directus n'est plus gratuit il faut donc rester sur la version 9 https://directus.io/blog/why-we-are-relicensing-directus et https://github.com/directus/directus/releases/tag/v10.0.0 |
- Rendez-vous dans le dossier env/local/docker/directus
- Modifiez les variables d'environnement suivantes dans le fichier docker-compose.yml (optionnel pour une installation locale, passez à l'étape 3) :
- dans le conteneur
directus-db
:POSTGRESMYSQL_PASSWORD
- dans le conteneur
directus
:KEY
SECRET
ADMIN_EMAIL
(identifiant de l'admin sur la page d'administration du CMS)ADMIN_PASSWORD
(mot de passe de l'admin sur la page d'administration du CMS)DB_PASSWORD
(doit correspondre àPOSTGRESMYSQL
_PASSWORD
du conteneurdirectus-db
)
- dans le conteneur
- Lancez Directus :
Bloc de code language bash $ docker compose up --build -d
- Le CMS sera accessible sur http://localhost:8055 (à moins que vous ayez modifié la configuration), connectez-vous avec les identifiants renseignés plus tôt (
ADMIN_EMAIL
etADMIN_PASSWORD
). - S'authentifier une 1ère fois
- Dans Settings > Project Settings, passez le CMS en français (optionnel, mais les explications suivantes se font avec l'interface en français).
Pour utiliser MySQLPostgreSQL, remplacer Voici les différences dans le fichier fichier docker-compose.yml, la config de directus-db
:
...
Les collections
Les languages
Il s'agit de la 1ère collection à créer (ou importer) elle précise les langues dans lesquelles seront traduits les contenus dynamiques saisis dans directus. Pour la cohérence, il faudra prévoir également les fichiers i18n pour les traductions statiques de l'interface.
Les features
Les features représentent les services que l'on souhaite afficher dans l'application.
Ils sont caractérisés par :
- Un statut : brouillon, publié ou archivé
- Un titre, un titre cours, une description et des mots clés
- Une icône qui peut être une icone ionic ou le code d'un SVG
- Un emplacement
- burger : menu de l'app
- service : page des services
- top : dans la barre du haut
- tabs : dans la barre du bas
- Une position (absolue) + une position en fonction du rôle qui viendra supplanter la position par défaut si précisé
- Des autorisations : Liste blanche ou liste noire sur une liste de rôles autorisé ou pas à accéder au service. Attention, les rôles doivent être ceux fourni par le module user-provider
- Un type :
- Interne : Service interne à l'application indiqué par sa route dans l'app
- Externe : Lien vers une URL externe qui peut être protégée par CAS. Le cas échéant, il faudra préciser l'emplacement du ServiceTicket dans l'URL et l'URL du service pour lequel l'application devra faire la demande de ticket.
Les widgets
Les widget représentent les accroches que l'on souhaite afficher sur la page d'accueil de l'application.
Elles sont caractérisés par :
- Un statut : brouillon, publié ou archivé
- Le code du widget : Le module qui traitera l'affichage des éléments de la widget
- Un titre, un titre cours, une description et des mots clés
- Une icône qui peut être une icone ionic ou le code d'un SVG et une couleur de fond
- Une position (absolue) + une position en fonction du rôle qui viendra supplanter la position par défaut si précisé
- Des autorisations : Liste blanche ou liste noire sur une liste de rôles autorisé ou pas à accéder au service. Attention, les rôles doivent être ceux fourni par le module user-provider
- Un type :
- Interne : Service interne à l'application indiqué par sa route dans l'app
- Externe : Lien vers une URL externe qui peut être protégée par CAS. Le cas échéant, il faudra préciser l'emplacement du ServiceTicket dans l'URL et l'URL du service pour lequel l'application devra faire la demande de ticket.
Les important-news
Lesimportant news permettent de saisir des informations qui s'affichent dans la widget important-news (module important-news) en page d'accueil.
Elles sont caractérisées par :
- Un titre et un contenu
- Un bouton et un lien de redirection
- Une image et une couleur de fond
- Des autorisations : Liste blanche ou liste noire sur une liste de rôles autorisé ou pas à voir la news. Attention, les rôles doivent être ceux fourni par le module user-provider
Les social-network
Les social network permettent de saisir les liens vers les réseaux sociaux affichés dans le menu.
Les channels
Les channels sont les canaux utilisés par le système de notification. Chaque notification indique un nom "logique" de channel auquel on fait correspondre une couleur, un logo, un nom parlant et traduit dans le CMS. On peut également y indiquer une route de redirection vers un service interne à l'application.
Les pages
Les pages permettent de saisir des contenus statiques qui seront accessible depuis le menu de l'application et affiché dans l'ordre choisi sur le CMS.
Le contact us
L'objet contact us est un peu particulier cas il ne s'agit pas d'une collection mais d'une instance unique. Il permet d'indiquer le texte d'accueil du formulaire de contact ainsi que l'adresse e-mail de redirection de message postés.
Le login
L'objet login est un peu particulier cas il ne s'agit pas d'une collection mais d'une instance unique. Il permet d'indiquer le texte d'accueil du formulaire de connexion à l'application.
Pour aller plus loin
Organisation des colonnes
...