Application web moderne permettant de visualiser et s'inscrire aux sessions d'admission de l'IFCV.
✅ Production Ready - Prêt pour le déploiement sur Vercel
- ✅ Calendrier interactif avec navigation mois par mois
- ✅ Liste des événements avec détails complets
- ✅ Tooltips au survol des dates et formations
- ✅ Formulaire d'inscription avec validation RGPD
- ✅ Responsive design (mobile, tablet, desktop)
- ✅ Intégration API ERP sécurisée
- ✅ Backend serverless (Vercel Functions)
Frontend (Static) Backend (Serverless) API ERP
┌────────────────┐ ┌─────────────────┐ ┌──────────────┐
│ HTML/CSS/JS │ ───→ │ /api/events │ ───→ │ Meetings │
│ dans public/ │ │ /api/formations│ ───→ │ Formations │
│ │ ←─── │ /api/register │ ───→ │ Candidates │
└────────────────┘ └─────────────────┘ └──────────────┘
Vercel CDN Vercel Functions groupeifcv API
Sécurité : La clé API est stockée côté serveur uniquement (variables d'environnement Vercel).
- Cliquez sur le bouton ci-dessus
- Connectez votre compte GitHub
- Ajoutez les 4 variables d'environnement requises
- Déployez ! 🎉
Suivez le guide détaillé : DEPLOYMENT.md
- Node.js 18+
- npm ou yarn
# 1. Cloner le repository
git clone https://github.com/VOTRE_USERNAME/dynamic-calendar.git
cd dynamic-calendar
# 2. Installer les dépendances
npm install
# 3. Créer le fichier .env.local
cp .env.example .env.local
# Éditer .env.local avec vos vraies valeurs
# 4. Lancer le serveur de développement
npm run devOuvrez http://localhost:3000
| Variable | Description | Exemple |
|---|---|---|
API_KEY |
Clé d'authentification API ERP | rrQFJZQi5eFcbFr... |
API_URL_GET_EVENTS |
URL pour récupérer les événements | https://groupeifcv.pyramideapp.fr/api/meetings |
API_URL_GET_FORMATIONS |
URL pour récupérer les formations | https://groupeifcv.pyramideapp.fr/api/formations |
API_URL_POST_REGISTRATION |
URL pour envoyer les inscriptions | https://groupeifcv.pyramideapp.fr/api/candidates |
.env.local dans Git !
Dynamic Calendar/
├── public/ # Frontend statique
│ ├── index.html # Page principale
│ ├── styles.css # Styles CSS
│ └── app.js # Logique frontend (sans clé API)
│
├── api/ # Backend Serverless Functions
│ ├── events.js # GET /api/events
│ ├── formations.js # GET /api/formations
│ └── register.js # POST /api/register
│
├── .env.example # Template des variables
├── .env.local # Variables locales (gitignored)
├── .gitignore # Fichiers ignorés
├── vercel.json # Configuration Vercel
├── package.json # Dépendances
├── DEPLOYMENT.md # Guide de déploiement
└── README.md # Ce fichier
- ✅ Clé API côté serveur uniquement
- ✅ HTTPS obligatoire en production
- ✅ CORS configuré correctement
- ✅ Validation des données côté backend
- ✅ Consentement RGPD obligatoire
- ✅ Variables d'environnement protégées
Éditez public/styles.css :
/* Couleur principale */
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
/* Couleur des événements dans le calendrier */
.calendar-day.has-event {
background: #3498db;
}- HTML : Ajoutez le champ dans
public/index.html - Backend : Modifiez
api/register.jspour traiter le nouveau champ - Frontend : Mettez à jour
public/app.jspour envoyer la donnée
- Vérifiez les variables d'environnement dans Vercel
- Consultez les logs : Dashboard Vercel → Functions → events.js
- Vérifiez que l'API ERP est accessible
- Assurez-vous que
vercel.jsonest présent - Vérifiez les headers CORS dans les fonctions API
- Ouvrez la console du navigateur (F12)
- Vérifiez les erreurs JavaScript
- Testez la route
/api/registeravec Postman
Récupère la liste des événements
Réponse :
[
{
"id": "uuid",
"title": "Session Admission",
"date_start": "05/01/2026",
"time_start": "14:00:00",
"format": "face_to_face",
"location": "70 Rue Marius Aufan...",
"formations": [...],
"training_organizations": [...]
}
]Récupère la liste des formations
Enregistre une inscription
Body :
{
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"phone": "0123456789",
"birthday": "1990-01-01",
"sexe": "male",
"address": "123 rue Example",
"cp": "75001",
"city": "Paris",
"formation": ["103"],
"orga": "26",
"source": "Site Internet",
"origine": ""
}Les contributions sont les bienvenues !
- Fork le projet
- Créez une branche (
git checkout -b feature/ma-feature) - Committez (
git commit -m 'Ajout de ma feature') - Push (
git push origin feature/ma-feature) - Ouvrez une Pull Request
MIT License - Voir LICENSE pour plus de détails.
IFCV - Institut de Formation de la CCI de Paris Île-de-France
- Site web : https://www.ifcv.fr
- Mentions légales : https://www.ifcv.fr/mentions-legales/
- Vercel pour l'hébergement
- Pyramide App pour l'API ERP
Prêt à déployer ? Consultez DEPLOYMENT.md 🚀