Agence Artistique
Agences artistiques, labels, structures de booking, collectifs musicaux et producteurs d'événements. Il combine un site public éditorial avec un espace d'administration permettant de gérer les contenus sans modifier le code.
Documentation officielle
Thème Agence Artistique PHP/MySQL
Ce document explique comment installer, configurer, administrer et maintenir le thème Agence Artistique. Il est destiné aux acheteurs du thème, aux intégrateurs, aux agences et aux administrateurs finaux.
Technologie : PHP natif + MySQL
Interface : Site public + admin
Contenus : Artistes, actualités, agenda
Sécurité : CSRF, rôles, sessions
Présentation
Il s'agit d'un thème PHP/MySQL pour agences artistiques, labels, structures de booking, collectifs musicaux et producteurs d'événements. Il combine un site public éditorial avec un espace d'administration permettant de gérer les contenus sans modifier le code.
Site public
Accueil dynamique, pages artistes, fiches artistes, actualités, agenda, billetterie, formulaire de demande et footer paramétrable.
Administration
Dashboard privé avec gestion des artistes, événements, articles, demandes clients, réglages, thèmes, utilisateurs et permissions.
Projet autonome
Le thème fonctionne sans framework obligatoire. Les fichiers PHP, CSS, JS et SQL sont inclus dans le projet.
Prérequis
Avant l'installation, vérifiez que votre hébergement ou serveur local dispose des éléments suivants.
| Élément | Recommandation | Remarque |
|---|---|---|
| PHP | PHP 8.1 ou supérieur recommandé | Le projet utilise PDO, sessions, typage strict et fonctions modernes. |
| MySQL / MariaDB | MySQL 5.7+ ou MariaDB compatible | Le schéma utilise InnoDB, utf8mb4, clés étrangères et colonnes JSON. |
| Extensions PHP | PDO, pdo_mysql, fileinfo, openssl | fileinfo sert à sécuriser les uploads, openssl au SMTP TLS/SSL. |
| Serveur web | Apache recommandé | Un fichier .htaccess est fourni pour renforcer la sécurité. |
| Droits fichiers | Écriture sur uploads/ |
Obligatoire pour les images artistes, articles, logos, documents et PDF. |
Installation
L'installation se fait en quatre grandes étapes : déposer les fichiers, créer la base de données, configurer le projet, puis se connecter à l'administration.
- Déposez tous les fichiers du thème sur votre serveur, dans le dossier public de votre hébergement ou dans le répertoire prévu pour votre domaine.
-
Créez une base de données MySQL vide avec l'encodage
utf8mb4. Le nom par défaut utilisé dans la configuration estbooking_agency. -
Importez le fichier SQL fourni :
database/install.sql. Ce fichier crée les tables, les index, les rôles, les permissions et les contenus de démonstration. -
Modifiez le fichier
config/config.phpavec les informations de connexion de votre base de données et l'URL de votre site. -
Ouvrez la page d'administration :
/admin/login.php.
Exemple de configuration locale
return [
'app_name' => 'Artline Agency',
'app_url' => 'http://localhost:8000',
'debug' => false,
'timezone' => 'Europe/Paris',
'database' => [
'host' => '127.0.0.1',
'port' => '3306',
'name' => 'booking_agency',
'user' => 'root',
'pass' => '',
'charset' => 'utf8mb4',
],
];
Mon compte.
Ne laissez jamais les identifiants de démonstration sur un site en ligne.
Compte de démonstration
Le fichier d'installation crée un compte administrateur initial :
Email : admin@artline.test
Mot de passe : Admin2026!
Configuration du projet
Fichier principal
La configuration générale se trouve dans config/config.php.
| Clé | Rôle |
|---|---|
app_name | Nom interne du projet. |
app_url | URL publique du site. À adapter en production. |
debug | Affichage des erreurs. À laisser sur false en production. |
timezone | Fuseau horaire utilisé par PHP. |
database | Identifiants MySQL. |
uploads | Dossiers, taille maximale et types MIME autorisés pour les fichiers envoyés. |
Structure des dossiers
| Dossier / fichier | Description |
|---|---|
index.php | Point d'entrée du site public et routage des pages publiques. |
admin/ | Connexion, dashboard et pages privées d'administration. |
app/ | Classes PHP : base de données, sécurité, authentification, repository, mailer et helpers. |
partials/ | Blocs réutilisables du front, dont fiche artiste et formulaire booking. |
assets/css/ | Styles du site public et de l'administration. |
assets/js/ | Scripts front : navigation mobile, header, slider et interactions. |
uploads/ | Images, logos et documents envoyés depuis l'administration. |
database/install.sql | Schéma complet et données de départ. |
.htaccess | Règles Apache de sécurité, cache et protection des fichiers sensibles. |
Dashboard admin
L'administration est accessible via /admin/login.php. Elle est protégée par authentification,
rôles, permissions et protection CSRF sur les formulaires sensibles.
Dashboard
Vue d'ensemble avec statistiques de visites, demandes récentes, activité, artistes publiés, dates à venir et raccourcis utiles.
Navigation admin
Menu latéral fixe sur desktop, adapté sur mobile. Les entrées visibles dépendent des permissions du compte connecté.
Pages disponibles
| Page admin | Utilisation |
|---|---|
| Dashboard | Suivi global, visites et accès rapides. |
| Demandes clients | Gestion des demandes de booking, réponses email, notes internes et statuts. |
| Accueil | Modification des sections de la page d'accueil. |
| Artistes | Création, modification et suppression des fiches artistes. |
| Agenda | Gestion des événements et dates liées aux artistes. |
| Actualités | Création et publication des articles de l'agence. |
| Paramètres | Identité, logo, favicon, réseaux sociaux, SEO, billetterie, partenaires, thèmes et SMTP. |
| Utilisateurs | Comptes admins, rôles et permissions. |
| Mon compte | Modification de l'adresse email et du mot de passe du compte connecté. |
Gestion des contenus
Page d'accueil
La page d'accueil est composée de sections éditables depuis l'administration :
- Hero : titre principal, texte, boutons, image et statistiques.
- Artistes accueil : titre et texte de la sélection d'artistes.
- Services : présentation des services de l'agence.
- À propos : bloc institutionnel et appel à l'action.
- Agenda : titre et texte des prochaines dates.
- Contact : titre et texte de la section booking.
Artistes
Chaque artiste dispose d'une fiche complète. Les champs principaux sont :
Page Nos artistes
La page publique index.php?page=artists regroupe tous les artistes publiés. Elle inclut
une recherche discrète et des tags issus des styles musicaux renseignés dans les fiches artistes.
Actualités
Les articles sont gérés depuis Actualités. La page publique index.php?page=news
affiche six articles maximum par page avec pagination. Chaque article publié dispose d'une page détail.
Agenda
Les événements peuvent être liés à un artiste et inclure une date, une ville, un lieu, une URL de billetterie et un statut. Les dates publiées apparaissent sur le site public.
Demandes clients et formulaire booking
Le formulaire de booking permet aux visiteurs de contacter l'agence. Les demandes sont enregistrées en base puis consultables dans l'admin, même si le SMTP n'est pas encore configuré.
Champs du formulaire public
- Nom et email obligatoires.
- Téléphone et structure facultatifs.
- Artiste concerné ou demande générale.
- Type de demande : booking concert, production artistique, accompagnement, presse / partenariat.
- Date souhaitée, ville / lieu, budget et message.
- Consentement RGPD obligatoire.
Traitement dans l'admin
Depuis la page Demandes clients, l'administrateur peut :
- consulter les demandes ;
- modifier leur statut ;
- assigner une demande à un utilisateur ;
- ajouter des notes internes ;
- répondre par email si le SMTP est configuré ;
- supprimer une demande devenue inutile.
Configuration SMTP
Le SMTP se configure depuis Paramètres. Renseignez l'hôte, le port, le chiffrement,
l'adresse d'expéditeur, le nom d'expéditeur, l'adresse de réponse et les identifiants fournis par votre prestataire.
Billetterie et partenaires
Billetterie
Le thème inclut une page billetterie activable depuis les paramètres. Elle peut afficher des événements avec URL de billetterie ou code embed compatible, selon la plateforme utilisée.
- Activation ou désactivation de la page billetterie.
- Titre, texte d'introduction et libellé du bouton modifiables.
- Gestion de plusieurs événements de billetterie.
- Support des liens ou embeds sécurisés.
Partenaires
Le bandeau partenaires est géré depuis l'administration. Chaque partenaire peut avoir un nom, un logo, un lien web, un statut actif et un ordre d'affichage.
Personnalisation
Identité visuelle
Depuis Paramètres, vous pouvez gérer :
- nom du site ;
- logo clair et logo sombre ;
- favicon ;
- réseaux sociaux ;
- libellés du menu public ;
- titres et introductions des pages artistes et actualités.
Thèmes et couleurs
Le module d'apparence permet d'activer un thème visuel et d'ajuster les couleurs principales : couleur primaire, secondaire, fond, texte, boutons et texte des boutons.
Fichiers CSS
Les styles sont séparés pour faciliter la maintenance :
assets/css/site.css: site public.assets/css/admin.css: dashboard admin et page de connexion.
Sécurité
Le thème inclut plusieurs protections de base adaptées à un projet PHP/MySQL.
Authentification
- Mots de passe hashés avec
password_hash. - Vérification avec
password_verify. - Régénération d'ID de session après connexion.
- Protection contre les tentatives répétées de connexion.
Formulaires
- Tokens CSRF sur les formulaires sensibles.
- Validation serveur des données reçues.
- Échappement HTML des contenus affichés.
- Requêtes SQL préparées via PDO.
Sessions et cookies
- Cookies
HttpOnly. SameSite=Lax.Secureactivé automatiquement en HTTPS.- Mode strict des sessions PHP.
Uploads
- Types MIME contrôlés côté serveur.
- Images limitées aux formats autorisés.
- Documents limités aux PDF.
- Taille maximale configurable.
Fichier .htaccess
Le fichier .htaccess fourni ajoute notamment :
- désactivation du directory listing ;
- protection des fichiers sensibles comme
.env,.sql,.log,.bak,.ini; - headers de sécurité :
X-Content-Type-Options,X-Frame-Options,Referrer-Policy; - règles de cache pour les assets.
debug sur false, utilisez HTTPS, remplacez les identifiants de démonstration
et vérifiez que les dossiers sensibles ne sont pas listables publiquement.
Performance
Le thème a été pensé pour rester léger et fluide sur desktop comme sur mobile.
Bonnes pratiques images
- Préférez des images en WebP ou JPG optimisé.
- Évitez d'envoyer des images de plusieurs mégaoctets si elles sont affichées en miniature.
- Utilisez des visuels larges pour les héros, mais compressez-les avant l'upload.
- Gardez les PDF de press kit raisonnables pour un téléchargement rapide.
Maintenance
Sauvegardes
Avant toute mise à jour, sauvegardez :
- la base de données MySQL ;
- le dossier
uploads/; - le fichier
config/config.php; - les fichiers modifiés manuellement.
Changer le mot de passe admin
Connectez-vous à l'administration, ouvrez Mon compte, puis renseignez le nouveau mot de passe et sa confirmation.
Changer l'email du compte admin
La page Mon compte permet également de modifier l'adresse email utilisée pour la connexion.
Créer un nouvel utilisateur
Depuis Utilisateurs, un super administrateur peut créer un nouveau compte, choisir son rôle,
l'activer ou le désactiver, puis régler les permissions par rôle.
Dépannage
| Problème | Cause fréquente | Solution |
|---|---|---|
| Page blanche | Erreur PHP masquée, mauvais accès base, fichier mal encodé ou extension PHP absente. | Activez temporairement debug en local, consultez les logs PHP, vérifiez la configuration MySQL et l'encodage UTF-8 sans BOM. |
| Impossible de se connecter | Mauvais identifiants, compte désactivé ou protection brute force active. | Attendez quelques minutes après plusieurs essais, vérifiez le compte dans la table users ou réinitialisez le mot de passe. |
| Les images ne s'affichent pas | Dossier uploads/ non accessible, URL incorrecte ou fichier trop lourd. |
Vérifiez les droits d'écriture, le chemin enregistré et le type MIME du fichier. |
| Les emails ne partent pas | SMTP incomplet ou hébergeur bloquant le port. | Vérifiez hôte, port, chiffrement, identifiants, adresse expéditeur et restrictions de l'hébergeur. |
| Accents cassés | Base ou fichiers non importés en UTF-8 / utf8mb4. | Importez la base avec l'encodage utf8mb4 et gardez les fichiers en UTF-8 sans BOM. |
| Erreur 403 sur un fichier | Protection .htaccess normale sur les fichiers sensibles. |
Ne placez pas de fichiers publics avec des extensions protégées comme .sql, .log ou .bak. |
Checklist avant mise en ligne
database/install.sql dans une base propreconfig/config.phpdebug sur falseuploads/