Installation
Ce guide vous accompagne pas à pas pour installer NGZ Ads sur votre serveur.
Prérequis serveur
Avant de commencer, vérifiez que votre hébergeur dispose des éléments suivants :
| Composant | Version minimale |
|---|---|
| PHP | 8.1 ou supérieur (8.3 recommandé) |
| MySQL / MariaDB | 5.7 / 10.4 ou supérieur |
| Apache | 2.4 avec mod_rewrite activé |
| Extensions PHP requises | pdo, pdo_mysql, mbstring, gd, json, fileinfo |
| Extensions PHP optionnelles | curl, openssl, zip, intl |
Hébergement partagé ? La plupart des offres cPanel/Plesk récentes sont compatibles. Vérifiez que PHP 8.1+ est sélectionnable dans le panneau de contrôle.
Téléchargement et transfert des fichiers
- Décompressez l'archive
ngzads.zipsur votre ordinateur. - Transférez l'intégralité du contenu via FTP/SFTP dans le répertoire cible de votre serveur (par exemple
/var/www/html/monsite/oupublic_html/). - Assurez-vous que la structure de répertoires est préservée (ne pas omettre les fichiers comme
.htaccess).
Assistant d'installation (wizard)
NGZ Ads fournit un assistant interactif accessible à l'adresse /install/, entièrement traduit en français. Il vous guide en 9 étapes sans avoir à éditer de fichiers manuellement.
Sécurité : L'assistant est accessible sans authentification. Sur un serveur public, effectuez l'installation aussitôt que possible et verrouillez-le dès la fin.
Étape 1 — Vérification de l'environnement
Cliquez sur Run Check. L'assistant inspecte :
- La version de PHP (≥ 8.0 requise)
- Les extensions PHP requises et optionnelles
- Les paramètres
php.ini(upload_max_filesize,memory_limit...) - Les modules Apache (
mod_rewrite,mod_headers,mod_expires) - Les permissions des répertoires (
config/,uploads/,themes/) - La présence des fichiers SQL (
schema.sql,sample-data.sql)
Les éléments en rouge sont bloquants, ceux en jaune sont des avertissements non bloquants. Corrigez tous les éléments rouges avant de continuer.
Étape 2 — Configuration de la base de données (DB Config)
Renseignez les paramètres de connexion MySQL :
| Champ | Description |
|---|---|
| Host | Adresse du serveur MySQL (ex : 127.0.0.1 ou localhost) |
| Port | Port MySQL — généralement 3306 (MAMP : 8889) |
| Unix Socket | Chemin du socket Unix pour MAMP/WAMP (ex : /Applications/MAMP/tmp/mysql/mysql.sock) |
| Database Name | Nom de la base créée au préalable (ex : ngzads) |
| Username | Utilisateur MySQL avec droits complets sur la base |
| Password | Mot de passe associé |
| Table Prefix | Préfixe optionnel des tables (ex : ngz_) — utile si plusieurs apps partagent la même base |
Cliquez sur Enregistrer database.php — le fichier config/database.php est créé automatiquement.
Si vous utilisez MAMP, renseignez le chemin du socket Unix plutôt que l'hôte TCP. Le socket est généralement
/Applications/MAMP/tmp/mysql/mysql.sock.
Dès l'enregistrement, les étapes suivantes (Installer BDD, Utilisateur admin, Compte démo...) utilisent immédiatement la nouvelle configuration — inutile de recharger la page, les informations affichées sur ces onglets se mettent à jour automatiquement.
Étape 3 — Test de connexion (DB Test)
Cliquez sur Test Connection. L'assistant vérifie que PHP peut se connecter au serveur MySQL avec les paramètres saisis. En cas d'échec, le message d'erreur indique la cause (mauvais mot de passe, base inexistante, droits insuffisants...).
Étape 4 — Installation de la base de données (Install DB)
Deux options sont disponibles :
- Install Schema — exécute
sql/schema.sql: crée toutes les tables nécessaires. À effectuer lors d'une nouvelle installation. - Load Sample Data — exécute
sql/sample-data.sql: importe des catégories, des utilisateurs et des annonces de démonstration. Recommandé pour tester la plateforme.
L'installation du schéma est idempotente : elle peut être relancée sans risque sur une base existante. Un indicateur de chargement (spinner) s'affiche sur le bouton pendant toute la durée de l'opération.
Étape 5 — Compte administrateur (Admin User)
Créez le compte administrateur principal :
- Username — identifiant de connexion (ex :
admin) - Email — adresse e-mail de l'administrateur
- Password — minimum 8 caractères
Si un compte avec le même nom d'utilisateur ou la même adresse e-mail existe déjà, il est mis à jour (rôle promu à admin, mot de passe réinitialisé).
Compte démo public (optionnel)
L'onglet Compte démo crée un compte de démonstration public en lecture seule : idéal pour laisser des visiteurs ou des clients potentiels explorer le site (y compris le panneau d'administration) sans risquer la moindre modification.
- Username / Email / Password — identifiants du compte démo (par défaut :
demo/demo@votredomaine.com) - Si le compte existe déjà, il est promu au rôle
demo
Pour en savoir plus sur les restrictions et le fonctionnement du mode démo, consultez la section Mode démo du chapitre Configuration.
Étape 6 — Paramètres du site (Site Settings)
Renseignez les paramètres essentiels :
- Site Name — nom affiché dans les titres et les e-mails
- Site URL — URL complète sans slash final (ex :
https://monsite.com) — détectée automatiquement ; cliquez sur l'icône de copie à côté du champ pour reprendre instantanément l'URL détectée - Admin / Contact Email — adresse e-mail de contact public
- Default Language —
fr(français) ouen(anglais) - Timezone — fuseau horaire (ex :
Europe/Paris,UTC) — voir la liste complète sur php.net/timezones - Environment —
production(erreurs masquées) oudevelopment(erreurs affichées)
Cliquez sur Write settings.php — le fichier config/settings.php est généré. Les identifiants SMTP et OAuth éventuellement présents sont préservés.
Étape 7 — Test e-mail (Email Test)
Envoyez un e-mail de test pour valider la configuration SMTP. Si aucun SMTP n'est encore configuré, l'e-mail est envoyé via la fonction PHP mail() (déconseillé en production).
Étape 8 — Verrouillage (Finish & Lock)
Une fois l'installation terminée, cliquez sur Lock Installer. Un fichier .lock est créé dans le répertoire install/, ce qui désactive définitivement l'assistant.
Important : Ne sautez pas cette étape sur un serveur accessible publiquement. Un assistant non verrouillé permettrait à n'importe qui de réinitialiser la base de données.
Pour ré-ouvrir l'assistant ultérieurement (mise à jour, réinstallation), supprimez manuellement le fichier install/.lock.
Permissions de fichiers
Certains répertoires nécessitent des droits en écriture pour le serveur web :
chmod -R 755 uploads/
chmod -R 755 config/
chmod 644 config/settings.php
Configuration d'Apache
Le fichier .htaccess à la racine gère la réécriture d'URL. Si NGZ Ads est dans un sous-répertoire, éditez RewriteBase :
RewriteBase /monsite/
Si NGZ Ads est à la racine du domaine :
RewriteBase /
Vérification de l'installation
Après connexion avec le compte administrateur, vérifiez :
- Accueil — les annonces s'affichent correctement
- Dépôt d'annonce — le formulaire est accessible
- Administration — le tableau de bord charge sans erreur
Si une page affiche une erreur, consultez les logs Apache (error.log) et activez temporairement app_env = development dans les paramètres pour afficher les détails.