Astral 360 Astral Toolbox

Configuration du noyau (Options)

Les cinq onglets d'Options — Extensions, General, Store, Notifications, Version — et comment ajouter ou retirer des extensions.

Tout ce qui relève du noyau (par opposition à une extension précise) se configure sous Options dans la barre latérale du plugin. Options est une page à onglets : Extensions, General, Store, Notifications et Version.


Onglet Extensions

Options — Extensions

Liste chaque extension trouvée sur le disque (extensions/<slug>/manifest.php), qu'elle soit incluse ou installée depuis la Store.

Colonne Signification
Name / Version / Description Directement issu du manifest.php de l'extension.
Status Active (vert) — l'extension est chargée : son entrée de barre latérale, ses routes et ses crons sont actifs. Disabled (gris) — les fichiers restent sur le disque mais rien n'est chargé.
Home tile Shown / Hidden — ne contrôle que la tuile du tableau de bord. Une extension masquée continue de fonctionner (crons, alertes, etc.) ; seule sa tuile n'est pas affichée à l'accueil.

Actions :

  • Enable / Disable — bascule l'extension sans toucher à ses fichiers ni à ses réglages. Désactiver est la bonne façon de mettre une extension en pause temporairement.
  • Hide / Show — bascule la tuile d'accueil.

Les tuiles de l'accueil peuvent aussi être réordonnées par glisser-déposer ; l'ordre est enregistré automatiquement.


Onglet General

Options — General

Champ Défaut Comportement
Landing page Home La page qui s'ouvre quand vous cliquez sur le plugin dans la barre latérale de WHM. Seules les extensions activées apparaissent dans la liste. Si vous désactivez plus tard l'extension choisie, le plugin revient à Home — et restaure votre préférence quand vous la réactivez.

Onglet Store

Options — Store

La Store liste les extensions disponibles pour ce serveur depuis le catalogue distant (https://static.astralinternet.com/WHM-Toolbox/extensions/catalog.php). Le catalogue est filtré par IP de serveur — les extensions auxquelles votre serveur n'est pas autorisé n'apparaissent tout simplement pas. La réponse du catalogue est mise en cache localement 1 heure ; le bouton Refresh vide le cache.

Badge de statut Signification
Not installed Disponible à l'installation.
Installed Présente sur le disque, à la version du catalogue.
Update available Le catalogue a une version plus récente que celle sur le disque.

Actions :

  • Install — télécharge <slug>-<version>.zip, vérifie sa somme de contrôle SHA-256, valide la structure de l'archive (aucun échappement de chemin), l'extrait dans extensions/<slug>/, et l'active immédiatement.
  • Update — même chaîne avec la version plus récente. Vos surcharges de réglages *.user.json sont préservées.
  • Reinstall — réapplique la version courante (répare les fichiers corrompus/manquants).
  • Uninstall — désactive l'extension et supprime son dossier. Les fichiers *.user.json sont préservés, pour qu'une réinstallation future retrouve vos réglages.

Si le catalogue est injoignable, l'onglet affiche Catalog offline avec l'erreur et un bouton Retry.


Onglet Notifications

Options — Notifications

Cet onglet configure le Notifier central utilisé par le noyau et toutes les extensions. Comprendre le modèle de livraison rend les champs évidents :

Comment fonctionne la livraison

Chaque notification (sujet + corps texte + corps HTML optionnel) est expédiée sur un maximum de deux canaux indépendants :

  1. Courriel — toujours, via PHPMailer. Le rapport HTML complet est envoyé par le plugin lui-même :
    • Avec un relais SMTP configuré → connexion socket directe vers votre relais (hôte/port/chiffrement ci-dessous). Les connexions TLS imposent la validation du certificat (pas de certificats auto-signés).
    • Sans relais → le message est construit par PHPMailer et acheminé vers le MTA local du serveur (/usr/sbin/sendmail -t -oi via proc_open, ce qui fonctionne même sur les PHP durcis où popen/mail() sont désactivés).
    • Il n'y a aucune limite de taille — les rapports HTML complets passent toujours.
  2. Contact Manager (SMS / Slack / Pushbullet / …) — seulement si la bascule est active. Une version texte courte est expédiée via l'icontact de cPanel, qui diffuse vers les canaux configurés dans WHM → Server Contacts. Le corps est plafonné à 8 000 octets (sous le seuil de rejet silencieux d'icontact).

Aucun canal n'est un repli pour l'autre : un échec de courriel ne bascule pas vers le SMS, et vice-versa. Les échecs sont journalisés (voir diagnostics plus bas).

Éviter les courriels en double : si « Contact Manager channels » est actif et que la méthode Email est aussi activée dans WHM → Server Contacts, vous recevrez le courriel deux fois (une fois riche via PHPMailer, une fois courte via icontact). Désactivez la méthode Email dans Server Contacts et n'y gardez que SMS/Slack.

Canaux détectés

Un tableau en lecture seule montrant la destination actuelle de chaque canal et s'il semble configuré — ex. Email (PHPMailer): admin@example.com via SMTP smtp.example.com:587 (tls).

Courriel et canaux (formulaire)

Champ Défaut Notes
Notification tag AstralToolbox Identifiant d'événement utilisé pour les filtres par canal dans Contact Manager et dans le journal de débogage. Lettres, chiffres, soulignés seulement.
Default priority High Appliquée quand une extension n'en précise pas. Disabled est un coupe-circuit maître : toute notification est supprimée (pratique en maintenance).
Email recipient (vide) Adresses séparées par des virgules. Vide → revient au CONTACTEMAIL du serveur (depuis /etc/wwwacct.conf).
From address (vide) Vide → root@<hostname>. Avec un relais SMTP, mettez ici un expéditeur autorisé par votre relais (SPF/DKIM).
From name Astral Toolbox Nom affiché dans la ligne From.
Use an authenticated SMTP relay off Off → sendmail local ; on → les champs SMTP ci-dessous s'appliquent.
SMTP host Nom d'hôte du relais (requis quand le relais est activé).
Port & encryption 587 / TLS 587 = STARTTLS (tls), 465 = SMTPS (ssl), ou none. TLS/SSL imposent la validation du certificat.
Server requires a username and password off Active les champs nom d'utilisateur/mot de passe.
Username / Password Le mot de passe est stocké dans var/notifications.json (root seulement, 0600). Laisser le champ mot de passe vide lors d'un ré-enregistrement conserve le mot de passe existant.
Also dispatch SMS / Slack / Pushbullet via Contact Manager on Le second canal décrit plus haut.

Les sujets sont préfixés automatiquement : [<hostname>] Astral Toolbox - <sujet>.

Tester la livraison

Les deux boutons utilisent les réglages enregistrés en dernier — enregistrez d'abord, puis testez :

  • Send test email — exerce uniquement le chemin PHPMailer/courriel et indique le destinataire + le transport utilisé (ou l'erreur exacte).
  • Send test notification (SMS / Slack) — exerce uniquement le chemin icontact.

Diagnostics

Le Notifier conserve un journal glissant des 20 dernières tentatives de livraison (var/notifier-debug.log, root seulement) avec horodatages, transport, destinataires, codes de sortie et stderr — le premier endroit à regarder quand une notification « a été envoyée mais jamais reçue ».


Onglet Version

Options — Version

État courant

  • Installed version (depuis version.txt), Latest available (depuis le serveur de mise à jour), horodatage Last check, et un badge : Up to date / Update available / Offline.

Mises à jour automatiques

Quand activées (par défaut), le cron /etc/cron.d/toolbox-auto-update interroge toutes les 4 heures et installe les mises à jour du noyau et de vos extensions Store installées. Désactivez pour prendre les mises à jour manuellement (le fichier cron reste ; le script ne fait rien).

Actions manuelles

  • Check for updates — vide la version en cache et interroge le serveur de mise à jour immédiatement.
  • Install update (vX.Y.Z) — apparaît quand une mise à jour est disponible ; télécharge, vérifie la somme de contrôle et l'applique. Les données utilisateur sont préservées.
  • Reinstall current version — remplace tous les fichiers du noyau sur le disque ; utile si une mise à jour précédente a été corrompue.

Désinstallation (zone dangereuse)

Uninstall WHM-Toolbox retire tout le plugin du serveur — voir Installation → Désinstaller pour le détail exact de ce qui est nettoyé.


Où vit l'état du noyau

Fichier Contenu Permissions
var/state.json Extensions activées, tuiles masquées, ordre des tuiles, page d'accueil par défaut, indicateur de mise à jour auto, dernière vérification 0600
var/notifications.json Tout l'onglet Notifications, y compris les identifiants SMTP 0600
var/notifier-debug.log 20 dernières tentatives de notification 0600
.remote-version.cache / .remote-catalog.cache Caches du serveur de mise à jour et du catalogue Store (TTL 6 h / 1 h)

Ces fichiers ne sont jamais écrasés par une mise à jour ou une réinstallation.