Aller au contenu

Installation

ArtisanCMS propose deux méthodes d’installation : classique sur votre serveur ou conteneurisée via Docker. Dans les deux cas, un assistant d’installation graphique vous guide étape par étape.

Fenêtre de terminal
git clone https://github.com/404notfood/artisancms.git
cd artisancms
Fenêtre de terminal
# Dépendances PHP
composer install
# Dépendances front-end
npm install
Fenêtre de terminal
cp .env.example .env
php artisan key:generate

Éditez le fichier .env pour configurer au minimum la base de données :

Fenêtre de terminal
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=artisancms
DB_USERNAME=root
DB_PASSWORD=votre_mot_de_passe

Option A : Assistant d’installation graphique (recommandé)

Section intitulée « Option A : Assistant d’installation graphique (recommandé) »

Démarrez le serveur puis ouvrez votre navigateur :

Fenêtre de terminal
php artisan serve

Rendez-vous sur http://localhost:8000/install. L’assistant vous guide en 6 étapes (voir la section détaillée ci-dessous).

Option B : Installation rapide en ligne de commande

Section intitulée « Option B : Installation rapide en ligne de commande »
Fenêtre de terminal
php artisan cms:install --quick

Cette commande utilise les valeurs par défaut et les variables du .env pour tout configurer automatiquement. Le compte admin créé sera admin@artisancms.dev avec le mot de passe password.

Pour une installation interactive en CLI (avec prompts pour chaque paramètre) :

Fenêtre de terminal
php artisan cms:install
Fenêtre de terminal
npm run build
Fenêtre de terminal
# Commande combinée (recommandée) : serveur Laravel + Vite
composer run dev
# Ou séparément
php artisan serve # Serveur PHP
npm run dev # Compilation front-end en mode watch

ArtisanCMS inclut un docker-compose.yml préconfigué.

Fenêtre de terminal
docker compose up -d

Services démarrés :

ServiceDescription
appPHP-FPM avec ArtisanCMS
nginxServeur web Nginx
mysqlMySQL 8
redisCache Redis

Accédez à http://localhost:8080/install pour lancer l’assistant.

services:
app:
build: .
volumes:
- .:/var/www/html
depends_on:
- mysql
- redis
environment:
- DB_HOST=mysql
- REDIS_HOST=redis
nginx:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- .:/var/www/html
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- app
mysql:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: artisancms
volumes:
- mysql_data:/var/lib/mysql
redis:
image: redis:alpine
volumes:
mysql_data:

L’assistant web (/install) guide l’utilisateur à travers 6 étapes. L’interface est responsive avec une barre de progression latérale (desktop) ou en haut de page (mobile).

L’écran d’accueil présente ArtisanCMS et permet de choisir la langue de l’installation et du site :

LangueCode
Françaisfr
Englishen
Españoles
Deutschde

La langue sélectionnée est appliquée immédiatement à l’interface et sera définie comme locale par défaut du site.

Affichage de la licence MIT avec les conditions d’utilisation. L’utilisateur doit cocher la case d’acceptation pour continuer.

Points clés de la licence :

  • Utilisation personnelle et commerciale autorisée
  • Modifications autorisées
  • Distribution avec licence obligatoire
  • Aucune collecte de données

Le service RequirementsChecker analyse automatiquement votre environnement serveur.

Éléments obligatoires (doivent tous être validés) :

PrérequisDétail
PHPVersion 8.3 ou supérieure
Extensions PHPPDO, PDO MySQL, OpenSSL, Mbstring, Tokenizer, XML, Ctype, JSON, BCMath, Fileinfo, cURL
Traitement d’imagesGD ou Imagick (au moins un)
Permissions d’écriturestorage/, bootstrap/cache/, .env, content/

Éléments recommandés (non bloquants) :

PrérequisDétail
Node.jsVersion 20 ou supérieure
npmVersion 9 ou supérieure

Chaque élément affiche un indicateur visuel :

  • ✅ Vert : validé
  • ❌ Rouge : obligatoire manquant (bloque la progression)
  • ⚠️ Jaune : recommandé manquant (non bloquant)

Un bouton Revérifier permet de relancer l’analyse après avoir corrigé un problème.

Configuration de la connexion MySQL/MariaDB avec test de connexion en temps réel.

Champs du formulaire :

ChampDéfautDescription
Hôte127.0.0.1Adresse du serveur MySQL
Port3306Port MySQL
Base de donnéesartisan_cmsNom de la base
UtilisateurrootUtilisateur MySQL
Mot de passe(vide)Mot de passe MySQL
Préfixe des tables(vide)Préfixe optionnel (ex: cms_)
Créer automatiquement✅ ActivéCrée la base si elle n’existe pas

Test de connexion :

Le bouton Tester la connexion effectue un test AJAX vers le serveur :

  1. Connexion PDO au serveur MySQL
  2. Vérification de l’existence de la base de données
  3. Création automatique si la case est cochée (UTF8MB4)
  4. Affichage de la version MySQL détectée

En cas d’erreur, des messages explicites sont affichés :

  • Nom d’utilisateur ou mot de passe incorrect
  • La base de données n’existe pas
  • MySQL n’est pas démarré
  • L’adresse du serveur est invalide

Étape 5 : Configuration du site et du compte administrateur

Section intitulée « Étape 5 : Configuration du site et du compte administrateur »

Cette étape contient deux onglets dans un même formulaire.

ChampObligatoireDéfautDescription
Nom du siteMon site ArtisanCMSAffiché dans l’en-tête et le titre
Description(vide)Tagline / meta-description
URL du siteAuto-détectéeURL publique du site
Fuseau horaireEurope/ParisListe de tous les fuseaux PHP
ChampObligatoireValidation
Nom completMinimum 2 caractères
Adresse e-mailFormat email valide
Mot de passeMinimum 8 caractères
ConfirmationDoit correspondre au mot de passe

Indicateur de force du mot de passe :

Une barre à 6 segments évalue la robustesse en temps réel :

CritèrePoints
8 caractères minimum+1
12 caractères ou plus+1
Au moins une majuscule+1
Au moins une minuscule+1
Au moins un chiffre+1
Au moins un caractère spécial+1
  • 🔴 Faible : 0-2 points
  • 🟡 Moyen : 3-4 points
  • 🟢 Fort : 5-6 points

L’installation s’exécute automatiquement en 11 sous-étapes séquentielles avec une barre de progression animée.

Sous-étapeDescription techniquePoids
EnvironnementÉcriture du fichier .env avec les paramètres de base de données5
MigrationsExécution de php artisan migrate --force (création de toutes les tables)20
RôlesCréation des 4 rôles par défaut (Admin, Éditeur, Auteur, Abonné)5
AdministrateurCréation du compte admin avec le rôle Admin5
ParamètresInsertion des 24 paramètres par défaut (général, SEO, mail, contenu, média, maintenance)10
ThèmeInstallation du thème Default avec ses couleurs et typographies15
BlocsEnregistrement des 11 blocs de base (section, grid, heading, text, image, video, button, hero, etc.)15
Page d’accueilCréation de la page « Bienvenue » et configuration comme page d’accueil10
SiteCréation de l’enregistrement du site principal avec le domaine détecté5
RépertoiresCréation des dossiers content/themes/, content/plugins/, storage/app/public/media/5
FinalisationÉcriture du fichier storage/.installed, nettoyage des caches, lien storage10

Messages de progression :

ProgressionMessage
0-20%Les ouvriers enfilent leurs gants…
20-40%Les murs montent !
40-60%On pose le carrelage…
60-80%La peinture sèche…
80-100%On plante les fleurs dans le jardin…
100%Les clés sont sur la porte !

En cas d’erreur sur une sous-étape, l’installation s’arrête avec un message explicite et un bouton Réessayer.

Une fois l’installation terminée, un écran de célébration affiche :

  • Un récapitulatif (nom du site, URL, email admin, version)
  • Un rappel de noter le mot de passe administrateur
  • Deux boutons d’accès rapide :
    • Entrer dans mon atelier → accès au panneau d’administration (/admin)
    • Admirer la façade → voir le site public

Prochaines étapes suggérées :

  1. Choisir un thème (Apparence > Thème)
  2. Créer des pages avec le Page Builder
  3. Configurer les menus de navigation
  4. Explorer les plugins disponibles

Fenêtre de terminal
php artisan cms:install --quick

Valeurs par défaut utilisées :

ParamètreValeur
Languefr
Base de donnéesVariables du .env
Nom du siteArtisanCMS
URLVariable APP_URL du .env
Fuseau horaireEurope/Paris
Email adminadmin@artisancms.dev
Mot de passe adminpassword
Fenêtre de terminal
php artisan cms:install

La commande vous guidera avec des prompts pour chaque paramètre :

  1. Vérification des prérequis (avec indicateurs visuels ✓/✗/⚠)
  2. Configuration de la base de données (hôte, port, nom, identifiants + test de connexion)
  3. Informations du site (nom, description, URL, fuseau horaire, langue)
  4. Compte administrateur (nom, email, mot de passe)

Pour forcer une réinstallation sur un CMS déjà installé :

Fenêtre de terminal
php artisan cms:install --force

Une fois l’installation terminée :

  • Le fichier storage/.installed est créé (marqueur d’installation)
  • L’assistant /install devient inaccessible (retourne 404)
  • Le panneau d’administration est accessible sur /admin

Consultez le guide Premier lancement pour les étapes de configuration initiale.