Déploiement, sécurité et bonnes pratiques

Déployez votre application avec Docker, sécurisez les routes et optimisez la configuration Strapi.

2 min read

Déploiement, sécurité et bonnes pratiques

Dans ce module, nous passons de la phase de développement local à une mise en production robuste pour votre boutique en ligne. Vous apprendrez à conteneuriser votre projet avec Docker Compose afin d’assurer un déploiement reproductible et isolé. Nous verrons aussi comment renforcer la sécurité de vos routes et optimiser la configuration de Strapi pour un site e-commerce performant et fiable.

Pourquoi ce module est crucial

  • En production, la stabilité et la reproductibilité sont essentielles : Docker garantit que votre environnement est identique en local et sur serveur.
  • La sécurisation des endpoints API évite les failles d’autorisation et protège les données clients (cartes de paiement, comptes utilisateurs).
  • Une configuration Strapi optimisée améliore les temps de démarrage, la scalabilité et réduit les erreurs en environnement critique.
  • Vous appliquerez des bonnes pratiques validées par la communauté, notamment l’utilisation de JSON Web Tokens pour l’authentification.

Aperçu du docker-compose.yml

Voici un extrait de votre configuration de base pour Orchestration Docker :

docker-compose.yml
1
version: "3"
2
services:
3
strapi:
4
image: strapi:latest
5
env_file: .env
6
ports:
7
- "3071:1337"
8
volumes:
9
- ./src:/opt/app/src
10
- ./.env:/opt/app/.env
11
depends_on:
12
- strapiDB
13
14
strapiDB:
15
image: postgres:12.0-alpine
16
env_file: .env
17
ports:
18
- "5432:5432"
19
volumes:
20
- strapi-data:/var/lib/postgresql/data/
21
22
volumes:
23
strapi-data:

Sécurisation des routes

Pour restreindre l’accès à vos API, nous utiliserons :

  • Les rôles et permissions natifs de Strapi
  • Des middlewares personnalisés pour valider les tokens JWT
  • La configuration TLS/SSL si vous hébergez en interne

Optimisation de la configuration Strapi

config/server.ts
1
export default ({ env }) => ({
2
host: env('HOST', '0.0.0.0'),
3
port: env.int('PORT', 1337),
4
app: {
5
keys: env.array('APP_KEYS'),
6
},
7
});

Ce que vous allez apprendre

  • Conteneuriser votre application Node.js et votre base PostgreSQL
  • Déployer sur un serveur cloud ou un cluster Kubernetes
  • Sécuriser vos endpoints API avec JWT et politiques Strapi
  • Affiner les variables d’environnement et la gestion des erreurs

À l’issue de ce module, votre site e-commerce sera prêt pour un déploiement professionnel, stable et sécurisé.