secubox-openwrt/package/secubox/luci-app-network-tweaks/README.fr.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
Add complete French (fr) and Chinese (zh) translations for all documentation:

- Root files: README, CHANGELOG, SECURITY, BETA-RELEASE
- docs/: All 16 core documentation files
- DOCS/: All 19 deep-dive documents including embedded/ and archive/
- package/secubox/: All 123+ package READMEs
- Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/

Total: 346 translation files created

Each file includes language switcher links for easy navigation between
English, French, and Chinese versions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-20 10:00:18 +01:00

18 KiB

Tableau de Bord des Services Reseau (luci-app-network-tweaks)

Surveillance unifiee des services reseau avec decouverte dynamique des composants, suivi d'impact cumulatif et synchronisation automatique DNS/hosts

Version Licence Plateforme

Apercu

Le Tableau de Bord des Services Reseau (anciennement Network Tweaks) combine la synchronisation DNS automatique des VHosts avec une surveillance complete des services reseau. Il offre une visibilite en temps reel sur tous les services impactant le reseau, leur effet cumulatif sur votre systeme, et s'integre avec les Modes Reseau pour une configuration basee sur les profils.

Fonctionnalites Cles

Tableau de Bord des Services Reseau (v2.0+)

  • Decouverte Dynamique des Composants - Decouvre automatiquement les services lies au reseau depuis le catalogue de plugins SecuBox
  • Suivi d'Impact Cumulatif - Metriques en temps reel montrant le total des entrees DNS, VHosts et ports exposes
  • Integration Mode Reseau - Parametres de synchronisation controles par les profils de mode reseau
  • Rafraichissement Automatique - Mises a jour en direct toutes les 10 secondes
  • Agregation de Donnees Multi-Sources - Combine metadonnees de manifeste, etat d'installation, statut runtime et associations VHost
  • Interface Grille Moderne - Disposition responsive basee sur cartes avec vues detaillees des composants

Synchronisation de Base (v1.0+)

  • Generation DNS Automatique - Cree des entrees de configuration DNSmasq pour tous les domaines VHost actives
  • Gestion du Fichier Hosts - Met a jour /etc/hosts avec les entrees de domaines VHost
  • Synchronisation Temps Reel - Surveille les changements de configuration VHost et met a jour automatiquement
  • Integration LuCI - Interface web conviviale avec tableau de bord de statut
  • Configuration Flexible - Choisissez les fonctionnalites a activer (DNS, hosts, ou les deux)
  • Conscience Reseau - Detection automatique de l'IP LAN ou remplacement manuel

Table des Matieres

Installation

# Compiler le paquet
make package/luci-app-network-tweaks/compile

# Installer sur le routeur
opkg install luci-app-network-tweaks_*.ipk

# Activer et demarrer
/etc/init.d/network-tweaks enable
/etc/init.d/network-tweaks start

Demarrage Rapide

  1. Acceder au Tableau de Bord :

    • Naviguer vers Reseau -> Tableau de Bord Services Reseau dans LuCI
  2. Voir l'Impact Reseau :

    • Voir les composants actifs, entrees DNS, VHosts et ports exposes en un coup d'oeil
    • Surveiller le statut et les contributions de chaque service
  3. Configurer la Synchronisation :

    • Activer la synchronisation DNS et/ou hosts
    • Choisir le mode auto-sync ou manuel
  4. Integration avec VHost Manager :

    • Activer les VHosts dans VHost Manager
    • Network Tweaks les rend automatiquement resolvables sur votre LAN

Tableau de Bord des Services Reseau

Architecture

Manifestes Catalogue Plugins -> Moteur Decouverte -> Agregation Donnees -> Affichage Tableau de Bord
         |                            |                    |                      |
    fichiers *.json           Filtre reseau          Modele unifie          Cartes grille
    (metadonnees)           (ports/protocoles)      (JSON)                  + metriques

Sections du Tableau de Bord

1. Resume d'Impact

Quatre cartes de metriques montrant l'impact reseau global :

Metrique Description
Composants Actifs Services actuellement en cours d'execution
Entrees DNS Total des enregistrements DNS geres
VHosts Publies Hotes virtuels configures
Ports Exposes Ports reseau ouverts

2. Statut Mode Reseau

Affiche :

  • Mode reseau actuel (Routeur, DMZ, Voyage, etc.)
  • Parametres de synchronisation specifiques au mode
  • Si la synchronisation DNS est activee

3. Grille des Composants

Grille responsive de cartes de composants, chacune montrant :

Badges de Statut :

  • En cours - Service actif
  • Arrete - Service installe mais non en cours
  • N/A - Pas de runtime disponible

Etat d'Installation :

  • Installe - Tous les paquets presents
  • Partiel - Certains paquets manquants
  • Disponible - Pret a installer

Impact Reseau :

  • Entrees DNS - Nombre d'enregistrements DNS
  • VHosts - Hotes virtuels publies
  • Ports - Ports reseau exposes

Contribution :

  • Montre combien ce composant ajoute a la configuration globale

Actions :

  • Details - Voir les informations completes du composant

Modal Details Composant

Cliquer sur Details sur n'importe quelle carte pour voir :

Composant: AdGuard Home
Categorie: reseau
Etat Installation: installe
Etat Service: en cours

Impact Reseau:
- Entrees DNS: 1
- VHosts: 1
- Ports: 2

Capacites:
[filtrage-dns] [blocage-pubs] [publication-vhost]

Processus de Decouverte

  1. Scan des Manifestes : Scanne /usr/share/secubox/plugins/catalog/*.json
  2. Filtrage Reseau : Identifie les apps avec impact reseau :
    • network.inbound_ports[] - Apps exposant des ports reseau
    • network.protocols[] - Apps utilisant des protocoles reseau
    • capabilities[] - Capacites liees au reseau
  3. Requetes d'Etat :
    • Etat Installation : via opkg status ou apk info
    • Etat Runtime : via docker ps ou services init.d
    • Associations VHost : correspondances avec VHosts publies
  4. Calcul d'Impact : Compte entrees DNS, hosts, ports, VHosts
  5. Agregation : Combine en reponse JSON unifiee

Detection de Pertinence Reseau

Une app apparait dans le tableau de bord si son manifeste contient :

Ports Reseau :

{
  "network": {
    "inbound_ports": [53, 3000]
  }
}

Protocoles Reseau :

{
  "network": {
    "protocols": ["http", "https", "dns"]
  }
}

Capacites Reseau :

{
  "capabilities": [
    "vhost-publish",
    "dns-filtering",
    "proxy",
    "firewall",
    "vpn",
    "network-service"
  ]
}

Synchronisation de Base

Fonctionnement

  1. Surveille les VHosts : Observe /etc/config/vhosts pour les hotes virtuels actives
  2. Genere les Entrees :
    • DNSmasq : Cree /tmp/dnsmasq.d/50-vhosts.conf avec entrees address=/domain/ip
    • Hosts : Ajoute des entrees a /etc/hosts dans une section geree
  3. Rechargement Auto : Recharge automatiquement DNSmasq quand des changements sont detectes
  4. Declencheurs :
    • Changements de configuration VHost (via declencheurs UCI)
    • Evenements d'interface reseau up (LAN)
    • Synchronisation manuelle via LuCI ou CLI

Fichiers Generes

Configuration DNSmasq

Emplacement : /tmp/dnsmasq.d/50-vhosts.conf

# Entrees DNS auto-generees pour les domaines VHost Manager
# Gere par network-tweaks
# IP: 192.168.1.1
# Genere: 2026-01-01 12:00:00

address=/cloud.local/192.168.1.1
address=/adguard.local/192.168.1.1
address=/domoticz.local/192.168.1.1

Entrees Hosts

Ajoute a : /etc/hosts

# Gere par network-tweaks
# Entrees hosts auto-generees pour les domaines VHost Manager
# Genere: 2026-01-01 12:00:00
192.168.1.1 cloud.local
192.168.1.1 adguard.local
192.168.1.1 domoticz.local

Utilisation en Ligne de Commande

# Synchroniser toutes les entrees
network-tweaks-sync sync

# Voir le statut actuel
network-tweaks-sync status

# Nettoyer toutes les entrees gerees
network-tweaks-sync cleanup

Gestion du Service

# Activer le demarrage automatique
/etc/init.d/network-tweaks enable

# Demarrer le service
/etc/init.d/network-tweaks start

# Recharger la configuration (declenche sync)
/etc/init.d/network-tweaks reload

# Verifier le statut
/etc/init.d/network-tweaks status

Configuration

Parametres Interface Web

Trouves sous la section Configuration dans le tableau de bord :

Option Defaut Description
Activer Network Tweaks Oui Interrupteur principal pour synchronisation DNS/hosts
Sync Auto Oui Synchroniser automatiquement quand la config VHost change
Sync DNSmasq Oui Generer config DNSmasq pour resolution de domaine local
Sync /etc/hosts Oui Mettre a jour /etc/hosts avec domaines VHost
Interface LAN lan Interface reseau pour detection d'adresse IP
IP de Remplacement vide Specifier manuellement l'IP (vide = auto-detection)

Fichier de Configuration

Editer /etc/config/network_tweaks :

config global 'global'
	option enabled '1'            # Activer/desactiver Network Tweaks
	option auto_sync '1'          # Sync auto sur changements config
	option sync_hosts '1'         # Mettre a jour /etc/hosts
	option sync_dnsmasq '1'       # Generer config DNSmasq
	option lan_interface 'lan'    # Interface a utiliser pour IP
	option default_ip ''          # Remplacement IP manuel (vide = auto-detect)

Integration Mode Reseau

Chaque profil de mode reseau inclut des parametres network-tweaks :

Mode Routeur (Defaut)

config mode 'router'
	option network_tweaks_enabled '1'
	option network_tweaks_sync_hosts '1'
	option network_tweaks_sync_dnsmasq '1'
	option network_tweaks_auto_sync '1'

Mode Sniffer (Transparent)

config mode 'sniffer'
	option network_tweaks_enabled '0'    # Desactive pour transparence
	option network_tweaks_sync_hosts '0'
	option network_tweaks_sync_dnsmasq '0'

Autres Modes

Tous les autres modes (DMZ, Point d'Acces, Relais, Double NAT, Voyage, Multi-WAN, Relais VPN) activent network-tweaks avec synchronisation complete.

Documentation Technique

API RPC Backend

getNetworkComponents

Retourne tous les composants lies au reseau avec donnees agregees.

Requete : Pas de parametres

Reponse :

{
  "success": true,
  "components": [
    {
      "id": "adguardhome",
      "name": "AdGuard Home",
      "category": "network",
      "install_state": "installed",
      "service_state": "running",
      "network_impact": {
        "dns_entries": 1,
        "vhosts": 1,
        "ports": 2
      },
      "cumulative_contribution": {
        "dnsmasq_entries": 1,
        "hosts_entries": 1,
        "ports_opened": 2
      },
      "capabilities": ["dns-filtering", "vhost-publish"]
    }
  ],
  "cumulative_summary": {
    "total_components": 12,
    "active_components": 8,
    "total_dns_entries": 18,
    "total_vhosts": 6,
    "total_ports_exposed": 23
  },
  "network_mode": {
    "current_mode": "router",
    "mode_name": "Router",
    "sync_enabled": true
  }
}

getCumulativeImpact

Retourne le resume agrege de l'impact reseau.

setComponentEnabled

Active/desactive les fonctionnalites reseau d'un composant.

Requete :

{
  "app_id": "adguardhome",
  "enabled": true
}

Methodes Legacy

  • getStatus - Statut avec comptages VHost
  • syncNow - Declencher synchronisation immediate
  • getConfig - Obtenir configuration actuelle
  • setConfig - Mettre a jour configuration

Integration CLI

Commandes UBUS :

# Obtenir tous les composants
ubus call luci.network-tweaks getNetworkComponents

# Obtenir impact cumulatif
ubus call luci.network-tweaks getCumulativeImpact

# Obtenir configuration
ubus call luci.network-tweaks getConfig

# Declencher sync
ubus call luci.network-tweaks syncNow

Architecture Frontend

Vue Principale : /luci-static/resources/view/network-tweaks/overview.js

Methodes cles :

  • load() - Initialiser donnees et charger CSS
  • renderDashboard() - Construire tableau de bord complet
  • renderCumulativeImpact() - Cartes resume d'impact
  • renderNetworkModeStatus() - Indicateur de mode
  • renderComponentsGrid() - Cartes composants
  • showComponentDetails() - Modal details
  • pollData() - Rafraichissement auto (intervalle 10s)
  • updateDisplay() - Mise a jour DOM en direct

Style : /luci-static/resources/network-tweaks/dashboard.css

Grille responsive :

  • Bureau : grille 4 colonnes (min 200px)
  • Mobile : colonne unique
  • Effets hover et animations
  • Codage couleur des statuts

Depannage

Composants Non Affiches

Symptomes : Le tableau de bord affiche "Aucun composant impactant le reseau detecte"

Solutions :

  1. Verifier que le catalogue de plugins existe :

    ls /usr/share/secubox/plugins/catalog/
    
  2. Verifier le format du manifeste :

    cat /usr/share/secubox/plugins/catalog/adguardhome.json
    
  3. Tester RPC manuellement :

    ubus call luci.network-tweaks getNetworkComponents
    

Etat Service Affiche "N/A"

Causes :

  • Docker non installe/en cours
  • Script init n'existe pas
  • Mauvais runtime dans le manifeste

Solutions :

  1. Pour les apps Docker :

    docker ps --filter "name=adguardhome"
    
  2. Pour les services natifs :

    /etc/init.d/service-name running
    

Resolution DNS Ne Fonctionne Pas

Solutions :

  1. Verifier config dnsmasq :

    cat /tmp/dnsmasq.d/50-vhosts.conf
    
  2. Verifier dnsmasq en cours :

    ps | grep dnsmasq
    
  3. Verifier fichier hosts :

    cat /etc/hosts
    
  4. Declencher sync manuel :

    • Cliquer Sync Maintenant dans tableau de bord
    • Ou : /usr/sbin/network-tweaks-sync sync
  5. S'assurer que les clients utilisent le routeur comme DNS :

    nslookup cloud.local
    

Rafraichissement Auto Ne Fonctionne Pas

Solutions :

  1. Verifier console navigateur pour erreurs
  2. Verifier le polling (intervalle 10s)
  3. Forcer rechargement : Ctrl+Shift+R

Developpement

Ajouter des Composants Personnalises

Creer une entree catalogue de plugin :

# /usr/share/secubox/plugins/catalog/myapp.json
{
  "id": "myapp",
  "name": "Mon Application Personnalisee",
  "category": "network",
  "runtime": "native",
  "packages": ["myapp"],
  "network": {
    "inbound_ports": [8080],
    "protocols": ["http"]
  },
  "capabilities": ["vhost-publish"]
}

Ajouter de Nouvelles Methodes RPC

  1. Declarer dans la section list :

    json_add_object "myMethod"
    json_close_object
    
  2. Implementer dans la section call :

    myMethod)
        json_init
        json_add_boolean "success" 1
        # Implementation
        json_dump
        ;;
    

Developpement Frontend

Ajouter des sections au tableau de bord :

renderDashboard: function() {
    return E('div', { 'class': 'network-tweaks-dashboard' }, [
        this.renderCumulativeImpact(),
        this.renderMyNewSection(),  // Ajouter ici
        this.renderComponentsGrid()
    ]);
}

Exemples de Workflows

Configuration de Nextcloud avec Network Tweaks

  1. Installer Nextcloud :

    nextcloudctl install
    /etc/init.d/nextcloud start
    
  2. Creer VHost dans VHost Manager :

    • Domaine : cloud.local
    • Backend : http://127.0.0.1:80
    • SSL : Active
    • Activer VHost
  3. Network Tweaks automatiquement :

    • Cree entree DNS : cloud.local -> 192.168.1.1
    • Met a jour fichier hosts
    • Recharge DNSmasq
  4. Acceder depuis n'importe quel appareil :

    • Ouvrir https://cloud.local
    • Le domaine se resout vers le routeur
    • Nginx transmet a Nextcloud

Considerations de Performance

Temps de Reponse

  • Reponse RPC typique : 200-500ms
  • Chargement initial tableau de bord : 1-2s
  • Impact rafraichissement auto : Minimal

Polling

  • Intervalle : 10 secondes
  • Impact CPU : Minimal
  • Reseau : ~5KB par requete
  • Memoire : Stable (pas d'accumulation)

Optimisations Futures

  • Cache TTL 30 secondes pour scans de manifestes
  • Mises a jour de decouverte incrementales
  • Worker en arriere-plan pour requetes lourdes

Dependances

  • luci-base - Interface web LuCI
  • rpcd - Daemon RPC UBUS
  • luci-app-vhost-manager - VHost Manager (source des domaines)
  • dnsmasq - Serveur DNS

Journal des Modifications

v2.0.0 (2026-01-01) - Tableau de Bord Services Reseau

Fonctionnalites Majeures :

  • Decouverte dynamique des composants depuis catalogue plugins
  • Tableau de bord de suivi d'impact cumulatif
  • Integration mode reseau
  • Interface grille avec cartes composants
  • Rafraichissement auto avec polling 10 secondes
  • Modal details composants
  • Design responsive avec support mode sombre

Backend :

  • Ajout methode RPC getNetworkComponents
  • Ajout methode RPC getCumulativeImpact
  • Ajout methode RPC setComponentEnabled
  • Ajout de 8 fonctions helper pour decouverte/agregation
  • Integration statut mode reseau

Frontend :

  • Reecriture complete de overview.js
  • Nouveau dashboard.css avec systeme de grille
  • Cartes resume d'impact
  • Indicateur mode reseau
  • Grille composants avec badges de statut

Configuration :

  • Options network-tweaks ajoutees aux 8 modes reseau
  • Config reste retrocompatible

v1.0.0 - Version Initiale (Network Tweaks)

  • Synchronisation basique VHost vers DNS/hosts
  • Declencheur sync manuel
  • Affichage simple des statistiques
  • Auto-sync sur changements VHost
  • Integration Hotplug

Licence

Apache-2.0

Auteur

CyberMind Studio contact@cybermind.fr

Support

Contribution

Contributions bienvenues ! Veuillez :

  1. Tester les changements soigneusement
  2. Mettre a jour la documentation
  3. Suivre le style de code existant
  4. Soumettre une PR avec description claire