# Pitchounets SaaS — V2.0.0-alpha.1

Première fondation **Laravel 13 / MySQL** auto-hébergée, conçue pour une offre OVH Web Pro en PHP 8.3.

## Ce qui fonctionne dans cette version

- connexion par session Laravel ;
- super-administration globale ;
- liste des organisations ;
- création réelle d’une crèche en base ;
- modèle vierge central ;
- copie des modules et paramètres du modèle ;
- création de l’administrateur principal avec mot de passe temporaire ;
- organisation réelle « Les Pitchounets » ;
- organisation de démonstration ;
- résolution d’une organisation par sous-domaine ou par URL de secours `/o/{slug}` ;
- contrôle d’accès par organisation ;
- journal d’audit ;
- cockpit de fondation responsive ;
- commande de réinitialisation des indicateurs de démonstration.

## Ce que cette version ne fait pas encore

- création automatique du sous-domaine dans l’API OVH ;
- envoi du mot de passe temporaire par e-mail ;
- objets métier Famille, Enfant, Contrat, Réunion ou Facture ;
- migration des données Apps Script ;
- stockage documentaire avancé.

## Installation locale

Prérequis : PHP 8.3+, Composer, MySQL 8+ ou MariaDB compatible.

```bash
cp .env.example .env
composer install
php artisan key:generate
# renseigner la base et le compte super-admin dans .env
php artisan migrate --seed
php artisan serve
```

Connexion initiale : valeurs `SUPER_ADMIN_EMAIL` et `SUPER_ADMIN_PASSWORD` du `.env`.

## Installation OVH Pro

1. Créer une base MySQL libre depuis l’onglet **Bases de données**.
2. En SSH, créer un répertoire hors des autres sites, par exemple `~/pitchounets`.
3. Envoyer tout le projet dans ce répertoire.
4. Installer Composer selon la procédure OVH, avec un fichier `composer.phar` dans le projet.
5. Copier `.env.example` en `.env` et renseigner les accès MySQL OVH.
6. Exécuter :

```bash
php composer.phar install --no-dev --optimize-autoloader
php artisan key:generate
php artisan migrate --seed --force
php artisan optimize
```

7. Dans **Multisite**, définir la racine du domaine ou sous-domaine sur :

```text
pitchounets/public
```

8. Activer le SSL puis tester `/login`.

Le code Laravel reste en dehors de la racine publique ; seul le dossier `public` est exposé.

## Comptes et domaines de départ

Ils sont créés par `SystemSeeder` :

- modèle vierge : `template` ;
- production : `les-pitchounets` ;
- démonstration : `demo`.

Les noms de domaine sont dérivés de `SAAS_ROOT_DOMAIN`.

## Réinitialiser la démo

```bash
php artisan saas:reset-demo --force
```

## Sécurité multi-crèche

Toutes les ressources SaaS sont rattachées à `organization_id`. Le middleware vérifie l’organisation courante puis l’appartenance de l’utilisateur. Les futurs objets métier devront obligatoirement utiliser la même règle.
