7.2 KiB
7.2 KiB
SIDEBAR MANAGEMENT - WEVADS SYSTEM
Documentation complète pour gérer la sidebar sans galère
🏗️ ARCHITECTURE SIDEBAR
Fichiers clés
/opt/wevads/public/includes/sidebar.php ← FICHIER PRINCIPAL SIDEBAR
/opt/wevads/public/dashboard.php ← Page principale
/opt/wevads/public/control-hub.php ← Control Hub
/opt/wevads/public/*.php ← Autres pages
Comment ça fonctionne
- sidebar.php contient TOUT le menu (HTML + CSS + JS)
- Les pages PHP doivent INCLURE sidebar.php pour l'afficher
- Inclusion :
<?php include("includes/sidebar.php"); ?>
🎯 RÈGLE D'OR
TOUJOURS MODIFIER sidebar.php, JAMAIS les pages individuelles !
📋 STRUCTURE ACTUELLE
/opt/wevads/public/includes/sidebar.php
Dashboard
Control Hub
Warning Config
NRN Automation
WEVAL Mind IA
├── Hub IA
├── Chat IA
├── CLI Web
└── ...
Brain (NOUVEAU)
├── Warning Config
├── Process Supervision
├── IA Routines Monitor ← DASHBOARD ROUTINES
└── Cloud Health
DELIVERADS
Production
✅ PROCÉDURE STANDARD - AJOUTER UN MENU
Étape 1: Localiser le fichier
FILE="/opt/wevads/public/includes/sidebar.php"
Étape 2: Backup OBLIGATOIRE
cp "$FILE" "${FILE}.backup_$(date +%s)"
Étape 3: Structure d'un menu simple
<li class="nav-item">
<a class="nav-link" href="/votre-page.php">
<i class="fas fa-icon-name"></i>
<span>Nom Menu</span>
</a>
</li>
Étape 4: Structure d'un menu avec sous-menus
<li class="nav-item has-submenu">
<a class="nav-link" href="#menuId" data-toggle="collapse">
<i class="fas fa-brain"></i>
<span>Menu Parent</span>
<i class="fas fa-chevron-down submenu-arrow"></i>
</a>
<ul class="collapse submenu" id="menuId">
<li>
<a href="/page1.php">
<i class="fas fa-icon"></i>
Sous-menu 1
</a>
</li>
<li>
<a href="/page2.php">
<i class="fas fa-icon"></i>
Sous-menu 2
</a>
</li>
</ul>
</li>
Étape 5: Insertion avec sed
# Après un menu existant (ex: après NRN Automation)
sed -i '/NRN Automation/a\
<li class="nav-item">\
<a class="nav-link" href="/nouveau-menu.php">\
<i class="fas fa-star"></i>\
<span>Nouveau Menu</span>\
</a>\
</li>' "$FILE"
🔧 INCLUSION DANS LES PAGES
Pages qui DOIVENT inclure sidebar.php
- dashboard.php
- control-hub.php
- Toutes pages principales
Méthode d'inclusion (DÉBUT du fichier PHP)
<?php include("includes/sidebar.php"); ?>
Vérifier inclusion
grep -l "sidebar.php" /opt/wevads/public/*.php
Ajouter inclusion automatiquement
# Dans dashboard.php
sed -i '1i <?php include("includes/sidebar.php"); ?>' /opt/wevads/public/dashboard.php
🚨 PROBLÈMES COURANTS
Problème 1: Menu non visible
Cause: sidebar.php non inclus dans la page Solution:
echo '<?php include("includes/sidebar.php"); ?>' > /tmp/include.txt
sed -i '1r /tmp/include.txt' /opt/wevads/public/votre-page.php
Problème 2: Menu existe mais pas affiché
Cause: Cache navigateur Solution: CTRL + SHIFT + R (force refresh)
Problème 3: Erreur PHP
Cause: Chemin include incorrect
Solution: Utiliser chemin relatif includes/sidebar.php
Problème 4: CSS cassé
Cause: Styles manquants dans sidebar.php
Solution: Vérifier balise <style> dans sidebar.php
📊 COMMANDES DE DIAGNOSTIC
Vérifier sidebar.php existe
ls -lah /opt/wevads/public/includes/sidebar.php
Voir structure menu Brain
grep -A 20 "Brain" /opt/wevads/public/includes/sidebar.php
Lister pages qui incluent sidebar
grep -r "sidebar.php" /opt/wevads/public --include="*.php"
Tester inclusion
php -l /opt/wevads/public/includes/sidebar.php
🎨 ICÔNES FONTAWESOME DISPONIBLES
fa-brain → Cerveau
fa-robot → Robot
fa-cloud → Cloud
fa-server → Serveur
fa-tasks → Tâches
fa-chart-line → Graphique
fa-cog → Paramètres
fa-exclamation → Alerte
fa-shield-alt → Sécurité
fa-database → Base de données
🔄 WORKFLOW COMPLET
# 1. Backup
cp /opt/wevads/public/includes/sidebar.php /opt/wevads/public/includes/sidebar.php.backup
# 2. Éditer (exemple: ajouter "Test Menu")
sed -i '/Brain Menu/a\
<li class="nav-item">\
<a class="nav-link" href="/test.php">\
<i class="fas fa-star"></i>\
<span>Test Menu</span>\
</a>\
</li>' /opt/wevads/public/includes/sidebar.php
# 3. Vérifier
grep -A 5 "Test Menu" /opt/wevads/public/includes/sidebar.php
# 4. Assurer inclusion dans dashboard
grep -q "sidebar.php" /opt/wevads/public/dashboard.php || \
sed -i '1i <?php include("includes/sidebar.php"); ?>' /opt/wevads/public/dashboard.php
# 5. Permissions
chown www-data:www-data /opt/wevads/public/includes/sidebar.php
chmod 644 /opt/wevads/public/includes/sidebar.php
# 6. Restart Apache
systemctl restart apache2
# 7. Tester
curl -I http://localhost:5821/dashboard.php
📝 TEMPLATE MENU COMPLET
<!-- Mon Nouveau Menu -->
<li class="nav-item has-submenu">
<a class="nav-link" href="#monMenu" data-toggle="collapse">
<i class="fas fa-star"></i>
<span>Mon Menu</span>
<i class="fas fa-chevron-down submenu-arrow"></i>
</a>
<ul class="collapse submenu" id="monMenu">
<li>
<a href="/page1.php">
<i class="fas fa-circle"></i>
Page 1
</a>
</li>
<li>
<a href="/page2.php">
<i class="fas fa-circle"></i>
Page 2
</a>
</li>
</ul>
</li>
🎯 CHECKLIST AVANT MODIFICATION
- Backup sidebar.php créé
- Structure HTML valide
- IDs uniques pour collapse
- Icônes FontAwesome valides
- Chemins pages corrects
- Permissions correctes (644)
- Apache redémarré
- Cache navigateur vidé
💡 ASTUCES
- Toujours faire backup avant modification
- Tester sur une copie d'abord
- Utiliser sed pour modifications automatiques
- Vérifier syntaxe avec grep après insertion
- Restart Apache après chaque modification
- CTRL+SHIFT+R dans navigateur
🆘 EN CAS DE PROBLÈME
Restaurer backup
cp /opt/wevads/public/includes/sidebar.php.backup /opt/wevads/public/includes/sidebar.php
systemctl restart apache2
Reset complet
# Restaurer depuis backup le plus récent
LATEST=$(ls -t /opt/wevads/public/includes/sidebar.php.backup* | head -1)
cp "$LATEST" /opt/wevads/public/includes/sidebar.php
systemctl restart apache2
📞 AIDE RAPIDE
# Info système
/opt/wevads/scripts/sidebar_manager.sh info
# Ajouter menu
/opt/wevads/scripts/sidebar_manager.sh add "Nom|URL|Icon|Parent"
# Fixer inclusion
/opt/wevads/scripts/sidebar_manager.sh fix
# Vérifier config
/opt/wevads/scripts/sidebar_manager.sh verify