Mise en ligne
Prérequis
- PHP 8.1 à 8.4 avec
pdo_mysql,mbstring,json(+ recommandé :zip,gd,curl,fileinfo,openssl) - MySQL 5.7+ / 8.x ou MariaDB 10.3+ (utf8mb4)
- Droits d’écriture sur la racine (création de
mq-config.php),content/,plugins/,themes/
Apache (mutualisé)
Le fichier .htaccess fourni gère la réécriture d’URL, la protection des dossiers sensibles, le cache et la compression. Dans un sous-dossier, décommentez et adaptez RewriteBase /sous-dossier/.
Nginx
server {
server_name exemple.fr;
root /var/www/mozaiq;
index index.php;
client_max_body_size 32m;
location ~ ^/(core|bin|docs|content/(cache|logs|backups|form-files|labels|downloads))/ { deny all; }
location = /mq-config.php { deny all; }
location ~ ^/(plugins|themes|content)/.*\.php$ { deny all; }
location ~* \.(css|js|svg|webp|avif|png|jpe?g|gif|woff2?|ico)$ { expires 1y; add_header Cache-Control "public, immutable"; try_files $uri =404; }
location / { try_files $uri /index.php?$query_string; }
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
}
Check-list de production
- HTTPS (décommentez la redirection dans
.htaccess) et, si besoin,'url' => 'https://exemple.fr'dansmq-config.php - Réglages › Lecture : activer le cache de pages
- Réglages › E-mails : configurer SMTP puis « Envoyer un e-mail de test »
- Réglages › Sécurité : activer la double authentification pour les administrateurs, HSTS
- SEO : désactiver « ne pas indexer », renseigner l’organisation, déclarer
sitemap.xmldans Search Console debugàfalsedansmq-config.php(par défaut)- Cron toutes les 5 minutes (voir ci-dessous)
- Sauvegardes : base MySQL + dossier
content/uploads(export JSON disponible dans Outils)
Tâches planifiées (cron)
Relances de panier, newsletters, webhooks, demandes d’avis, vidage de la corbeille, taux de change… s’exécutent via les tâches planifiées. Par défaut elles sont déclenchées par les visites ; en production, ajoutez un cron toutes les 5 minutes :
*/5 * * * * php /var/www/mozaiq/bin/mozaiq cron >/dev/null 2>&1
ou appelez l’URL secrète indiquée dans Réglages › Tâches planifiées.
Performance
- Réglages › Lecture : cache de pages, regroupement et minification CSS/JS (fichiers dans
content/min/), AVIF, URL de CDN (CDN « pull »). - Cache objet dans
mq-config.php:
'cache' => ['driver' => 'redis', 'host' => '127.0.0.1', 'port' => 6379, 'password' => '', 'db' => 0],
// ou 'apcu', 'file', 'none' (par défaut : APCu s’il est disponible)
Sécurité
Réglages › Sécurité : double authentification obligatoire par rôle, robustesse minimale des mots de passe, Content Security Policy (commencez en mode « observation »), HSTS une fois le HTTPS en place. Les secrets de double authentification sont chiffrés (AES-256-GCM) avec la clé secret de mq-config.php : ne la changez pas après installation.
Mises à jour
Réglages › Système vérifie la dernière version. « Mettre à jour » télécharge l’archive, vérifie son empreinte SHA-256, sauvegarde les fichiers actuels (content/backups/core-*.zip), passe le site en maintenance quelques secondes, remplace le cœur puis migre la base. En cas d’erreur, les anciens fichiers sont restaurés. Équivalent : php bin/mozaiq core:update. Seuls core/, admin/, bin/, docs/, themes/aurora/ et les fichiers racine sont remplacés ; content/, plugins/, les autres thèmes et mq-config.php ne sont jamais modifiés.
Tests
php bin/mozaiq test lance les tests unitaires ; ajoutez --http=https://monsite.fr pour les tests de bout en bout (pages, SEO, sitemap, API, sécurité).
Environnement portable de développement (ce poste)
start.command lance MySQL (port 3308), le CMS (http://127.0.0.1:8080) et la marketplace (http://127.0.0.1:8090) ; stop.command les arrête.