CMS - AGENCE ARTISTIQUE WEB vv1.2

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.

Mise à jour le 22 mai 2026 DOCUMENTATION

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.

  1. 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.
  2. Créez une base de données MySQL vide avec l'encodage utf8mb4. Le nom par défaut utilisé dans la configuration est booking_agency.
  3. 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.
  4. Modifiez le fichier config/config.php avec les informations de connexion de votre base de données et l'URL de votre site.
  5. 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',
    ],
];
Important après installation Changez immédiatement le mot de passe du compte administrateur de démonstration depuis 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_nameNom interne du projet.
app_urlURL publique du site. À adapter en production.
debugAffichage des erreurs. À laisser sur false en production.
timezoneFuseau horaire utilisé par PHP.
databaseIdentifiants MySQL.
uploadsDossiers, taille maximale et types MIME autorisés pour les fichiers envoyés.

Structure des dossiers

Dossier / fichier Description
index.phpPoint 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.sqlSchéma complet et données de départ.
.htaccessRè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
DashboardSuivi global, visites et accès rapides.
Demandes clientsGestion des demandes de booking, réponses email, notes internes et statuts.
AccueilModification des sections de la page d'accueil.
ArtistesCréation, modification et suppression des fiches artistes.
AgendaGestion des événements et dates liées aux artistes.
ActualitésCréation et publication des articles de l'agence.
ParamètresIdentité, logo, favicon, réseaux sociaux, SEO, billetterie, partenaires, thèmes et SMTP.
UtilisateursComptes admins, rôles et permissions.
Mon compteModification 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 :

Nom, slug et genre
Tags / styles musicaux
Description courte
Biographie complète
Image principale
Vidéo embed
Press kit PDF
Fiche technique PDF
Liens Spotify, YouTube, Instagram, TikTok, SoundCloud et site web
Statut : publié, brouillon ou archivé
Mise en avant des artistes Le slider du header public affiche uniquement les artistes publiés et marqués comme mis en avant. La mise en avant est limitée à trois artistes afin de conserver un header propre et rapide.

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.

Si l'envoi email ne fonctionne pas Vérifiez le port, le mode de sécurité, les identifiants SMTP et les restrictions de votre hébergeur. Les demandes restent enregistrées en base même si l'envoi de réponse est désactivé.

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.
Conseil d'intégration Pour conserver les mises à jour simples, privilégiez les réglages admin avant de modifier directement les fichiers CSS ou PHP.

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.
  • Secure activé 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.
Production En production, gardez 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.

CSS séparé entre front et admin
JavaScript limité aux interactions nécessaires
Images chargées en lazy loading quand c'est pertinent
Requêtes SQL préparées et ciblées
Index SQL sur les tables consultées fréquemment
Cache navigateur pour CSS, JS et images via Apache
Statistiques de visites filtrées pour éviter les doublons abusifs
Dashboard optimisé pour ne pas charger inutilement de gros volumes

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

Importer database/install.sql dans une base propre
Configurer config/config.php
Mettre debug sur false
Activer HTTPS sur le domaine
Changer le mot de passe du compte admin
Modifier l'adresse email du compte admin
Configurer le SMTP
Tester le formulaire booking
Remplacer les contenus de démonstration
Ajouter logo, favicon et liens sociaux
Vérifier les permissions des utilisateurs
Vérifier les droits d'écriture du dossier uploads/
Tester le site sur mobile, tablette et desktop