Projet

Général

Profil

Guide WPForge » Historique » Révision 9

Révision 8 (Johnny Fontaine, 15/04/2026 17:29) → Révision 9/28 (Johnny Fontaine, 15/04/2026 17:33)

# <img style="width: 180px;" src="clipboard-202603161125-sbyni.png"> Guide d'utilisation WPForge 

 > [!Note] Ce guide décrit les actions courantes pour les professeurs dans WPForge. 

 Bienvenue sur WPForge ! Ce guide vous accompagne dans la est une plateforme complète de gestion de vos sites WordPress construite avec notre plateforme. 

 ## 📋 Table FastAPI (backend) et React/Vite (frontend). Elle propose des matières 

 1. [Démarrage](#démarrage) 
 2. [Vue d'ensemble du tableau de bord](#vue-densemble-du-tableau-de-bord) 
 3. [Gestion des sites](#gestion-des-sites) 
 4. [Gestion des utilisateurs](#gestion-des-utilisateurs) 
 5. [Plugins outils pour gérer les sites WordPress, utilisateurs, plugins, thèmes et thèmes](#plugins-et-thèmes) 
 6. [Surveillance et sauvegardes](#surveillance-et-sauvegardes) 
 7. [Dépannage](#dépannage) bien plus via une interface web élégante. 

 --- 

 ## 🏁 Démarrage 

 ### Accéder à la plateforme 

 Une fois le backend et le frontend lancés : 
 - 🖥️ API Backend : http://127.0.0.1:8000 
 - 🌐 Interface frontend : http://localhost:5173 (développement) ou votre domaine déployé 

 ``` 
 ┌─────────────────────────────────────────┐ ┌─────────────────────────────────────────────────────────────┐          Points d'accès                      Architecture WPForge                                  ├─────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────┤                                                                                                        │ 
 │     Appareil utilisateur                    │ 
 │          │                                 │ 
 │          ▼                                 │ 
 │     ┌─────────────────────────────────┐ ┌──────────────┐       ┌──────────────┐       ┌───────────┐    │ 
 │     │        https://votre-domaine.com     Navigateur    │ 
 │ │────▶│     └───────────────┬─────────────────┘ Frontend     │────▶│    Backend
                       │                      │            ┌───────┴───────┐                 
 (React/Vite)            ▼                 ▼                   
 │        ┌────────┐      ┌──────────┐         │ 
 │        │Frontend│      │     API      │         │ 
 │        │ (Vite)                 │(FastAPI) │            │ 
 │        └────────┘      └──────────┘         │ 
 │                                │            │ 
 │                                ▼            │ 
 │                           ┌─────────┐        │ 
 │                           │WP-CLI     └──────────────┘       └──────────────┘       └─────┬─────┘                             └─────────┘                                                           
 └─────────────────────────────────────────┘ 
 ``` 

 ### Première connexion 

 1. Accédez à la page de connexion 
 2. Utilisez les identifiants admin créés lors de l'installation (vérifiez `.admin_token` pour le token temporaire si nécessaire) 
 3. Changez votre mot de passe lors de la première connexion 

 --- 

 ## 📊 Vue d'ensemble du tableau de bord 

 Le tableau de bord offre une vue d'ensemble : 

 | Widget | Description | 
 |--------|-------------| 
 | 🌍 **Aperçu des sites** | Nombre de sites WordPress gérés | 
 | 💻 **Santé système** | Utilisation CPU, mémoire et disque | 
 | 📝 **Activité récente** | Dernières actions effectuées | 
 | ⚡ **Actions rapides** | Ajouter un site, sauvegarder, vérifier les mises à jour | 

 ``` 
 ┌─────────────────────────────────────────────┐ 
 │                Tableau de bord WPForge├─────────────────────────────────────────────┤ 
                                              │ 
 │                                ┌─────────────────────┼────┐    ┌─────────────┐ ┌─────────────┐              │ 
 │                                  🌍Sites       │ │ 💻Système     │              │ 
 │      12        │ │ CPU: 45%      │              │                                    Actifs                        ┌────────┐│ RAM: 62%      │              │   └─────────────┘ └─────────────┘                                             └───────────────▶│ WP-CLI
   ┌─────────────────────────────────────┐                                                        └────────┘ │ 
 │    📝Activité récente                    │     │                               ┌───────────────────┴─────────┤   • Plugin mis à jour - il y a 2h      │     │                                                       ▼          ▼    • Sauvegarde créée - il y a 5h                                                         ┌────────┐    • Nouvel utilisateur - il y a 1j                                  └───────────────▶│    └─────────────────────────────────────┘     │ 
 │                                               │ 
 │ MySQL    ┌─────────────────────────────────────┐    ⚡Actions rapides                     │     │                                                   └────────┘[+ Nouveau] [💾Sauvegarder] [🔄]     │     │ 
 │    └─────────────────────────────────────┘     │ └─────────────────────────────────────────────────────────────┘ 
 └─────────────────────────────────────────────┘ 
 ``` 

 --- ## ✨ Fonctionnalités 

 ## - 🌍 Gestion **Gestion des sites 

 ### Ajouter un nouveau site 

 1. Cliquez sur "Sites" dans la barre latérale sites** — Lister, ajouter, supprimer des installations WordPress 
 2. Cliquez sur "Ajouter un site" 
 3. Remplissez : 
    - Nom du site 
    - URL WordPress (ex: https://example.com) 
    - Chemin WP-CLI (si pas dans le PATH système) 
    - Identifiants base de données (optionnel, pour opérations DB directes) 
 4. Cliquez sur "Enregistrer" 

 ### Opérations sur un site 

 Pour chaque site, vous pouvez : 

 | Action | Description | 
 |--------|-------------| 
 | 👁️ **Voir 👥 **Gestion des utilisateurs et rôles** — Gérer les détails** | Version PHP, WP, thème actif | accès et permissions 
 | ⌨️ **Exécuter WP-CLI** | Exécuter des commandes via le terminal intégré | 
 | - 🔌 **Gérer **Opérations sur les plugins** |  Installer, activer, mettre à jour, supprimer | 
 | - 🎨 **Gérer les **Gestion des thèmes** | Installer — Parcourir et gérer les thèmes | WordPress 
 | - 📸 **Captures d'écran** | **Capture d'écrans** — Capturer le frontend/backend | 
 | 💾 **Sauvegarder/Restaurer** | Sauvegardes manuelles ou automatisées | 
 | 🔍 **Rechercher-Remplacer** | Remplacer des chaînes en base de données | 

 ``` screenshots pour la surveillance 
 ┌────────────────────────────────────────────┐ 
 │             Flux de gestion des - 💓 **Surveillance et vérifications** — Maintenir les sites  en bonne santé 
 ├────────────────────────────────────────────┤ 
 │                                              │ 
 │    Liste des sites ──▶ Ajouter site          │ 
 │        │                     │                   │ 
 │        │                     ▼                   │ 
 │        │               ┌────────────┐            │ 
 │        │               │ Remplir      │            │ 
 │        │               │ leformulaire│            │ 
 │        │               └─────┬──────┘            │ 
 │        │                     │                    │ 
 │        ▼                     ▼                    │ 
 │    ┌─────────────────────────────┐             │ 
 │    │        Détails du site          │             │ 
 │    ├─────────────────────────────┤             │ 
 │    │ 👁️ Voir    ⌨️ Terminal      │             │ 
 │    │ 🔌 Plugins    🎨 Themes       │             │ 
 │    │ 📸 Screenshots    - 💾 Backup │             │ **Sauvegardes automatiques** — Sauvegarde via WP-CLI 
 │    └─────────────────────────────┘             │ 
 └───────────────────────────���────────────────┘ 
 ``` - 🔗 **API REST** — Pour l'extensibilité et l'automatisation 

 --- 

 ## 👥 Gestion des utilisateurs 🚦 Démarrage rapide 

 ### Rôles et permissions 📋 Prérequis 

 WPForge gère les rôles suivants : 

 | Rôle | Permissions | - 🐍 Python 3.8+ 
 |------|-------------| - 🟢 Node.js 14+ 
 | 👑 **Administrateur** | Accès complet à tous les sites et paramètres | - 🐳 Docker (optionnel, pour la production) 
 | 📢 **Gestionnaire** | Peut gérer - 📦 WP-CLI (pour les sites mais pas les paramètres système | 
 | 🔧 **Opérateur** | Peut effectuer des opérations mais pas modifier les configs | 
 | 👀 **Lecteur** | Accès en lecture seule | WordPress) 

 ### Ajouter des utilisateurs 🖥️ Configuration du Backend 

 1. Allez dans "Utilisateurs" dans la barre latérale ```bash 
 2. Cliquez sur "Ajouter un utilisateur" cd backend 
 3. Entrez le nom d'utilisateur, l'email, le rôle python3 -m venv venv 
 4. Définissez un mot de passe ou envoyez un lien de réinitialisation source venv/bin/activate 
 5. Cliquez sur "Créer l'utilisateur" 

 ``` pip install -r requirements.txt 
 ┌────────────────────────────────────────┐ uvicorn main:app --reload --host 127.0.0.1 --port 8000 
 │         Hiérarchie des rôles utilisateurs │ ``` 

 ### 🖼️ Configuration du Frontend 

 ```bash 
 ├────────────────────────────────────────┤ cd frontend 
 │                                          │ npm install 
 │             👑 Administrateur             │ 
 │                 │                          │ 
 │         ┌───────┴───────┐                  │ 
 │         ▼                 ▼                  │ 
 │     📢 Gestionnaire npm run dev    🔧 Opérateur         │ # serveur de dev sur http://localhost:5173 
 │         │                 │                  │ 
 │         │                 │                  │ 
 │         ▼                 ▼                  │ 
 │         └──────────┬──┘                  │ 
 │                    ▼                      │ 
 │                👀 Lecteur                 │ 
 └────────────────────────────────────────┘ 
 ``` 

 --- 

 ## 🔌 Plugins et thèmes 

 ### Opérations groupées 🏗️ Build de production 

 Depuis la page "Plugins" ou "Thèmes" : 

 1. Sélectionnez plusieurs éléments ```bash 
 2. Choisissez l'action : Activer, Désactiver, Mettre à jour, Supprimer cd frontend 
 3. Appliquez aux sites sélectionnés npm run build    # sortie dans frontend/dist/ 
 ``` 

 ### Gestion par site 🚀 Déploiement 

 Naviguez vers un site spécifique → onglet "Plugins"/"Thèmes" pour Utilisez le script de déploiement fourni (nécessite root) : 

 - 📥 Installer depuis WordPress.org ou uploader un ZIP ```bash 
 - ✅ Voir le statut actif/inactif sudo scripts/deploy.sh [--update] 
 - 🔄 Mettre à jour les éléments individuellement 
 - 🔍 Rechercher dans le dépôt ``` 

 ``` 
 ┌─────────────────────────────────────────┐ ┌────────────────────────────────────────┐                   Flux de gestion Plugins/Thèmes         déploiement         ├─────────────────────────────────────────┤ ├────────────────────────────────────────┤                                                                                   │ 
 │    Page Plugins/Themes                          ./deploy.sh                            │ 
 │         │                                  │ 
 │         ▼                                  │ 
 │    ┌────────────────────┐                  │ 
 │    │ Sélectionner         │                  │ 
 │    │ ☑ Plugin A                                                 │ 
 │    │ ☑ Plugin B          │                  │ 
 │    │ ☐ Plugin C          │                  │ 
 │    └──────┬───────────┘                  │ 
 │                                                                        │ 
 │    ┌────────────────────┐                      ┌─────────────┐                        │ 
 │        │InstallationChoisir action                                   [Activer] [Désact]    dépendances│                          │ [Maj]     [Supprim]     └──────┬──────┘                          └──────┬───────────┘                  │ 
 │                      ▼                               │ 
 │    ┌────────────────────┐                  │ 
 │    │ ✅ Succès !           │                  │ 
 │    └────────────────────┘                  │ 
 └─────────────────────────────────────────┘ 
 ``` 

 --- 

 ## 📊 Surveillance et sauvegardes 

 ### Vérifications de santé 

 WPForge vérifie périodiquement : 

 | Vérification | Description | 
 |-------|-------------| 
 | 🌐 **Disponibilité du site** | Réponse HTTP 200 | 
 | ⏱️ **Temps de réponse** | Vitesse de chargement | 
 | 🔒 **Certificat SSL** | Validité du certificat | 
 | 💾 **Espace disque** | Stockage disponible | 

 Voir les données dans "Surveillance" → "Vérifications de santé" 

 ### Gestion des sauvegardes 

 #### Créer une sauvegarde 

 1. **Manuelle** : Sélectionnez un site → "Sauvegardes" → "Créer une sauvegarde" 
 2. **Planifiée** : Configurez dans les paramètres du site → "Planification" 

 #### Restaurer une sauvegarde 

 1. Allez dans l'onglet "Sauvegardes" du site 
 2. Localisez la sauvegarde souhaitée 
 3. Cliquez sur "Restaurer" et confirmez 

 > ⚠️ **Note** : Les sauvegardes incluent les fichiers et la base de données. Assurez-vous d'avoir suffisamment d'espace. 

 ``` 
 ┌─────────────────────────────────────────┐ 
 │            Flux des sauvegardes             │ 
 ├─────────────────────────────────────────┤ 
 │                                           │ 
 │    ┌─────────┐            ┌─────────────┐                                 │ 
 │        │Build frontend│                      Manuelle│        │    Planifiée    │          │   │Sauvegarde│       │    Sauvegarde    │          │ 
 │    └───┬───┘            └──────┬──────┘                                 │ 
 │        │                   │                   │ 
 │                                                 │ 
 │     ┌─────────────┐    ┌─────────────────────────────────┐       ┌──────────────┐      │ 
 │              Créer sauvegarde             │       │ 
 │    │    • Base de données (mysqldump)    │ Nginx   • Fichiers (wp-content)         │       │ 
 │    │    • Horodatage                     │       │ 
 │    └──────────────┬────────────────┘       │ 
 │                   ▼                         │ 
 │    ┌─────────────────────────────────┐       │ 
 │    │ Systemd        Stocker sauvegarde                     │ 
 │      /backups/site_2024-01-15/            │ 
 │    └──────────────┬────────────────┘       Config     
 │                   ▼                         │ 
 │    ┌─────────────────────────────────┐      
 Service          │ ✅ Sauvegarde terminée          │       │ 
 │    └─────────────────────────────────┘       │ 
 └─────────────────────────────────────────┘ 
 ``` 

 --- 

 ## 🔧 Dépannage 

 ### Problèmes courants 

 #### ❌ "Impossible de se connecter au site" 

 - ✅ Vérifiez que WP-CLI est installé et accessible 
 - ✅ Vérifiez l'URL du site et les identifiants 
 - ✅ Assurez-vous que le serveur peut accéder à l'instance WordPress (pare-feu/réseau) 

 #### ❌ "La sauvegarde a échoué" 

 - ✅ Vérifiez l'espace disque disponible 
 - ✅ Vérifiez que mysqldump est installé (pour les sauvegardes DB) 
 - ✅ Vérifiez les permissions dans le répertoire de sauvegarde 

 #### ❌ "La mise à jour du plugin/thème a échoué" 

 - ✅ Désactivez temporairement les plugins de cache 
 - ✅ Vérifiez les permissions sur le répertoire wp-content 
 - ✅ Essayez la mise à jour via WP-CLI directement pour isoler le problème 

 ### Obtenir de l'aide 

 - 📂 Consultez les logs dans le répertoire `./logs/` 
 - 📸 Review les captures d'écran dans `./screenshots/` pour des indices visuels 
 - 📡 Visitez la documentation API sur http://127.0.0.1:8000/docs 
 - 🐛 Pour les problèmes persistants, consultez le gestionnaire de problèmes du projet 

 --- 

 ## 💡 Astuces et bonnes pratiques 

 ### Raccourcis clavier 

 | Raccourci | Action | 
 |----------|--------| 
 | `/?` | Afficher l'aide | 
 | `g s` | Aller à la page Sites | 
 | `g u` | Aller à la page Utilisateurs | 
 | `g p` | Aller à la page Plugins | 
 | `g t` | Aller à la page Thèmes | 

 ### Commandes WP-CLI 

 WPForge expose un terminal pour chaque site. Commandes utiles : 

 | Commande | Description | 
 |---------|-------------| 
 | `wp core update` | Mettre à jour WordPress | 
 | `wp plugin list` | Liste des plugins | 
 | `wp theme status` | Statut des thèmes | 
 | `wp db optimize` | Optimiser les tables | 
 | `wp search-replace 'old' 'new'` | Remplacer des chaînes en base | 

 ### Support Multisite 

 WPForge fonctionne avec les réseaux WordPress Multisite : 

 - Traitez le réseau comme un seul site 
 - Les opérations affectent tous les sous-sites sauf indication 
 - Utilisez WP-CLI avec le paramètre `--url` pour des commandes spécifiques 

 ``` 
 ┌─────────────────────────────────────────┐ 
 │          Architecture Multisite              │ 
 ├─────────────────────────────────────────┤ 
 │                                           │ 
 │           ┌─────────────┐                    │ 
 │           │    Réseau     └─────────────┘    (Root) └──────────────┘          └─────┬─────┘                              
                                                    ┌───────┼───────┐                  │ 
 │         │         │         │                  │ 
 │                                                        │ 
 │     ┌─────┐ ┌─────┐ ┌─────┐              ┌─────────────────────────────┐       │ 
 │     │Sub1│Sub2        ✅ Terminé !           │Sub3      └─────┘ └─────┘ └─────┘              └─────────────────────────────┘      └─────────────────────────────────────────┘ └────────────────────────────────────────┘ 
 ``` 

 --- 

 

 ## 🔒 Bonnes pratiques de sécurité 📜 Licence 

 1. 🔄 **Garder WPForge à jour** — Récupérez régulièrement les dernières modifications 
 2. 🔐 **Utiliser des mots de passe forts** — Pour WPForge et l'admin WordPress 
 3. 🚫 **Restreindre l'accès** — Limitez l'accès réseau aux IPs de confiance 
 4. 🔒 **Activer HTTPS** — Utilisez le template Nginx fourni avec SSL 
 5. 💾 **Sauvegardes régulières** — Planifiez des sauvegardes automatisées 
 6. 📊 **Surveiller les logs** — Consultez `./logs/` pour toute activité inhabituelle 
 MIT