db.sqlite3)_______________[ ] Connecté au conteneur MariaDB
docker exec -it mariadb mysql -u root -p
[ ] Base de données créée
CREATE DATABASE IF NOT EXISTS duhaz_blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
[ ] Utilisateur créé avec un mot de passe fort
CREATE USER IF NOT EXISTS 'duhaz_user'@'%' IDENTIFIED BY 'MON_MOT_DE_PASSE';
[ ] Privilèges accordés
GRANT ALL PRIVILEGES ON duhaz_blog.* TO 'duhaz_user'@'%';
FLUSH PRIVILEGES;
[ ] Port 3306 exposé (si connexion depuis Mac)
docker port mariadb
# Doit afficher : 3306/tcp -> 0.0.0.0:3306
[ ] Navigué vers le projet
cd /Users/duhaz/projets/blog-duhaz
[ ] Dépendances installées
pip install -r requirements.txt
[ ] mysqlclient installé correctement
python -c "import MySQLdb; print('OK')"
[ ] Fichier .env modifié avec :
DB_ENGINE=mysql
DB_NAME=duhaz_blog
DB_USER=duhaz_user
DB_PASSWORD=mon_mot_de_passe
DB_HOST=_______________ # IP du RPI ou "mariadb"
DB_PORT=3306
[ ] Mot de passe saisi correctement (attention aux espaces)
[ ] Host configuré selon le contexte :
mariadb si Django tourne sur le même RPI192.168.x.x (IP du RPI) si Django tourne sur Mac[ ] Test réseau réussi
telnet IP_DU_RPI 3306
# Doit se connecter
[ ] Test de connexion Python réussi
python scripts/test_mariadb_connection.py
# Tous les tests doivent passer ✅
[ ] Script de migration exécuté
python scripts/migrate_to_mariadb.py
[ ] Export SQLite réussi
✅ Données exportées vers backup/sqlite_data.json
[ ] Fichier .env vérifié (DB_ENGINE=mysql)
[ ] Import MariaDB réussi
✅ Données importées avec succès!
[ ] Vérification affichée
👥 Utilisateurs: X
📝 Articles: Y
[ ] Serveur de développement lancé
python manage.py runserver
[ ] Page d'accueil accessible (http://localhost:8000)
[ ] Articles visibles sur le blog
[ ] Connexion admin fonctionnelle (http://localhost:8000/admin)
[ ] Création d'un nouvel article de test
[ ] Modification d'un article existant
[ ] Médias/images toujours accessibles
Si vous déployez sur le RPI :
[ ] Variables d'environnement de production configurées
DEBUG=False
ALLOWED_HOSTS=duhaz.fr,www.duhaz.fr
[ ] Migrations appliquées sur la production
python manage.py migrate
[ ] Static files collectés
python manage.py collectstatic
[ ] Application redémarrée
[ ] Site web accessible publiquement
[ ] HTTPS fonctionnel
⚠️ NE FAITES CECI QU'APRÈS AVOIR CONFIRMÉ QUE TOUT FONCTIONNE ⚠️
[ ] ✅ Tout fonctionne parfaitement depuis au moins 24h
[ ] Backup final de la base SQLite
cp db.sqlite3 backup/db.sqlite3.final_backup_$(date +%Y%m%d)
[ ] Backup du JSON
# Le fichier backup/sqlite_data.json est déjà créé
Suppression de db.sqlite3 du dossier projet
# Gardez-le quelques semaines par sécurité !
mv db.sqlite3 backup/
Gardez ces fichiers en sécurité :
backup/sqlite_data.json - Export JSON completbackup/db.sqlite3.final_backup_YYYYMMDD - Base SQLite finale[ ] Backup MariaDB régulier configuré
docker exec mariadb mysqldump -u root -p duhaz_blog > backup_$(date +%Y%m%d).sql
db.sqlite3 est intactDB_ENGINE dans .env pour revenir à SQLitedocs/MIGRATION_MARIADB.md pour le dépannage[ ] Base de données en UTF8MB4
ALTER DATABASE duhaz_blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
[ ] Tables vérifiées
SHOW TABLE STATUS LIKE '%';
docs/MIGRATION_MARIADB.mddocs/CONFIGURATION_RESEAU_MARIADB.mdMIGRATION_MARIADB_RAPIDE.mdDate de migration : _______________
Signature : _______________
Durée totale : _______________ minutes