Compare commits
2 Commits
f9a00576dc
...
13c54c5884
Author | SHA1 | Date | |
---|---|---|---|
13c54c5884 | |||
6c6c9b533d |
84
README.md
84
README.md
@ -7,21 +7,32 @@ Une plateforme web simple et élégante pour la publication et la lecture de rom
|
|||||||
### Zone Administrative
|
### Zone Administrative
|
||||||
- Interface sécurisée pour la gestion des contenus
|
- Interface sécurisée pour la gestion des contenus
|
||||||
- Création et édition de romans avec éditeur WYSIWYG
|
- Création et édition de romans avec éditeur WYSIWYG
|
||||||
- Gestion flexible des chapitres
|
- Gestion flexible des chapitres avec réorganisation par glisser-déposer
|
||||||
- Prévisualisation avant publication
|
- Prévisualisation avant publication
|
||||||
- Stockage JSON pour une maintenance simplifiée
|
- Stockage JSON pour une maintenance simplifiée
|
||||||
|
- Système d'upload d'images avec redimensionnement automatique
|
||||||
|
- Gestion des métadonnées (date de création, mise à jour, etc.)
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
### Zone Publique
|
### Zone Publique
|
||||||
- Interface de lecture épurée et confortable
|
- Interface de lecture épurée et confortable
|
||||||
- Navigation intuitive entre les chapitres
|
- Navigation intuitive entre les chapitres
|
||||||
- Design responsive optimisé pour la lecture
|
- Design responsive optimisé pour la lecture
|
||||||
- Thème personnalisé aux tons bruns/ocre
|
- Thème personnalisé aux tons bruns/ocre
|
||||||
|
- Affichage adaptatif des images et du contenu
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
## 📋 Prérequis
|
## 📋 Prérequis
|
||||||
|
|
||||||
- PHP 8.0 ou supérieur
|
- PHP 8.0 ou supérieur
|
||||||
- Serveur web (Apache/Nginx) avec mod_rewrite activé
|
- Serveur web (Apache/Nginx) avec mod_rewrite activé
|
||||||
- Permissions d'écriture sur les dossiers `stories/` et `admin/`
|
- Extensions PHP : GD ou Imagick pour le traitement des images
|
||||||
|
- Permissions d'écriture sur les dossiers `stories/`, `assets/images/` et `admin/`
|
||||||
|
|
||||||
## 🛠️ Installation
|
## 🛠️ Installation
|
||||||
|
|
||||||
@ -61,6 +72,7 @@ cp config.example.json config.json
|
|||||||
chmod 755 .
|
chmod 755 .
|
||||||
chmod 644 config.json
|
chmod 644 config.json
|
||||||
chmod -R 755 stories/
|
chmod -R 755 stories/
|
||||||
|
chmod -R 755 assets/images/
|
||||||
```
|
```
|
||||||
|
|
||||||
## 📁 Structure du Projet
|
## 📁 Structure du Projet
|
||||||
@ -68,10 +80,15 @@ chmod -R 755 stories/
|
|||||||
```
|
```
|
||||||
/
|
/
|
||||||
├── admin/ # Zone administrative sécurisée
|
├── admin/ # Zone administrative sécurisée
|
||||||
|
│ ├── api/ # Endpoints API pour les opérations CRUD
|
||||||
|
│ ├── index.php # Dashboard administratif
|
||||||
|
│ └── login.php # Page de connexion
|
||||||
├── assets/ # Ressources statiques
|
├── assets/ # Ressources statiques
|
||||||
│ ├── css/
|
│ ├── css/ # Styles CSS
|
||||||
│ ├── js/
|
│ ├── js/ # Scripts JavaScript
|
||||||
│ └── images/
|
│ └── images/ # Images uploadées
|
||||||
|
│ ├── covers/ # Couvertures des romans
|
||||||
|
│ └── chapters/ # Images des chapitres
|
||||||
├── includes/ # Fichiers PHP réutilisables
|
├── includes/ # Fichiers PHP réutilisables
|
||||||
├── stories/ # Dossier contenant les récits (JSON)
|
├── stories/ # Dossier contenant les récits (JSON)
|
||||||
├── config.json # Configuration du site
|
├── config.json # Configuration du site
|
||||||
@ -80,11 +97,13 @@ chmod -R 755 stories/
|
|||||||
|
|
||||||
## 🔒 Sécurité
|
## 🔒 Sécurité
|
||||||
|
|
||||||
- L'accès à la zone administrative est protégé par authentification
|
- Authentification sécurisée avec hashage des mots de passe
|
||||||
- Les mots de passe sont hashés
|
|
||||||
- Protection contre les attaques XSS et CSRF
|
- Protection contre les attaques XSS et CSRF
|
||||||
- Validation des données entrantes
|
- Validation des données entrantes
|
||||||
|
- Sanitization des sorties HTML
|
||||||
- Restrictions sur les types de fichiers uploadés
|
- Restrictions sur les types de fichiers uploadés
|
||||||
|
- Redimensionnement automatique des images
|
||||||
|
- Sessions sécurisées avec paramètres renforcés
|
||||||
|
|
||||||
## 🌐 Utilisation
|
## 🌐 Utilisation
|
||||||
|
|
||||||
@ -92,22 +111,65 @@ chmod -R 755 stories/
|
|||||||
1. Accédez à `/admin` et connectez-vous
|
1. Accédez à `/admin` et connectez-vous
|
||||||
2. Utilisez le menu pour gérer vos romans et chapitres
|
2. Utilisez le menu pour gérer vos romans et chapitres
|
||||||
3. L'éditeur WYSIWYG permet une mise en forme riche du texte
|
3. L'éditeur WYSIWYG permet une mise en forme riche du texte
|
||||||
4. Prévisualisez vos modifications avant publication
|
4. Uploadez des images directement dans l'éditeur
|
||||||
|
5. Réorganisez les chapitres par glisser-déposer
|
||||||
|
6. Prévisualisez vos modifications avant publication
|
||||||
|
|
||||||
### Interface Publique
|
### Interface Publique
|
||||||
- La page d'accueil liste tous les romans disponibles
|
- La page d'accueil liste tous les romans disponibles
|
||||||
- Chaque roman a sa page dédiée avec description et chapitres
|
- Chaque roman a sa page dédiée avec description et chapitres
|
||||||
- Navigation fluide entre les chapitres
|
- Navigation fluide entre les chapitres
|
||||||
- Interface adaptative pour une lecture confortable sur tous les appareils
|
- Interface adaptative pour une lecture confortable sur tous les appareils
|
||||||
|
- Optimisation des images selon la taille d'écran
|
||||||
|
|
||||||
|
## 💾 Structure des Données
|
||||||
|
|
||||||
|
### Configuration (config.json)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"site": {
|
||||||
|
"name": "Nom du Site",
|
||||||
|
"description": "Description du site",
|
||||||
|
"logo": "path/to/logo.png"
|
||||||
|
},
|
||||||
|
"users": [
|
||||||
|
{
|
||||||
|
"id": "admin",
|
||||||
|
"password": "hashed_password"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Romans (stories/roman-id.json)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"id": "roman-id",
|
||||||
|
"title": "Titre du Roman",
|
||||||
|
"description": "Description complète",
|
||||||
|
"cover": "assets/images/covers/cover.jpg",
|
||||||
|
"created": "2025-02-14",
|
||||||
|
"updated": "2025-02-14",
|
||||||
|
"chapters": [
|
||||||
|
{
|
||||||
|
"id": "chapitre-1",
|
||||||
|
"title": "Titre du Chapitre",
|
||||||
|
"content": "Contenu au format Delta/HTML",
|
||||||
|
"created": "2025-02-14",
|
||||||
|
"updated": "2025-02-14"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## 🤝 Contribution
|
## 🤝 Contribution
|
||||||
|
|
||||||
Les contributions sont les bienvenues ! Pour contribuer :
|
Les contributions sont les bienvenues ! Pour contribuer :
|
||||||
|
|
||||||
1. Forkez le projet
|
1. Forkez le projet
|
||||||
2. Créez une branche pour votre fonctionnalité
|
2. Créez une branche pour votre fonctionnalité (`git checkout -b feature/AmazingFeature`)
|
||||||
3. Committez vos changements
|
3. Committez vos changements (`git commit -m 'Add some AmazingFeature'`)
|
||||||
4. Poussez vers la branche
|
4. Poussez vers la branche (`git push origin feature/AmazingFeature`)
|
||||||
5. Ouvrez une Pull Request
|
5. Ouvrez une Pull Request
|
||||||
|
|
||||||
## 📝 License
|
## 📝 License
|
||||||
|
Loading…
x
Reference in New Issue
Block a user