Skip to content

ungdev/Integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projet d'Intégration UTT – Environnement de Développement

Ce projet est une plateforme pour le site d'intégration de l'Université de Technologie de Troyes. Il utilise une architecture conteneurisée via Docker pour gérer le frontend, le backend et la base de données PostgreSQL.

🛠 Technologies utilisées

  • Frontend :

    • Vite.js
    • React
    • Serve (pour servir le build statique)
    • Docker
  • Backend :

    • Node.js
    • Express.js
    • Drizzle ORM
    • PostgreSQL client
    • Docker
  • Base de données :

    • PostgreSQL
  • Outils DevOps :

    • Docker
    • Docker Compose

🚀 Lancer le projet en local

1. Prérequis

Assurez-vous d'avoir installé :

Vérifiez avec :

docker --version
docker-compose --version

2. Cloner le projet

git clone https://github.com/ungdev/Integration.git
cd Integration

3. Démarrer les conteneurs

Exécutez la commande suivante à la racine du projet :

docker-compose up --build

Cette commande :

  • Lance PostgreSQL
  • Démarre le backend avec migration automatique via Drizzle ORM
  • Compile et sert le frontend

4. Accéder aux services


🧪 Gestion des migrations

Le backend utilise Drizzle ORM pour la gestion des migrations.

La commande suivante est exécutée automatiquement au démarrage :

npm run migrate

📁 Structure du projet

.
├── backend/
│   ├── Dockerfile
│   ├── docker-entrypoint.sh
│   └── ...
├── frontend/
│   ├── Dockerfile
│   └── ...
├── docker-compose.yml
└── README.md

🔧 Installation du site de l'Intégration en local

Ce guide permet de configurer le site integration.utt.fr en local avec Nginx, en HTTPS, pour simuler l'environnement de production.


⚙️ Prérequis

  • Nginx
  • mkcert
  • Node.js (pour lancer le frontend et le backend)
  • Accès sudo

🚀 Étapes d'installation locale

1. Ajouter integration.utt.fr au fichier hosts

sudo nano /etc/hosts

Ajouter :

127.0.0.1 integration.utt.fr

2. Générer les certificats SSL

Dans le dossier du projet :

mkcert integration.utt.fr

Cela crée deux fichiers :

  • integration.utt.fr.pem
  • integration.utt.fr-key.pem

3. Configurer Nginx

Créer un fichier dans /etc/nginx/sites-available/integration.utt.fr avec :

server {
    listen 443 ssl;
    server_name integration.utt.fr;

    ssl_certificate     /chemin/vers/integration.utt.fr.pem;
    ssl_certificate_key /chemin/vers/integration.utt.fr-key.pem;

    location / {
        proxy_pass http://localhost:4000;
    }

    location /api/ {
        proxy_pass http://localhost:4001;
    }
}

Puis l’activer :

sudo ln -s /etc/nginx/sites-available/integration.utt.fr /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

4. Lancer les services

Dans deux terminaux différents :

cd frontend
npm install
npm run dev
cd backend
npm install
npm run dev

✅ Accès

Ouvrir :
👉 https://integration.utt.fr


🔚 Nettoyage quand le dev est terminé

1. Supprimer l’entrée dans /etc/hosts

sudo nano /etc/hosts

Supprimer la ligne :

127.0.0.1 integration.utt.fr

2. Désactiver la config Nginx

sudo rm /etc/nginx/sites-enabled/integration.utt.fr
sudo nginx -t
sudo systemctl reload nginx

Tu peux maintenant accéder à la version en ligne de :
👉 https://integration.utt.fr

📜 Licence

Projet destiné à des fins d'utilisation pour l'intégration des étudiants à l'UTT.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages