# Theologie Refonte

Projet Laravel pour l'application Theologicum. Ce guide décrit les étapes depuis l'extraction de l'archive jusqu'au lancement local avec `php artisan serve`, puis les étapes de déploiement.


## Prérequis

- PHP 8.3
- Composer
- Node.js et npm
- Base de données compatible Laravel (MySQL, MariaDB, SQLite, PostgreSQL)
- Serveur web : Apache, Nginx ou PHP intégré pour le développement

## Installation locale

1. Extraire l'archive contenant le projet.
2. Ouvrir un terminal et se placer dans le dossier Laravel :

```bash
cd theologicum
```

3. Copier le fichier d'exemple d'environnement :

```bash
cp .env.example .env
```

4. Installer les dépendances PHP :

```bash
composer install
```

5. Installer les dépendances JavaScript :

```bash
npm install
```

6. Générer la clé d'application :

```bash
php artisan key:generate
```

7. Configurer la base de données dans `.env` :

- `DB_CONNECTION`
- `DB_HOST`
- `DB_PORT`
- `DB_DATABASE`
- `DB_USERNAME`
- `DB_PASSWORD`

8. Migrer la base et charger les rôles :

```bash
php artisan migrate
php artisan db:seed
php artisan storage:link
```

9. Compiler les assets :

```bash
npm run dev
```

10. Créer un administrateur interactif :

```bash
php artisan user:create-admin
```

La commande demandera :
- Nom complet
- Email
- Mot de passe

Elle vérifie que l'email est unique avant de créer l'utilisateur et lui associe le rôle `admin`.

## Lancer le serveur local

```bash
php artisan serve
```

Le site sera généralement disponible sur :

```text
http://127.0.0.1:8000
```

## Commandes utiles

- Exécuter le serveur de développement :

```bash
php artisan serve
```

- Compiler les assets en mode développement :

```bash
npm run dev
```

- Compiler les assets pour la production :

```bash
npm run build
```

- Vider les caches Laravel :

```bash
php artisan optimize:clear
```

## Déploiement

Pour déployer en production, suivez ces étapes générales :

1. Copier le contenu de `theologicum/` sur le serveur.
2. Configurer le dossier racine du site sur `theologicum/public`.
3. Installer les dépendances PHP :

```bash
composer install
```

4. Installer les dépendances front-end et générer les assets :

```bash
npm install
npm run build
```

5. Copier ou créer le fichier `.env` et définir les variables d'environnement de production :

- `APP_ENV=production`
- `APP_DEBUG=false`
- `APP_URL=https://nom-de-domaine`
- Paramètres DB

6. Créer la clé d'application  :

```bash
php artisan key:generate
```

7. Lancer les migrations :

```bash
php artisan migrate --force
```

8. Ajuster les permissions pour les dossiers écriture :

- `storage/`
- `bootstrap/cache/`

9. Activer l'optimisation Laravel :

```bash
php artisan config:cache
php artisan route:cache
php artisan view:cache
```
