Développement · 16 min read · Oct 14, 2025

Comment déployer Ghost CMS sur Rocky Linux 9

Ghost est une plateforme de blogging open-source qui vous aide à créer un blog au design professionnel. Elle a été lancée en 2013 comme alternative à WordPress, car ce dernier devenait trop complexe. Elle est écrite en JavaScript et est alimentée par la bibliothèque Node.js.

Ce tutoriel explorera comment installer Ghost CMS en utilisant Nginx et MySQL sur un serveur alimenté par Rocky Linux 9. Nous utiliserons le serveur Nginx pour héberger le blog et le certificat SSL Let’s Encrypt pour sécuriser notre installation.

Prérequis

  • Un serveur exécutant Rocky Linux 9.
  • Un utilisateur non-root avec des privilèges sudo.
  • Un nom de domaine entièrement qualifié (FQDN) pointant vers votre serveur. Pour nos besoins, nous utiliserons ghost.example.com comme nom de domaine.
  • Assurez-vous que tout est à jour. $ sudo dnf update
  • Installez les paquets utilitaires de base. Certains d’entre eux peuvent déjà être installés. $ sudo dnf install wget curl nano unzip yum-utils -y

Étape 1 - Configurer le pare-feu

La première étape consiste à configurer le pare-feu. Rocky Linux utilise Firewalld Firewall. Vérifiez l’état du pare-feu.

$ sudo firewall-cmd --state
running

Le pare-feu fonctionne avec différentes zones, et la zone publique est celle par défaut que nous allons utiliser. Listez tous les services et ports actifs sur le pare-feu.

$ sudo firewall-cmd --permanent --list-services

Il devrait afficher la sortie suivante.

cockpit dhcpv6-client ssh

Wiki.js a besoin des ports HTTP et HTTPS pour fonctionner. Ouvrez-les.

$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --add-service=https --permanent

Rechargez le pare-feu pour appliquer les modifications.

$ sudo firewall-cmd --reload

Étape 2 - Installer Nginx

Rocky Linux 9 est livré avec une version plus ancienne de Nginx. Vous devez télécharger le dépôt officiel de Nginx pour installer la dernière version.

Créez et ouvrez le fichier /etc/yum.repos.d/nginx.repo pour créer le dépôt officiel de Nginx.

$ sudo nano /etc/yum.repos.d/nginx.repo

Collez le code suivant dedans.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.

Installez le serveur Nginx.

$ sudo dnf install nginx -y

Vérifiez l’installation.

$ nginx -v
nginx version: nginx/1.22.1

Activez et démarrez le serveur Nginx.

$ sudo systemctl enable nginx --now

Vérifiez l’état du serveur.

$ sudo systemctl status nginx
? nginx.service - nginx - serveur web haute performance
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
     Active: active (running) since Tue 2022-10-25 08:27:47 UTC; 2s ago
       Docs: http://nginx.org/en/docs/
    Process: 1650 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 1651 (nginx)
      Tasks: 2 (limit: 5912)
     Memory: 1.9M
        CPU: 7ms
     CGroup: /system.slice/nginx.service
             ??1651 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??1652 "nginx: worker process"

Oct 25 08:27:47 ghost.example.com systemd[1]: Starting nginx - high performance web server...

Étape 3 - Installer Node.js

Ghost Installer a besoin de Nodejs pour fonctionner. Exécutez les commandes suivantes pour installer Node 16.

$ curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -

Installez Node.

$ sudo dnf install -y nodejs

Vérifiez l’installation de Node.

$ node --version
v16.18.0

Au moment de la rédaction de ce tutoriel, Node 18 est sorti et est la version LTS. Ghost n’a pas encore ajouté de support pour cela. Veillez à vérifier le document Ghost concernant les versions de Node pour la dernière version de Node prise en charge. Lorsque Ghost ajoutera le support pour Node 18, installez Node 18 en utilisant les commandes suivantes à la place.

$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
$ sudo dnf install -y nodejs

Étape 4 - Installer MySQL

Rocky Linux 9 est livré avec la dernière version de MySQL. Vous pouvez l’installer avec une seule commande.

$ sudo dnf install mysql-server

Vérifiez la version de MySQL.

$ mysql --version
mysql  Ver 8.0.30 for Linux on x86_64 (Source distribution)

Activez et démarrez le service MySQL.

$ sudo systemctl enable mysqld --now

Vérifiez l’état du service.

$ sudo systemctl status mysqld
? mysqld.service - MySQL 8.0 serveur de base de données
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
     Active: active (running) since Tue 2022-10-25 09:00:26 UTC; 3s ago
    Process: 2920 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
    Process: 2942 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
   Main PID: 3021 (mysqld)
     Status: "Le serveur est opérationnel"
      Tasks: 39 (limit: 5912)
     Memory: 404.4M
        CPU: 4.686s
     CGroup: /system.slice/mysqld.service
             ??3021 /usr/libexec/mysqld --basedir=/usr

Oct 25 09:00:18 ghost.example.com systemd[1]: Starting MySQL 8.0 serveur de base de données...
Oct 25 09:00:18 ghost.example.com mysql-prepare-db-dir[2942]: Initializing MySQL database
Oct 25 09:00:26 ghost.example.com systemd[1]: Started MySQL 8.0 serveur de base de données.

Vous pouvez vous connecter à l’interface de commande MySQL en utilisant l’authentification Unix par défaut. Mais vous ne pouvez pas exécuter l’assistant de configuration de sécurité. Par conséquent, l’étape suivante est nécessaire pour les versions de MySQL 8.0.28 et supérieures. Entrez dans l’interface de commande MySQL.

$ sudo mysql

Exécutez la commande suivante pour définir le mot de passe de votre utilisateur root. Assurez-vous qu’il contient un mélange de chiffres, de majuscules, de minuscules et de caractères spéciaux.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword12!';

Quittez l’interface. L’inconvénient de cette étape est que vous ne pouvez plus vous connecter à l’interface de commande MySQL en utilisant l’authentification Unix.

mysql> exit

Exécutez le script d’installation sécurisée de MySQL.

$ sudo mysql_secure_installation

Vous serez invité à installer le composant de validation des mots de passe. Il vérifie la force des mots de passe utilisés dans MySQL. Appuyez sur Y pour l’installer.

Sécurisation du déploiement du serveur MySQL.

Connexion à MySQL avec un mot de passe vide.

LE COMPOSANT DE VALIDATION DES MOTS DE PASSE peut être utilisé pour tester les mots de passe
et améliorer la sécurité. Il vérifie la force du mot de passe
et permet aux utilisateurs de définir uniquement les mots de passe qui sont
suffisamment sécurisés. Souhaitez-vous configurer le composant de validation des mots de passe ?

Appuyez sur y|Y pour Oui, toute autre touche pour Non : Y

Ensuite, vous serez invité à définir le niveau de la politique de validation des mots de passe. Choisissez 2 car c’est le plus fort. Vous serez ensuite invité à créer un mot de passe root. Entrez un mot de passe répondant aux exigences données. Et lorsque vous serez invité à continuer avec le mot de passe, appuyez sur Y pour continuer.

Il existe trois niveaux de politique de validation des mots de passe :

FAIBLE    Longueur >= 8
MOYENNE Longueur >= 8, numérique, casse mixte et caractères spéciaux
FORT Longueur >= 8, numérique, casse mixte, caractères spéciaux et fichier de dictionnaire

Veuillez entrer 0 = FAIBLE, 1 = MOYENNE et 2 = FORT : 2
Veuillez définir le mot de passe pour root ici.

Nouveau mot de passe : 

Ressaisissez le nouveau mot de passe : 

Force estimée du mot de passe : 100 
Souhaitez-vous continuer avec le mot de passe fourni ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y

Enfin, appuyez sur Y pour supprimer les utilisateurs anonymes, interdire les connexions root à distance, supprimer la base de données de test et recharger les tables de privilèges.

Par défaut, une installation MySQL a un utilisateur anonyme,
permettant à quiconque de se connecter à MySQL sans avoir à créer
un compte utilisateur pour eux. Cela est uniquement destiné à
l'essai, et pour rendre l'installation un peu plus fluide.
Vous devriez les supprimer avant de passer à un environnement de production.

Supprimer les utilisateurs anonymes ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y
Succès.

Normalement, root ne devrait être autorisé à se connecter que depuis
'localhost'. Cela garantit que quelqu'un ne peut pas deviner le
mot de passe root depuis le réseau.

Interdire la connexion root à distance ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y
Succès.

Par défaut, MySQL est livré avec une base de données nommée 'test' à laquelle
quiconque peut accéder. Cela est également destiné uniquement à l'essai,
et doit être supprimé avant de passer à un environnement de production.

Supprimer la base de données de test et l'accès à celle-ci ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y
 - Suppression de la base de données de test...
Succès.

 - Suppression des privilèges sur la base de données de test...
Succès.

Recharger les tables de privilèges garantira que toutes les modifications
apportées jusqu'à présent prendront effet immédiatement.

Recharger les tables de privilèges maintenant ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y
Succès.

Tout est fait !

Cela complète le processus d’installation et de sécurisation de MySQL.

Étape 5 - Installer Ghost

L’installation de Ghost comprendra trois composants - l’outil en ligne de commande Ghost-CLI qui installe et gère les mises à jour du blog Ghost et le package du blog lui-même.

Installer Ghost-CLI

Exécutez la commande suivante pour installer l’outil Ghost-CLI. Ignorez les avertissements que vous recevez pendant le processus.

$ sudo npm install ghost-cli@latest -g

Préparer le répertoire Ghost

Créez le répertoire racine de Ghost.

$ sudo mkdir -p /var/www/html/ghost

Définissez la propriété du répertoire à l’utilisateur actuel.

$ sudo chown $USER:$USER /var/www/html/ghost

Définissez les permissions correctes du répertoire.

$ sudo chmod 755 /var/www/html/ghost

Accédez au répertoire Ghost.

$ cd /var/www/html/ghost

Installer Ghost

L’installation de Ghost est un processus d’une seule commande.

$ ghost install

Pendant l’installation, l’outil CLI posera un certain nombre de questions pour configurer le blog.

  • Au moment de la rédaction de ce tutoriel, Ghost-CLI ne prend en charge aucun autre système d’exploitation à part Ubuntu. Il vous demandera si vous souhaitez toujours continuer avec l’installation. Appuyez sur Y pour continuer.
  • URL du blog : Entrez l’URL complète de votre blog avec le protocole https. ( https://ghost.example.com)
  • Nom d’hôte MySQL : Appuyez sur Entrée pour utiliser la valeur par défaut de localhost puisque notre installation Ghost et MySQL sont sur le même serveur.
  • Nom d’utilisateur MySQL : Entrez root comme nom d’utilisateur MySQL.
  • Mot de passe MySQL : Entrez votre mot de passe root créé précédemment.
  • Nom de la base de données Ghost : Donnez un nom à votre base de données Ghost. ( ghostdb)
  • Mot de passe sudo : Entrez le mot de passe sudo de votre système pour exécuter des commandes élevées.
  • Configurer un utilisateur MySQL pour Ghost ? : L’installateur vous demandera si vous souhaitez créer un utilisateur MySQL séparé pour Ghost. Appuyez sur Y pour continuer.
  • Configurer Nginx ? : En général, Ghost-CLI détecte votre installation Nginx et la configure automatiquement pour votre blog. Mais pour l’instant, il ne peut pas détecter notre installation Nginx. Par conséquent, l’installateur sautera automatiquement cette étape. Nous configurerons Nginx manuellement.
  • Configurer SSL ? : Puisqu’il a sauté la configuration de Nginx, l’outil CLI sautera également la configuration d’un SSL.
  • Configurer systemd ? : Ghost vous demandera si vous souhaitez configurer un service système pour Ghost. Appuyez sur Y pour continuer.
  • Démarrer Ghost ? : Appuyez sur Y pour démarrer votre installation Ghost. Le service démarrera mais nous devrons configurer Nginx et SSL pour le faire fonctionner.

Étape 6 - Installer SSL

Avant de continuer, nous devons installer l’outil Certbot et un certificat SSL pour notre domaine.

Pour installer Certbot, nous utiliserons le gestionnaire de paquets Snapd. Snapd porte toujours la dernière version stable de Certbot, que vous devriez utiliser.

L’outil Snapd nécessite le dépôt Epel pour fonctionner.

$ sudo dnf install epel-release -y

Nous utiliserons Snapd pour installer Certbot. Installez Snapd.

$ sudo dnf install snapd -y

Activez et démarrez le service Snap.

$ sudo systemctl enable snapd.socket --now

Créez les liens nécessaires pour que Snapd fonctionne.

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

Assurez-vous que votre version de snapd est à jour.

$ sudo snap install core 
$ sudo snap refresh core

Installez Certbot.

$ sudo snap install --classic certbot

Utilisez la commande suivante pour vous assurer que la commande Certbot peut être exécutée en créant un lien symbolique vers le répertoire /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Générez un certificat SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d ghost.example.com

La commande ci-dessus téléchargera un certificat dans le répertoire /etc/letsencrypt/live/ghost.example.com sur votre serveur.

Générez un certificat de groupe Diffie-Hellman.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Faites un essai à sec du processus pour vérifier si le renouvellement SSL fonctionne correctement.

$ sudo certbot renew --dry-run

Si vous ne voyez aucune erreur, vous êtes prêt. Votre certificat se renouvellera automatiquement.

Étape 7 - Configurer Nginx

Créez et ouvrez le fichier /etc/nginx/conf.d/ghost.conf pour l’édition.

$ sudo nano /etc/nginx/conf.d/ghost.conf

Collez le code suivant dans le fichier ghost.conf. Remplacez toutes les instances de ghost.example.com par votre domaine.

## imposer HTTPS
server {
  listen 80;
  listen [::]:80;
  server_name ghost.example.com;
  return 301 https://$server_name$request_uri;
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name ghost.example.com;

  access_log /var/log/nginx/ghost.access.log;
  error_log /var/log/nginx/ghost.error.log;
  client_max_body_size 20m;

  http2_push_preload on; # Activer HTTP/2 Server Push

  ssl_certificate     /etc/letsencrypt/live/ghost.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/ghost.example.com/privkey.pem;
  ssl_trusted_certificate /etc/letsencrypt/live/ghost.example.com/chain.pem;
  ssl_session_timeout 1d;

  # Activer les versions TLS (TLSv1.3 est requis pour le prochain HTTP/3 QUIC).
  ssl_protocols TLSv1.2 TLSv1.3;

  # Activer le 0-RTT de TLSv1.3. Utilisez $ssl_early_data lors de la mise en proxy vers
  # prévenir les attaques de rejeu.
  #
  # @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
  ssl_early_data on;

  ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
  ssl_prefer_server_ciphers on;
  ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
  ssl_session_cache shared:SSL:50m;
  ssl_session_tickets off;

  # OCSP Stapling ---
  # récupérer les enregistrements OCSP à partir de l'URL dans ssl_certificate et les mettre en cache
  ssl_stapling on;
  ssl_stapling_verify on;
  ssl_dhparam /etc/ssl/certs/dhparam.pem;

  add_header X-Early-Data $tls1_3_early_data;

  location / {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://localhost:2368;
  }
}

# Ce bloc est utile pour déboguer TLS v1.3. N'hésitez pas à supprimer cela
# et à utiliser la variable `$ssl_early_data` exposée par NGINX directement si vous
# souhaitez le faire.
map $ssl_early_data $tls1_3_early_data {
  "~." $ssl_early_data;
  default "";
}

La configuration ci-dessus redirigera toutes les requêtes HTTP vers HTTPS et servira de proxy pour le service Ghost afin de le servir via votre domaine.

Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.

Ouvrez le fichier /etc/nginx/nginx.conf pour l’édition.

$ sudo nano /etc/nginx/nginx.conf

Ajoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size  64;

Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.

Vérifiez votre configuration Nginx.

$ sudo nginx -t

Si vous ne voyez aucune erreur, cela signifie que vous êtes prêt à partir. Rechargez le serveur Nginx.

$ sudo systemctl reload nginx

Étape 8 - Configurer SELinux

Autorisez Nginx à se connecter au réseau.

$ sudo setsebool -P httpd_can_network_connect 1

Étape 9 - Exécuter le site

Maintenant, vous pouvez vérifier votre installation en ouvrant https://ghost.example.com dans votre navigateur web. Vous obtiendrez la page suivante indiquant une installation réussie.

Page d'accueil Ghost

Étape 10 - Compléter la configuration

Pour terminer la configuration de votre blog Ghost, visitez https://ghost.example.com/ghost dans votre navigateur. Le /ghost supplémentaire à la fin du domaine de votre blog vous redirige vers le panneau d’administration de Ghost ou, dans ce cas, la configuration puisque vous y accédez pour la première fois.

Vous devrez créer votre compte administrateur et choisir un titre de blog.

Détails de la configuration Ghost

Entrez vos détails et cliquez sur le bouton Créer un compte et commencer à publier pour continuer.

Ensuite, vous serez dirigé vers l’écran suivant, où vous aurez des options telles que rédiger votre premier post, personnaliser votre site et importer des membres.

Suggestions de l'installateur Ghost

Nous choisirons Explorer l’administration Ghost pour explorer et aller directement au tableau de bord. À la fin de la configuration, vous serez accueilli avec le panneau d’administration de Ghost.

Tableau de bord Admin Ghost

Si vous souhaitez passer en mode sombre, vous pouvez le faire en cliquant sur le bouton bascule à côté du bouton d’engrenage des paramètres en bas de la page des paramètres.

Passez à la page des posts et vous verrez un post par défaut. Vous pouvez le dépublier ou le supprimer et commencer à publier.

Panneau des posts Ghost)

Étape 11 - Configurer le Mailer

Ghost agit non seulement comme une plateforme de blogging mais aussi comme un gestionnaire de newsletters. Pour les opérations quotidiennes, vous pouvez utiliser n’importe quel service de mail transactionnel pour travailler avec Ghost pour l’envoi de mails. Mais si vous souhaitez envoyer des newsletters via Ghost, le seul expéditeur de masse officiel pris en charge est Mailgun. Vous pouvez également utiliser un autre service de newsletter, mais pour cela, vous devrez utiliser la fonctionnalité d’intégration Zapier de Ghost.

Commençons par configurer un service SMTP pour les emails transactionnels. Pour cela, ouvrez le fichier /var/www/html/ghost/config.production.json pour l’édition.

$ nano /var/www/html/ghost/config.production.json

Trouvez les lignes suivantes.

 "mail": {
    "transport": "Direct"
  },

Remplacez-les par le code suivant.

"mail": {
    "from": "'Acme Support' [email protected]",
    "transport": "SMTP",
    "options": {
        "host": "YOUR-SES-SERVER-NAME",
        "port": 465,
        "service": "SES",
        "auth": {
            "user": "YOUR-SES-SMTP-ACCESS-KEY-ID",
            "pass": "YOUR-SES-SMTP-SECRET-ACCESS-KEY"
        }
    }
},

Ici, nous utilisons le service de mail Amazon SES car il est très bon marché et gratuit à vie si vous utilisez leur service EC2.

Si vous souhaitez utiliser leur service de newsletter via Mailgun, entrez le code suivant à la place.

"mail": {
  "from": "'Acme Support' [email protected]",
  "transport": "SMTP",
  "options": {
    "service": "Mailgun",
    "host": "smtp.mailgun.org",
    "port": 587,
    "secure": true,
    "auth": {
      "user": "[email protected]",
      "pass": "1234567890"
    }
  }
},

Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.

Une fois terminé, redémarrez l’application Ghost pour que les modifications prennent effet.

$ ghost restart

Pour configurer les paramètres de la newsletter, visitez la section Paramètres >> Newsletter par email.

Paramètres de la newsletter par email Ghost

Cliquez sur le lien Configuration Mailgun pour développer.

Remplissez votre région Mailgun, domaine et clé API.

Paramètres de la newsletter MailGun Ghost

Cliquez sur le bouton Enregistrer en haut à droite pour enregistrer les paramètres.

Pour tester la livraison de la newsletter, ouvrez n’importe quel post, ouvrez ses paramètres et cliquez sur l’option Newsletter par email. Ensuite, envoyez un email de test pour vérifier si cela fonctionne. Si vous ne rencontrez aucune erreur, cela signifie que la livraison de votre newsletter fonctionne.

Étape 12 - Mettre à jour Ghost

Il existe deux types de mises à jour de Ghost - Mises à jour mineures et mises à jour majeures.

Tout d’abord, effectuez une sauvegarde complète si vous souhaitez effectuer une mise à jour mineure.

$ cd /var/www/html/ghost
$ ghost backup

Exécutez la commande de mise à jour pour effectuer la mise à jour mineure.

$ ghost update

Pour effectuer une mise à jour majeure, vous devez suivre le guide de mise à jour détaillé officiel sur Ghost. Selon la version que vous utilisez actuellement et la version majeure vers laquelle vous souhaitez mettre à jour, les étapes varieront.

Conclusion

Cela conclut notre tutoriel sur la façon de configurer Ghost CMS sur votre serveur Rocky Linux 9 en utilisant Nginx. Si vous avez des questions ou des commentaires, partagez-les dans les commentaires ci-dessous.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.