Commandes de Mise à Jour - Laravel 12 + Jetstream + Livewire + Tailwind

📋 Ordre d’exécution des commandes

1️⃣ Sauvegarde et Préparation

# Sauvegarder la base de données (si package installé)
php artisan db:backup
# Si la commande n'existe pas, faire une export manuel de votre BDD
 
# Commit des changements actuels
git add .
git commit -m "Backup avant mise à jour Laravel 12"
 
# Créer une branche de sauvegarde
git checkout -b backup-before-update
git checkout main

2️⃣ Mise à jour Composer (Backend)

# Mettre à jour Composer lui-même
composer self-update
 
# Nettoyer le cache Composer
composer clear-cache
 
# Mettre à jour les dépendances Laravel
composer update
 
# Ou mise à jour spécifique de Laravel
composer update laravel/framework
 
# Mettre à jour Jetstream et Livewire
composer update laravel/jetstream livewire/livewire
 
# Forcer la mise à jour de toutes les dépendances
composer update --with-all-dependencies
 
# Vérifier les vulnérabilités
composer audit
 
# Optimiser l'autoloader
composer dump-autoload -o

3️⃣ Mise à jour NPM (Frontend)

# Nettoyer le cache NPM
npm cache clean --force
 
# Supprimer node_modules et package-lock.json
# Linux/Mac:
rm -rf node_modules package-lock.json
# Windows CMD:
# rmdir /s /q node_modules
# del package-lock.json
# Windows PowerShell:
# Remove-Item -Recurse -Force node_modules
# Remove-Item package-lock.json
 
# Mettre à jour NPM lui-même
npm install -g npm@latest
 
# Réinstaller les dépendances
npm install
 
# Mettre à jour toutes les dépendances mineures
npm update
 
# Mettre à jour Tailwind CSS
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
 
# Mettre à jour les dépendances de build
npm install -D vite@latest laravel-vite-plugin@latest
 
# Auditer les vulnérabilités
npm audit
 
# Corriger les vulnérabilités automatiquement
npm audit fix
 
# Si nécessaire, forcer les corrections
npm audit fix --force

4️⃣ Publication des Assets Jetstream/Livewire

# Publier les vues Jetstream
php artisan vendor:publish --tag=jetstream-views --force
 
# Publier la configuration Jetstream
php artisan vendor:publish --tag=jetstream-config
 
# Publier les vues Livewire
php artisan vendor:publish --tag=livewire-views --force
 
# Publier la configuration Livewire
php artisan vendor:publish --tag=livewire-config

5️⃣ Nettoyage des Caches Laravel

# Nettoyer tous les caches
php artisan cache:clear
 
# Nettoyer le cache de configuration
php artisan config:clear
 
# Nettoyer le cache des routes
php artisan route:clear
 
# Nettoyer le cache des vues
php artisan view:clear
 
# Nettoyer le cache des événements
php artisan event:clear
 
# Nettoyer le cache compilé
php artisan clear-compiled
 
# Nettoyer le cache d'optimisation
php artisan optimize:clear

6️⃣ Migrations et Base de Données

# Vérifier le statut des migrations
php artisan migrate:status
 
# Exécuter les nouvelles migrations
php artisan migrate
 
# Ou avec confirmation forcée en production
php artisan migrate --force
 
# Rafraîchir les seeds si nécessaire (ATTENTION: supprime les données)
# php artisan migrate:fresh --seed

7️⃣ Compilation des Assets Frontend

# Compiler les assets en mode développement
npm run dev
 
# Ou compiler pour la production
npm run build
 
# Compiler avec surveillance des changements
npm run watch

8️⃣ Optimisations et Cache (Production)

# Mettre en cache la configuration
php artisan config:cache
 
# Mettre en cache les routes
php artisan route:cache
 
# Mettre en cache les vues
php artisan view:cache
 
# Mettre en cache les événements
php artisan event:cache
 
# Optimiser l'application
php artisan optimize

9️⃣ Tests et Vérifications

# Lancer les tests
php artisan test
 
# Vérifier la santé de l'application
php artisan about
 
# Lister toutes les routes
php artisan route:list
 
# Vérifier les permissions de storage (Linux/Mac uniquement)
# chmod -R 775 storage bootstrap/cache
# chown -R www-data:www-data storage bootstrap/cache
# Sur Windows, les permissions sont gérées automatiquement

🔟 Redémarrage des Services

# Redémarrer le serveur de développement
php artisan serve
 
# Redémarrer la queue (si utilisée)
php artisan queue:restart
 
# Redémarrer le scheduler
# Vérifier que le cron job est actif: * * * * * cd /path-to-project && php artisan schedule:run >> /dev/null 2>&1

🚨 Commandes Complètes en Séquence

Pour Linux/Mac (Bash)

# Séquence complète de mise à jour
composer self-update && \
composer clear-cache && \
composer update && \
composer dump-autoload -o && \
npm cache clean --force && \
rm -rf node_modules package-lock.json && \
npm install && \
npm update && \
php artisan optimize:clear && \
php artisan migrate --force && \
npm run build && \
php artisan config:cache && \
php artisan route:cache && \
php artisan view:cache && \
php artisan optimize

Pour Windows (CMD)

composer self-update
composer clear-cache
composer update
composer dump-autoload -o
npm cache clean --force
rmdir /s /q node_modules
del package-lock.json
npm install
npm update
php artisan optimize:clear
php artisan migrate --force
npm run build
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize

Pour Windows (PowerShell)

composer self-update; composer clear-cache; composer update; composer dump-autoload -o; npm cache clean --force; Remove-Item -Recurse -Force node_modules; Remove-Item package-lock.json; npm install; npm update; php artisan optimize:clear; php artisan migrate --force; npm run build; php artisan config:cache; php artisan route:cache; php artisan view:cache; php artisan optimize

📝 Notes Importantes

Environnement de développement :

  • Utilisez npm run dev ou npm run watch
  • N’activez PAS les caches (config, route, view)

Environnement de production :

  • Utilisez npm run build
  • Activez TOUS les caches pour les performances
  • Utilisez --force pour les migrations

Maintenance régulière :

  • composer update : chaque semaine
  • npm update : chaque semaine
  • php artisan optimize:clear : après chaque modification de config
  • npm run build : avant chaque déploiement

En cas de problème :

  1. php artisan optimize:clear
  2. composer dump-autoload -o
  3. rm -rf node_modules && npm install
  4. Vérifier les logs : storage/logs/laravel.log