# 🛠️ Scripts du Blog Duhaz

Ce dossier contient tous les scripts utilitaires pour le projet.

## 🚀 Scripts de Démarrage

### `install.sh`
Script d'installation automatique du projet.

**Usage** :
```bash
cd /Users/duhaz/projets/blog-duhaz
./scripts/install.sh
```

**Actions effectuées** :
- Création de l'environnement virtuel Python
- Installation des dépendances
- Vérification de la configuration (.env)
- Application des migrations de base de données
- Collection des fichiers statiques (optionnel)

---

### `start.sh`
Script de démarrage rapide du serveur de développement.

**Usage** :
```bash
cd /Users/duhaz/projets/blog-duhaz
./scripts/start.sh
```

**Actions effectuées** :
- Activation de l'environnement virtuel
- Démarrage du serveur Django
- Affichage de l'URL d'accès

---

## 🗑️ Scripts de Maintenance

### `clean_sessions.sh`
Nettoie les sessions expirées de Django.

**Usage** :
```bash
./scripts/clean_sessions.sh
```

---

## 🔄 Scripts de Migration

### `migrate_to_django5.py`
Script automatique de migration de Django 3.2 vers Django 5.1.

**Usage** :
```bash
python scripts/migrate_to_django5.py
```

**Actions effectuées** :
- Mise à jour du code dépréciée
- Adaptation des settings
- Génération de la nouvelle SECRET_KEY

---

### `migrate_to_mariadb.py`
Script automatique de migration de SQLite vers MariaDB.

**Usage** :
```bash
python scripts/migrate_to_mariadb.py
```

**Actions effectuées** :
- Export des données depuis SQLite (JSON)
- Création des tables dans MariaDB
- Import des données dans MariaDB
- Vérification de la migration

**Prérequis** :
- Conteneur MariaDB configuré et démarré
- Fichier .env avec les paramètres MariaDB
- mysqlclient installé (`pip install mysqlclient`)

**Documentation** :
- Guide complet : `docs/MIGRATION_MARIADB.md`
- Aide-mémoire : `MIGRATION_MARIADB_RAPIDE.md`
- Checklist : `CHECKLIST_MIGRATION.md`

---

### `setup_mariadb.sh`
Configure la base de données MariaDB sur le conteneur Docker.

**Usage** :
```bash
./scripts/setup_mariadb.sh
```

**Actions effectuées** :
- Vérification du conteneur MariaDB
- Création de la base de données
- Création de l'utilisateur
- Attribution des privilèges

**Note** : À exécuter depuis la machine qui a accès au conteneur Docker (généralement le Raspberry Pi).

---

### `test_mariadb_connection.py`
Teste la connexion à MariaDB avant la migration.

**Usage** :
```bash
python scripts/test_mariadb_connection.py
```

**Tests effectués** :
- Import du module MySQLdb
- Connexion directe à MariaDB
- Connexion via Django
- Affichage de la version MariaDB

**Recommandation** : Exécutez ce script AVANT de lancer la migration pour vérifier que tout est correctement configuré.

---

### `setup_mariadb.sql`
Script SQL pour configurer manuellement MariaDB.

**Usage** :
```bash
# Option 1 : Copier/coller dans le client MySQL
docker exec -it mariadb mysql -u root -p
# Puis copier le contenu du fichier

# Option 2 : Exécution directe
docker exec -i mariadb mysql -u root -p < scripts/setup_mariadb.sql
```

---

## ✅ Scripts de Test et Validation

### `check_seo.py`
Vérifie les métadonnées SEO des articles.

**Usage** :
```bash
python scripts/check_seo.py
```

**Vérifie** :
- Présence des métadonnées de base
- Open Graph tags
- Twitter Cards
- Schema.org JSON-LD

---

### `test_og_meta.py`
Teste les métadonnées Open Graph d'un article.

**Usage** :
```bash
python scripts/test_og_meta.py
```

---

### `test_opengraph.py`
Teste la génération des balises Open Graph.

**Usage** :
```bash
python scripts/test_opengraph.py
```

---

### `verify_opengraph.sh`
Vérifie les balises Open Graph dans les pages HTML générées.

**Usage** :
```bash
./scripts/verify_opengraph.sh
```

---

### `test_social_share.sh`
Teste le composant de partage social.

**Usage** :
```bash
./scripts/test_social_share.sh
```

---

### `test_debug.py`
Script de débogage général pour le développement.

**Usage** :
```bash
python scripts/test_debug.py
```

---

## 📝 Notes d'utilisation

### Exécution depuis la racine du projet

Tous les scripts peuvent être exécutés depuis la racine du projet :

```bash
# Depuis /Users/duhaz/projets/blog-duhaz
./scripts/install.sh
./scripts/start.sh
python scripts/check_seo.py
```

### Permissions d'exécution

Si un script shell n'est pas exécutable :

```bash
chmod +x scripts/nom_du_script.sh
```

### Environnement virtuel

Les scripts Python nécessitent que l'environnement virtuel soit activé :

```bash
source venv/bin/activate
python scripts/nom_du_script.py
```

Ou utilisez les scripts shell qui activent automatiquement l'environnement.

---

## 🗂️ Organisation

```
scripts/
├── README.md                        ← Vous êtes ici
│
├── 🚀 Démarrage
│   ├── install.sh                  ← Installation complète
│   └── start.sh                    ← Démarrage rapide
│
├── 🗑️ Maintenance
│   └── clean_sessions.sh           ← Nettoyage sessions
│
├── 🔄 Migration
│   ├── migrate_to_django5.py       ← Migration Django 3→5
│   ├── migrate_to_mariadb.py       ← Migration SQLite→MariaDB
│   ├── setup_mariadb.sh            ← Config MariaDB (shell)
│   ├── setup_mariadb.sql           ← Config MariaDB (SQL)
│   └── test_mariadb_connection.py  ← Test connexion MariaDB
│
└── ✅ Tests & Validation
    ├── check_seo.py
    ├── test_og_meta.py
    ├── test_opengraph.py
    ├── test_debug.py
    ├── verify_opengraph.sh
    └── test_social_share.sh
```

---

## 🔗 Liens Utiles

- [Documentation principale](../README.md)
- [Documentation complète](../docs/)
- [Guide de démarrage](../docs/DEMARRAGE.md)

---

**Dernière mise à jour** : 3 novembre 2025

## 🆕 Nouveautés

### Migration vers MariaDB (nov. 2025)
Ajout de scripts complets pour migrer de SQLite vers MariaDB :
- Configuration automatique de MariaDB
- Migration automatique des données
- Tests de connexion
- Documentation complète

Consultez `MIGRATION_MARIADB_RAPIDE.md` pour démarrer rapidement.
