GitHub - counteraccro/natheo: Natheo est un Headless CMS offrant un back-office complet ainsi que des APIs pour gérer le front de votre site.


📋 Table des matières


🚀 À propos

Nathéo est un système de gestion de contenu (CMS) moderne développé avec Symfony, offrant une solution flexible et performante pour la création et la gestion de sites web. Le projet privilégie la modularité, la sécurité et l'expérience utilisateur.

Fonctionnalités principales

  • 🎨 Interface d'administration moderne et responsive
  • 🔒 Système d'authentification et de permissions robuste
  • 📝 Gestion de contenu flexible
  • 🌍 Support multilingue (FR, EN, ES)
  • ⚡ Performance optimisée
  • 🎯 Architecture modulaire

⚙️ Prérequis

Avant de commencer, assurez-vous d'avoir installé les éléments suivants :

Composant Version requise Notes
PHP 8.4 ou supérieur Extensions recommandées ci-dessous
Composer 2.8.9 ou supérieur Gestionnaire de dépendances PHP
Yarn 1.22.22 ou supérieur Gestionnaire de paquets JavaScript
Base de données Voir ci-dessous MySQL ou PostgreSQL

Base de données supportées

  • PostgreSQL : 15.2 ou supérieur
  • MySQL : 8.2 ou supérieur (par défaut)

📌 Note : Pour utiliser PostgreSQL ou une autre base de données, consultez la documentation de configuration.

Extensions PHP recommandées

ext-ctype, ext-iconv, ext-pdo, ext-pdo_mysql, ext-json, ext-mbstring

📦 Installation

Installation rapide (développement)

⚠️ Attention : Cette procédure est prévue pour un environnement de développement.
Pour une installation en production, consultez la documentation d'installation production.

1. Cloner le dépôt

git clone https://github.com/counteraccro/natheo.git
cd natheo

2. Installer les dépendances

3. Configurer l'environnement

Créez une copie du fichier .env en .env.local :

Modifiez les variables suivantes dans .env.local :

APP_ENV=dev
APP_DEBUG=1
NATHEO_SCHEMA=natheo
DATABASE_URL="mysql://user:password@127.0.0.1:3306/natheo?serverVersion=8.2"

4. Installation automatique du CMS

Cette commande exécute automatiquement les étapes 5, 6 et 7 :

php bin/console natheo:install
Installation manuelle (optionnel)

Si vous préférez effectuer l'installation étape par étape :

5. Créer la base de données

php bin/console doctrine:database:create

6. Créer le schéma de base de données

php bin/console doctrine:schema:create

7. Charger les données de test

php bin/console doctrine:fixtures:load

8. Compiler les assets


🛠️ Configuration

Configuration du Virtual Host

Pour accéder au CMS en développement :

  1. Créez un virtual host pointant vers : [chemin-vers-natheo]/public
  2. Exemple de configuration Apache :
<VirtualHost *:80>
    ServerName www.local.natheo
    ServerAlias  local.natheo
    DocumentRoot "[chemin-vers-natheo]/public"
    
    <Directory "[chemin-vers-natheo]/public">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
  1. Ajoutez l'entrée dans votre fichier hosts :

💻 Utilisation

Accès à l'interface d'administration

Une fois l'installation terminée :

  1. Accédez à : http://natheo.local/admin/fr/dashboard/index
  2. Connectez-vous avec les identifiants par défaut :
  • Email : user.demo@mail.fr
  • Mot de passe : user.demo@mail.fr

🔐 Important : Changez immédiatement ces identifiants en production !


📝 Commandes disponibles

Commandes principales

Commande Description
php bin/console natheo:install Installation complète du CMS
php bin/console messenger:consume async -vv Traitement des tâches asynchrones
php bin/console doctrine:fixtures:load Chargement des données de test

Gestion des traductions

Générer/extraire les traductions pour une langue :

# Français
php bin/console translation:extract --force --format=yaml fr

# Anglais
php bin/console translation:extract --force --format=yaml en

# Espagnol
php bin/console translation:extract --force --format=yaml es

Compilation des assets

# Mode développement avec watch
yarn dev

# Mode production
vite build

🧪 Tests

Lancer la suite de tests unitaires :


📚 Documentation

La documentation complète est disponible en ligne :


🤝 Contribution

Les contributions sont les bienvenues ! N'hésitez pas à :

  1. 🍴 Fork le projet
  2. 🔨 Créer une branche pour votre fonctionnalité (git checkout -b feature/AmazingFeature)
  3. ✅ Commit vos changements (git commit -m 'Add some AmazingFeature')
  4. 📤 Push vers la branche (git push origin feature/AmazingFeature)
  5. 🎉 Ouvrir une Pull Request

👥 Contributeurs


📄 Licence

Ce projet est sous licence GNU-V3. Voir le fichier LICENSE pour plus de détails.


Développé avec ❤️ par l'équipe Nathéo

⬆ Retour en haut