Migration OpenCart 1.5 → 3.0.4.1
édité par Doc_60 le 21/10/2025
⚙ Checklist Migration OpenCart 1.5 → 3.x
Résumé des étapes et bonnes pratiques pour migrer un site OpenCart ancien vers la version 3.x en toute sécurité.
1️⃣ Sauvegarde complète
- Sauvegarder fichiers et base de données avant toute manipulation.
- Versionner le code avec Git si possible.
2️⃣ Préparation serveur
- PHP 7.4+ recommandé.
- Base de données en utf8mb4 pour compatibilité Unicode.
- Dossiers upload/download dans
system/storage/. - Droits d’écriture corrects sur :
system/storage/,image/,cache/,logs/.
3️⃣ Encodage
- Convertir fichiers et base de ISO-8859-1 → UTF-8.
- Vérifier la base :
utf8mb3_binouutf8mb4_general_ci. - Remplacer emojis/puces par caractères sûrs :
•,✓,›.
4️⃣ Thèmes et templates
- Convertir
.tpl → .twig. - Simplifier fonctions PHP non compatibles (ceil(), count(), etc.).
- Placer le CSS dans des fichiers externes pour éviter l’affichage dans les résumés.
5️⃣ Modules & extensions
- Vérifier compatibilité OC 3.x.
- Supprimer extensions obsolètes.
- Tester toutes les fonctionnalités : partenaires, téléchargements, blog, compte client.
6️⃣ Téléchargements / Upload
Problème :
Erreur filesize(): stat failed et archives corrompues à l’ouverture.
Solution :
Déplacer download dans system/storage/ et nettoyer le tampon avant readfile() :
if (ob_get_level()) { ob_end_clean(); }
Problème :
Upload admin via Ajax : le bouton “mouline” sans fin.
Solution :
Vérifier is_uploaded_file() et move_uploaded_file(), gérer correctement la réponse JSON, et nettoyer le tampon avant sortie.
7️⃣ Sessions administrateur
Problème :
La session admin expirait trop rapidement.
Solution :
Ajouter renouvellement automatique dans admin/index.php et mettre à jour le cookie à chaque requête :
$lifetime = 14400; // 4 heures
ini_set('session.gc_maxlifetime', $lifetime);
ini_set('session.cookie_lifetime', $lifetime);
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), session_id(), time() + $lifetime, '/');
}
8️⃣ Tests finaux
- Vérifier front et back-office : téléchargements, uploads, blog, résumés, partenaires.
- Tester sur différents navigateurs et mobile.
9️⃣ Documentation
- Lister toutes les modifications : templates, CSS, fonctions PHP.
- Préparer un guide pour maintenance future.
⚙ Résultat attendu
- ✓ Téléchargements et uploads fonctionnels
- ✓ Affichage correct des partenaires
- ✓ Session admin prolongée
- ✓ Migration réussie sans perte de données
Partager ce sujet
Retour












