Surcouche WHMCS de mit-sec.com, la boutique de certificats SSL et de produits de cybersécurité éditée par Sys Kabs Amazone SAS (Dakar, Sénégal), revendeur TheSSLStore / DigiCert.
Ce dépôt ne contient pas le cœur de WHMCS — celui-ci vit dans l'image du conteneur. On n'y versionne que ce qui nous appartient : nos hooks, notre thème, nos pages, nos modules et l'infrastructure de déploiement.
includes/
hooks/ Personnalisations WHMCS (chargées automatiquement)
syskabs_layout.php En-tête : viewport, styles, logo, favicon
Pied : nettoyage du fil d'Ariane
syskabs_navigation.php Entrées de menu + méga-menus
syskabs_footer.php Colonnes, réseaux sociaux, sceau, ligne légale
syskabs_catalog.php Données produits (accueil + tarifs multi-annuels)
syskabs_currency.php Bascule automatique en FCFA (XOF)
syskabs/
helpers.php Fonctions partagées (devise, formatage des prix)
pages/ Pages autonomes -> copiées à la RACINE du webroot
certificats.php Catalogue filtré (/certificats.php?f=…)
audit-securite.php Audit de vulnérabilités (DAST) — Acunetix
mentions-legales.php Mentions légales, CGU, confidentialité
templates/
syskabs/ Thème client (enfant de « twenty-one »)
homepage.tpl Page d'accueil
certificats.tpl Catalogue filtré
audit-securite.tpl Page DAST
mentions-legales.tpl Pages légales
css/ custom.css · responsive.css · order-modal.css
js/ catalog.js · order-modal.js
orderforms/syskabs_cart/ Formulaire de commande (liste des produits)
modules/
addons/syskabs_social/ Réseaux sociaux, configurables dans l'admin
addons/thesslstorefullv2_admin/ Module fournisseur (TheSSLStore) — tel quel
servers/ Module fournisseur — tel quel
assets/img/ Logo et favicon MIT-SEC
deploy/ Docker, nginx, SQL, procédures VPS
Ne jamais modifier le thème parent. Toute personnalisation passe par un
hook (ClientAreaHeadOutput, ClientAreaFooterOutput, ClientAreaPage*) et
doit être non destructive : si le JavaScript ne s'exécute pas, la page reste
utilisable.
| Élément | Règle | Exemple |
|---|---|---|
| Fichier PHP (hook, module) | syskabs_ + domaine fonctionnel, en minuscules |
syskabs_footer.php |
| Classe CSS, identifiant JS | préfixe ska- / ska |
.ska-buyer-grid, #skaSealCol |
| Page publique et template | français, tirets — c'est une URL visible | mentions-legales.php |
| Ressource CSS / JS | rôle, en minuscules à tirets, sans préfixe redondant | css/order-modal.css |
Le préfixe ska- des classes CSS est délibérément court : il isole nos styles
de Bootstrap et du thème parent sans alourdir le balisage. Les noms de
fichiers, eux, portent le préfixe complet syskabs_, imposé par WHMCS pour
les modules complémentaires.
custom.css et homepage.tpl gardent leur nom : ce sont des noms imposés par
WHMCS, pas des choix.
Priorités des hooks du pied de page — l'ordre est significatif :
0 colonnes (crée la 5ᵉ colonne du sceau) → 1 ligne légale → 2 sceau
DigiCert (la remplit) → 3 nettoyage des doublons du thème.
Toute poussée sur main touchant modules/, assets/, templates/,
includes/ ou pages/ déclenche .github/workflows/deploy.yml :
dépôt --rsync--> /opt/whmcs-boutique/overlay/ --docker cp--> whmcs_php
Le pipeline purge includes/hooks/syskabs_*.php dans le conteneur avant la
copie : docker cp ne supprime jamais, et un hook renommé resterait sinon
actif en double.
Compter une à deux minutes, puis rafraîchir sans cache (Ctrl+Shift+R).
Pour l'installation du VPS, la stack Docker et le reverse proxy, voir
deploy/README.md et deploy/vps-lws.md.
Certains éléments se pilotent depuis WHMCS, sans toucher au code :
- Réseaux sociaux — Système → Modules complémentaires → « Réseaux
sociaux — mit-sec » → Configurer. Un champ vide masque son icône.
Aperçu de toutes les icônes :
/index.php?ska_social=preview. - Devises — Setup → Currencies. La base reste en USD (exigence du module TheSSLStore) ; le FCFA (XOF) est proposé aux visiteurs.
- Produits — groupe
gid=1. Les catégories des méga-menus sont déduites du nom des produits (voirska_classify()danspages/certificats.php).