Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
705860a5ec | |||
5912c7a0be |
186
README.md
186
README.md
@ -1,179 +1,59 @@
|
||||
# Plateforme de Publication de Romans en Ligne
|
||||
# Lectures d'Esenjin - Plateforme de Publication de Romans
|
||||
|
||||
Une plateforme web simple et élégante pour la publication et la lecture de romans en ligne, développée en PHP avec stockage JSON.
|
||||
Une plateforme web élégante pour la publication et la lecture de romans, développée en PHP avec stockage JSON.
|
||||
|
||||
## 🚀 Fonctionnalités
|
||||

|
||||
|
||||
## Fonctionnalités principales
|
||||
|
||||
### Zone Administrative
|
||||
- Interface sécurisée pour la gestion des contenus
|
||||
- Création et édition de romans avec éditeur WYSIWYG
|
||||
- Gestion flexible des chapitres avec réorganisation par glisser-déposer
|
||||
- Prévisualisation avant publication
|
||||
- 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.)
|
||||
- Import/Export des romans
|
||||
- Gestion du profil et des options du site
|
||||
|
||||

|
||||

|
||||

|
||||
- Création et édition de romans avec éditeur WYSIWYG (Quill.js)
|
||||
- Gestion des chapitres avec réorganisation par glisser-déposer
|
||||
- Mode brouillon pour les chapitres en cours de rédaction
|
||||
- Système d'upload et de gestion d'images
|
||||
- Gestion des accès utilisateurs (administrateurs, éditeurs)
|
||||
- Import/Export des romans au format ZIP
|
||||
- Personnalisation des options du site (logo, bannière, informations)
|
||||
|
||||
### Zone Publique
|
||||
- Interface de lecture épurée et confortable
|
||||
- Interface de lecture épurée aux tons bruns/ocre
|
||||
- Navigation intuitive entre les chapitres
|
||||
- Design responsive optimisé pour la lecture
|
||||
- Thème personnalisé aux tons bruns/ocre
|
||||
- Affichage adaptatif des images et du contenu
|
||||
- Design responsive optimisé pour tous les appareils
|
||||
- Section "À propos" personnalisable avec statistiques automatiques
|
||||
- Indicateurs pour nouveaux chapitres et contenus en cours de rédaction
|
||||
|
||||

|
||||

|
||||
|
||||
## 📋 Prérequis
|
||||
## Prérequis techniques
|
||||
|
||||
- PHP 8.0 ou supérieur
|
||||
- Serveur web (Apache/Nginx) avec mod_rewrite activé
|
||||
- Extensions PHP : GD ou Imagick pour le traitement des images
|
||||
- Permissions d'écriture sur les dossiers `stories/`, `assets/images/` et `admin/`
|
||||
- Extensions PHP : GD pour le traitement des images
|
||||
- Permissions d'écriture sur les dossiers `stories/` et `assets/images/`
|
||||
|
||||
## 🛠️ Installation
|
||||
## Installation rapide
|
||||
|
||||
1. Clonez le dépôt :
|
||||
```bash
|
||||
git clone https://github.com/votre-username/nom-du-projet.git
|
||||
cd nom-du-projet
|
||||
```
|
||||
1. Clonez le dépôt
|
||||
2. Copiez et modifiez `config.json` avec vos paramètres
|
||||
3. Définissez les permissions appropriées sur les dossiers
|
||||
4. Accédez à `/admin` pour commencer à gérer vos romans
|
||||
|
||||
2. Configurez votre serveur web pour pointer vers le dossier racine du projet
|
||||
|
||||
3. Copiez et modifiez le fichier de configuration :
|
||||
```bash
|
||||
cp config.example.json config.json
|
||||
```
|
||||
|
||||
4. Modifiez `config.json` avec vos paramètres :
|
||||
```json
|
||||
{
|
||||
"site": {
|
||||
"name": "Votre Site",
|
||||
"url": "https://votre-domaine.com",
|
||||
"description": "Description de votre site",
|
||||
"logo": "assets/images/logo.png"
|
||||
},
|
||||
"users": [
|
||||
{
|
||||
"id": "admin",
|
||||
"password": "votre_mot_de_passe_hashé"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
5. Définissez les permissions appropriées :
|
||||
```bash
|
||||
chmod 755 .
|
||||
chmod 644 config.json
|
||||
chmod -R 755 stories/
|
||||
chmod -R 755 assets/images/
|
||||
```
|
||||
|
||||
## 📁 Structure du Projet
|
||||
## Structure du projet
|
||||
|
||||
```
|
||||
/
|
||||
├── 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
|
||||
│ ├── css/ # Styles CSS
|
||||
│ ├── js/ # Scripts JavaScript
|
||||
│ └── images/ # Images uploadées
|
||||
│ ├── covers/ # Couvertures des romans
|
||||
│ └── chapters/ # Images des chapitres
|
||||
├── admin/ # Zone administrative
|
||||
├── assets/ # Ressources statiques (CSS, JS, images)
|
||||
├── includes/ # Fichiers PHP réutilisables
|
||||
├── stories/ # Dossier contenant les récits (JSON)
|
||||
├── stories/ # Romans au format JSON
|
||||
├── config.json # Configuration du site
|
||||
└── index.php # Page d'accueil publique
|
||||
└── index.php # Page d'accueil
|
||||
```
|
||||
|
||||
## 🔒 Sécurité
|
||||
## Sécurité
|
||||
|
||||
- Authentification sécurisée avec hashage des mots de passe
|
||||
- Protection contre les attaques XSS et CSRF
|
||||
- Validation des données entrantes
|
||||
- Sanitization des sorties HTML
|
||||
- Restrictions sur les types de fichiers uploadés
|
||||
- Redimensionnement automatique des images
|
||||
- Sessions sécurisées avec paramètres renforcés
|
||||
- Protection contre les injections et les attaques XSS
|
||||
- Validation des données et restrictions sur les uploads
|
||||
|
||||
## 🌐 Utilisation
|
||||
|
||||
### Interface Administrative
|
||||
1. Accédez à `/admin` et connectez-vous
|
||||
2. Utilisez le menu pour gérer vos romans et chapitres
|
||||
3. L'éditeur WYSIWYG permet une mise en forme riche du texte
|
||||
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
|
||||
- La page d'accueil liste tous les romans disponibles
|
||||
- Chaque roman a sa page dédiée avec description et chapitres
|
||||
- Navigation fluide entre les chapitres
|
||||
- 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
|
||||
|
||||
Les contributions sont les bienvenues ! Pour contribuer :
|
||||
|
||||
1. Forkez le projet
|
||||
2. Créez une branche pour votre fonctionnalité (`git checkout -b feature/AmazingFeature`)
|
||||
3. Committez vos changements (`git commit -m 'Add some AmazingFeature'`)
|
||||
4. Poussez vers la branche (`git push origin feature/AmazingFeature`)
|
||||
5. Ouvrez une Pull Request
|
||||
|
||||
## 📝 License
|
||||
## License
|
||||
|
||||
Ce projet est sous licence MIT - voir le fichier [LICENSE.md](LICENSE.md) pour plus de détails.
|
@ -45,7 +45,9 @@ $canViewDrafts = Auth::check() && Auth::canAccessStory($storyId);
|
||||
<div class="novel-header-background" style="background-image: url('<?= htmlspecialchars($story['cover']) ?>');"></div>
|
||||
<?php endif; ?>
|
||||
<div class="header-actions">
|
||||
<a href="index.php" class="about-button">Accueil</a>
|
||||
<a href="index.php" class="about-button">
|
||||
<i class="fas fa-home"></i> Accueil
|
||||
</a>
|
||||
</div>
|
||||
<h1><?= htmlspecialchars($story['title']) ?></h1>
|
||||
</header>
|
||||
|
@ -1 +1 @@
|
||||
1.3.2
|
||||
1.3.3
|
Loading…
x
Reference in New Issue
Block a user