benoit-bremaud / HappiHub

HappiHub - A platform for organizing and discovering cultural and artistic events. Join the community and explore events happening around you!
https://www.happihub.com
MIT License
1 stars 3 forks source link

Nouvelle Feature: Mise en Place de HTTPS avec Express #232

Open benoit-bremaud opened 4 months ago

benoit-bremaud commented 4 months ago

Description

Nous souhaitons sécuriser notre application en implémentant HTTPS. Pour ce faire, nous allons configurer un serveur HTTPS en utilisant un certificat d'autorité de certification avec Express sous Node.js. Le serveur sera configuré pour écouter sur le port 443, qui est le port standard pour les connexions sécurisées.

Fonctionnalités attendues

  1. Configuration du Serveur HTTPS :

    • Créer un certificat et une clé pour l'autorité de certification.
    • Configurer le serveur Express pour utiliser ces fichiers en passant les options cert et key à la méthode createServer du module https.
  2. Redirection HTTP vers HTTPS :

    • Implémenter un middleware qui interceptera les requêtes HTTP et les redirigera vers HTTPS.
    • Le middleware devra vérifier si la requête est sécurisée (req.secure) et effectuer la redirection si nécessaire.
    • Gérer les erreurs de redirection de manière appropriée.
  3. Démarrage du Serveur :

    • Configurer le serveur pour écouter sur le port 443 pour les connexions HTTPS.

Étapes de Développement

  1. Générer un Certificat et une Clé :

    • Créer un certificat SSL et une clé privée (ou obtenir ces fichiers d'une autorité de certification).
  2. Configurer le Serveur HTTPS :

    • Créer un fichier server.js ou mettre à jour le fichier existant pour inclure les options cert et key.
    • Utiliser la méthode createServer du module https avec ces options.
  3. Implémenter le Middleware de Redirection :

    • Ajouter un middleware dans Express pour rediriger les requêtes HTTP vers HTTPS.
    • Vérifier la sécurité de la requête et gérer les erreurs éventuelles.
  4. Démarrer le Serveur :

    • Configurer et démarrer le serveur pour qu'il écoute sur le port 443.
  5. Tester la Configuration :

    • Vérifier que les requêtes HTTP sont correctement redirigées vers HTTPS.
    • S'assurer que le serveur HTTPS fonctionne correctement et est accessible sur le port 443.
  6. Documenter :

    • Mettre à jour le fichier README pour inclure les instructions sur la configuration du certificat et du serveur HTTPS.

Critères d'Acceptation