Date : 19 janvier 2026
Version de l'application : 2.1
Stack : 100% Frontend (Vercel Ready)
┌─────────────────────────────────────┐
│ Frontend Stack (100%) │
├─────────────────────────────────────┤
│ • React 18.3.1 │
│ • TypeScript │
│ • Vite 6.3.5 │
│ • Tailwind CSS 4.1.12 │
│ • localStorage (persistence) │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ Déploiement │
├─────────────────────────────────────┤
│ • Vercel (configuré) │
│ • GitHub (source) │
│ • Aucun backend requis │
└─────────────────────────────────────┘
| Fichier | État | Description |
|---|---|---|
vercel.json |
✅ Créé | Configuration optimale pour Vercel |
.vercelignore |
✅ Créé | Exclusion des fichiers non nécessaires |
vite.config.ts |
✅ Configuré | Alias @ vers /src |
package.json |
✅ À jour | Toutes dépendances frontend |
Ces fichiers ne peuvent pas être supprimés automatiquement mais sont exclus du déploiement via .vercelignore :
supabase/
├── functions/
└── server/
├── index.tsx ❌ Placeholder inactif
└── kv_store.tsx ❌ Ancien système Supabase
utils/
└── supabase/
└── info.tsx ❌ Placeholder inactif
# Supprimer manuellement via terminal
rm -rf supabase/ utils/Impact actuel : Aucun - Ces fichiers sont ignorés par Vercel et n'affectent pas le déploiement.
Votre application utilise encore des ressources hébergées sur Azure Blob Storage et Azure Front Door :
Fichier : /src/app/App.tsx (ligne 59)
companyLogoUrl: "https://fdendpoint-marketing-explorance-prod-01-ebh8gbhmaudgf5gd.a03.azurefd.net/web/assets/Logo_explorance_2026_d6e2f94610.png"Service : Azure Front Door CDN
Fichier : /src/app/App.tsx (lignes 48-50)
banners: [
{
id: "1-1",
name: "FR (1)",
imageUrl: "https://stonlinehelpprod01.blob.core.windows.net/web/assets/FR_ew_Explorance_MAIL-1.png"
},
{
id: "1-2",
name: "FR (2)",
imageUrl: "https://stonlinehelpprod01.blob.core.windows.net/web/assets/FR_ew_Explorance_MAIL.png"
},
{
id: "1-3",
name: "EN",
imageUrl: "https://stonlinehelpprod01.blob.core.windows.net/web/assets/EN_ew_Explorance_MAIL-1.png"
}
]Service : Azure Blob Storage
| Risque | Impact | Probabilité |
|---|---|---|
| Azure Blob Storage désactivé | ❌ Images ne se chargent plus | Faible |
| Azure Front Door désactivé | ❌ Logo ne se charge plus | Faible |
| Problèmes CORS | Moyen | |
| Coûts Azure inattendus | 💰 Facturation continue | Élevé |
Avantages :
- ✅ Gratuit (Cloudinary, imgix offrent tier gratuit)
- ✅ Optimisation automatique des images
- ✅ CDN global intégré
- ✅ Pas de dépendance Azure
Services suggérés :
- Cloudinary - 25 GB gratuit/mois
- imgix - Optimisation d'images
- Vercel Blob - Intégration native
Migration :
# 1. Télécharger les assets depuis Azure
curl -o logo.png "https://fdendpoint-marketing-explorance-prod-01-ebh8gbhmaudgf5gd.a03.azurefd.net/web/assets/Logo_explorance_2026_d6e2f94610.png"
curl -o banner-fr-1.png "https://stonlinehelpprod01.blob.core.windows.net/web/assets/FR_ew_Explorance_MAIL-1.png"
curl -o banner-fr-2.png "https://stonlinehelpprod01.blob.core.windows.net/web/assets/FR_ew_Explorance_MAIL.png"
curl -o banner-en.png "https://stonlinehelpprod01.blob.core.windows.net/web/assets/EN_ew_Explorance_MAIL-1.png"
# 2. Uploader vers Cloudinary/imgix/Vercel Blob
# 3. Mettre à jour les URLs dans App.tsxAvantages :
- ✅ 100% autonome
- ✅ Pas de dépendance externe
- ✅ Déploiement inclus avec Vercel
Inconvénients :
⚠️ Pas d'optimisation automatique⚠️ Bundle size plus grand
Migration :
# 1. Créer le dossier assets
mkdir -p public/assets
# 2. Télécharger les images
curl -o public/assets/logo.png "https://fdendpoint-marketing-explorance-prod-01-ebh8gbhmaudgf5gd.a03.azurefd.net/web/assets/Logo_explorance_2026_d6e2f94610.png"
curl -o public/assets/banner-fr-1.png "https://stonlinehelpprod01.blob.core.windows.net/web/assets/FR_ew_Explorance_MAIL-1.png"
curl -o public/assets/banner-fr-2.png "https://stonlinehelpprod01.blob.core.windows.net/web/assets/FR_ew_Explorance_MAIL.png"
curl -o public/assets/banner-en.png "https://stonlinehelpprod01.blob.core.windows.net/web/assets/EN_ew_Explorance_MAIL-1.png"
# 3. Mettre à jour App.tsx
# Remplacer les URLs Azure par :
# companyLogoUrl: "/assets/logo.png"
# imageUrl: "/assets/banner-fr-1.png"{
"frontend": {
"react": "18.3.1",
"vite": "6.3.5",
"tailwindcss": "4.1.12"
},
"ui": {
"@mui/material": "7.3.5",
"@radix-ui/*": "Multiple packages",
"lucide-react": "0.487.0"
},
"utils": {
"motion": "12.23.24",
"recharts": "2.15.2",
"react-hook-form": "7.55.0"
}
}Total : 66 dépendances (aucune liée à Supabase/Azure)
- Configuration Vercel créée (
vercel.json) - Fichiers résiduels exclus (
.vercelignore) - Build local réussi (
npm run build) - Fichiers Supabase/Utils supprimés manuellement
- (Optionnel) Assets Azure migrés
# 1. Vérifier le build
npm run build
# 2. Prévisualiser en local
npm run preview
# 3. Vérifier qu'il n'y a pas d'erreurs console
# Ouvrir http://localhost:4173 et vérifier la console
# 4. Tester la génération de signature
# Remplir le formulaire et cliquer sur "Generate Signature"# Méthode 1 : Via GitHub (Automatique)
git add .
git commit -m "🚀 Ready for Vercel deployment"
git push origin main
# Vercel détectera automatiquement et déploiera
# Méthode 2 : Via Vercel CLI
npm i -g vercel
vercel --prodBuild Time : < 2 minutes
Bundle Size : ~500 KB (gzipped)
Cold Start : N/A (frontend statique)
Edge Network : Global CDN (100+ régions)
Performance : 95-100
Accessibility : 90-95
Best Practices : 90-95
SEO : 85-90
- ✅ Mot de passe admin stocké en dur (
eXplorance) - ✅ Données utilisateur en localStorage (navigateur uniquement)
- ✅ Aucune donnée sensible envoyée à un serveur
- ✅ HTTPS automatique via Vercel
⚠️ localStorage accessible via DevTools (normal pour une app frontend)⚠️ Mot de passe admin visible dans le code source (acceptable pour usage interne)⚠️ Pas d'authentification utilisateur (pas nécessaire pour ce cas d'usage)
-
Build échoue :
rm -rf node_modules package-lock.json npm install npm run build
-
Images Azure ne se chargent pas :
- Vérifier que les URLs sont accessibles
- Vérifier la console pour erreurs CORS
- Migrer vers solution locale (voir Option 2 ci-dessus)
-
localStorage ne persiste pas :
- Vérifier que le navigateur autorise localStorage
- Vérifier qu'il n'y a pas de mode navigation privée
- Vérifier la console pour erreurs
# Vercel CLI - Voir les logs
vercel logs [deployment-url]
# Ou via dashboard Vercel
https://vercel.com/[your-username]/[project-name]/deployments| Aspect | État | Action Requise |
|---|---|---|
| Code Application | ✅ Prêt | Aucune |
| Configuration Vercel | ✅ Prêt | Aucune |
| Fichiers Résiduels | Suppression manuelle | |
| Assets Azure | Migration recommandée | |
| Déploiement | ✅ Possible | Pousser vers GitHub |
🟢 L'application est PRÊTE pour le déploiement sur Vercel
Les fichiers résiduels n'empêchent pas le déploiement grâce au .vercelignore, mais leur suppression est recommandée pour un dépôt propre.
Dernière mise à jour : 19 janvier 2026
Prochaine révision recommandée : Après migration des assets Azure