# FlatTransPortal CMS v3 v3

CMS flat-file léger orienté partage de fichiers. Sans base de données. 100% PHP. Multi-langue (FR/EN), multi-utilisateurs, multi-thèmes.

---

## Structure

```
www/
├── __technique/                    ← Moteur complet
│   ├── modules/                    ← Fonctions PHP
│   ├── lang/                       ← Traductions (fr.php, en.php)
│   ├── config/                     ← Configuration + utilisateurs
│   └── themes/                     ← 4 thèmes CSS
├── pages/                          ← Pages du site (.txt)
├── Mes_Dossiers/                   ← Dossiers de partage
├── .htaccess                       ← Protection + réécriture d'URL
└── index.php                       ← Point d'entrée
```

---

## Installation

1. Copier tous les fichiers sur votre hébergement (PHP + Apache avec mod_rewrite).
2. Accéder au site — la page d'accueil s'affiche directement.
3. Aller sur `/?page=login` → Identifiants par défaut : `admin / admin123`.

---

## Administration multi-utilisateurs

### Rôles

| Rôle | Accès |
|------|-------|
| **Administrateur** | Tout : pages, partages, upload, configuration, utilisateurs |
| **Super-utilisateur** | Pages + Partages — peut créer des dossiers à la racine |
| **Utilisateur** | Éditeur de pages des dossiers qu'il peut gérer |
| **Visiteur** | Consultation, aucun accès admin |

Chaque dossier de partage peut avoir ses propres **superusers** supplémentaires (utilisateurs normaux avec droits de gestion sur ce dossier uniquement).

---

## Dossiers de partage

Créez des dossiers publics ou protégés par mot de passe depuis l'admin.

**Options par dossier :**
- Renommer le dossier
- Définir ou supprimer un mot de passe
- Ajouter des superusers
- Définir ou supprimer une image de couverture
- Supprimer le dossier

---

## Explorateur de fichiers

Dans un dossier de partage (pour les utilisateurs avec droits) :
- Navigation par sous-dossiers
- Upload multi-fichiers (glisser-déposer)
- Création de sous-dossiers
- Téléchargement ZIP
- Lecteur média intégré
- Tri par nom, date ou taille

Seuls les types de fichiers autorisés (images, documents, vidéos, archives) peuvent être uploadés.

---

## Traductions

Deux langues disponibles, commutables depuis la barre de navigation ou la configuration.
- Ajouter une langue : créer `lang/xx.php` avec les mêmes clés que `fr.php`.

---

## Thèmes

Quatre thèmes disponibles : **Sombre** (défaut), **Clair**, **Terminal**, **Cyberpunk**.

---

## Sécurité

- Mots de passe hashés en bcrypt avec migration automatique depuis SHA-256
- Protection CSRF sur tous les formulaires
- Session régénérée après connexion
- Dossier technique et fichiers de configuration protégés par `.htaccess`

---

## Licence MIT

Distribué librement. Utilisez, modifiez, redistribuez.
