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

Nettoyage des fichiers

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é

Performance

SSI (Server-Side Includes)

Déploiement sur serveur

Prérequis serveur

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

  1. Accès au site : Vérifier que le site se charge correctement
  2. Menu SSI : Vérifier que le menu s'affiche (pas de conditions de développement)
  3. Includes SSI : Vérifier que tous les includes fonctionnent
  4. Sécurité : Tester l'accès aux dossiers protégés (dev/, docker/)
  5. 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

  1. Modifier les fichiers en local
  2. Tester avec ./dev/start.sh
  3. Préparer pour la production avec ./dev/prod.sh
  4. Déployer les modifications

Sauvegarde

⚠️ 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).