Python Préproduction
Le script de production prépare automatiquement votre projet pour le déploiement en configurant les fichiers SSI et en nettoyant les ressources de développement.
Préparation pour la production
# Donner les permissions d'exécution (si nécessaire)
chmod +x dev/prod.sh
# Préparer pour la production
./dev/prod.sh
✅ Automatisation complète : Le script prod.sh configure automatiquement le menu SSI, les fichiers .htaccess et nettoie les ressources de développement.
Modifications apportées par le script
Configuration SSI
- 🔧 Menu SSI : Remplacement du menu de développement par le menu SSI de production
- 📝 Includes : Configuration des Server-Side Includes pour Apache
- ⚙️ .htaccess : Restauration de la configuration Apache de production
Nettoyage des fichiers
- 🗑️ Fichiers de développement : Suppression ou masquage des outils de dev
- 🔒 Sécurité : Configuration des règles de sécurité Apache
- 📦 Optimisation : Préparation des fichiers pour la production
Structure de production
Après exécution du script de production, votre projet aura la structure suivante :
├── index.html # Page d'accueil (menu SSI activé)
├── global/ # Ressources partagées
│ ├── global.css # Styles globaux
│ ├── ssi/ # Includes SSI
│ └── ...
├── local/ # Personnalisations locales
├── src/ # Scripts PHP (si nécessaires)
├── .htaccess # Configuration Apache de production
└── favicon.ico # Icône du site
# Dossiers ignorés/masqués en production :
├── dev/ # Outils de développement (ignorés)
├── docker/ # Configuration Docker (ignorée)
└── docs/ # Documentation (ignorée)
Configuration Apache (.htaccess)
Le fichier .htaccess de production inclut :
Sécurité
- 🛡️ Protection des dossiers sensibles (dev/, docker/, src/)
- 🔒 Masquage des fichiers de configuration
- 🚫 Blocage des accès non autorisés
Performance
- ⚡ Compression gzip pour les fichiers statiques
- 📦 Cache des ressources (CSS, JS, images)
- 🔄 Redirections optimisées
SSI (Server-Side Includes)
- 📄 Activation des includes pour les fichiers .html
- 🔧 Configuration des directives SSI
- ⚙️ Gestion des erreurs SSI
Déploiement sur serveur
Prérequis serveur
- Apache avec mod_rewrite activé
- PHP (si utilisation des scripts de génération)
- Support SSI (Server-Side Includes) activé
Méthodes de déploiement
1. FTP/SFTP
# Après avoir exécuté ./dev/prod.sh
# Transférer tous les fichiers sauf :
# - dev/
# - docker/
# - docs/
# - .git/
2. Git (recommandé)
# Sur le serveur
git clone https://github.com/10s25/dev_local.git
cd dev_local
# Préparer pour la production
chmod +x dev/prod.sh
./dev/prod.sh
3. Rsync
# Synchronisation avec exclusions
rsync -avz --exclude='dev/' --exclude='docker/' --exclude='docs/' \
--exclude='.git/' ./ user@server:/path/to/website/
Vérifications post-déploiement
Tests à effectuer
- ✅ Accès au site : Vérifier que le site se charge correctement
- ✅ Menu SSI : Vérifier que le menu s'affiche (pas de conditions de développement)
- ✅ Includes SSI : Vérifier que tous les includes fonctionnent
- ✅ Sécurité : Tester l'accès aux dossiers protégés (dev/, docker/)
- ✅ Performance : Vérifier la compression et le cache
Outils de test
# Test de compression
curl -H "Accept-Encoding: gzip" -I http://votre-site.com/
# Test de sécurité
curl -I http://votre-site.com/dev/
curl -I http://votre-site.com/docker/
# Test SSI
curl http://votre-site.com/ | grep "menu"
Retour en développement
Pour revenir en mode développement après avoir préparé la production :
# Relancer la configuration de développement
./dev/setup.sh
# Démarrer le serveur de développement
./dev/start.sh
💡 Workflow recommandé : Gardez une branche ou un dossier séparé pour la production, et un autre pour le développement. Cela évite les allers-retours entre les configurations.
Maintenance et mises à jour
Mise à jour du contenu
- Modifier les fichiers en local
- Tester avec
./dev/start.sh - Préparer pour la production avec
./dev/prod.sh - Déployer les modifications
Sauvegarde
- 📦 Code source : Sauvegardé via Git
- 🗃️ Données : Sauvegarder les fichiers générés (si applicable)
- ⚙️ Configuration : Sauvegarder les .htaccess personnalisés
⚠️ Important : Testez toujours vos modifications en local avant de déployer en production. Le script prod.sh modifie les fichiers de manière irréversible (sauf si vous avez une sauvegarde Git).