Documentation

AnarcosyndicalismeBOOK
Retour

Installation

Prérequis

Composant Version
PHP 8.0+
MySQL / MariaDB 5.7+ / 10.3+
Extensions PHP pdo_mysql, curl, mbstring, fileinfo
Optionnel sqlite3 (CLI), simplexml

Installation YunoHost

Méthode recommandée : Utilisez le package officiel.

sudo yunohost app install https://gitlab.com/anarchymedialibertaire-group/anarcosyndicalismebook_ynh

Installation rapide

# 1. Cloner le dépôt
git clone https://gitlab.com/anarchymedialibertaire-group/anarcosyndicalismebook.git
cd anarcosyndicalismebook

# 2. Installer les dépendances
composer install

# 3. Ouvrir l'installateur
# http://votre-domaine.org/install.php

Installateur interactif (7 étapes)

  1. Bienvenue — Présentation
  2. Vérifications — Contrôle des dépendances
  3. Base de données — Configuration MySQL
  4. Configuration — URL, SMTP, hCaptcha
  5. Administrateur — Création du compte admin
  6. Installation — Création des tables
  7. Terminé — Accès au site

Configuration

Fichiers générés

L'installateur crée automatiquement :

  • includes/config.php — SMTP, hCaptcha, URL du site
  • includes/database.php — Connexion MySQL

Configuration SMTP

Paramètre Description
SMTP_HOST Serveur SMTP (ex: smtp.gmail.com)
SMTP_PORT Port (465 SSL, 587 TLS)
SMTP_USER Adresse email
SMTP_PASS Mot de passe

Personnalisation

Via Admin > Paramètres :

  • Titre, description, citation
  • Couleurs (primaire, secondaire)
  • Logo et favicon personnalisés
  • Clés SEO (Google, Bing)

Administration

Accès : /admin/ (comptes admin uniquement)

Fonctionnalités

  • Dashboard — Statistiques, lectures totales
  • Utilisateurs — Gestion des comptes, 2FA/TOTP
  • Textes — CRUD complet, upload PDF/EPUB
  • Import en masse — Drag & drop
  • Import Calibre — metadata.db ou serveur OPDS
  • Auteurs — Gestion avec photos
  • Catégories — Organisation thématique
  • Pages — Éditeur WYSIWYG
  • Menus — Gestion navigation
  • Newsletter — Abonnés, envoi en masse
  • Formulaires — Formulaires personnalisables
  • Paramètres — Personnalisation
  • Mises à jour — Mise à jour automatique

Import Calibre

Méthode 1 : Fichier metadata.db

  1. Localiser ~/Calibre Library/metadata.db
  2. Admin > Import Calibre > Fichier metadata.db
  3. Uploader le fichier
  4. Sélectionner les livres à importer

Nécessite sqlite3 sur le serveur

Méthode 2 : Serveur Calibre (OPDS)

  1. Lancer : calibre-server --port 8181
  2. Admin > Import Calibre > Serveur
  3. Entrer l'URL : http://localhost:8181
  4. Sélectionner et importer

Les fichiers PDF/EPUB sont téléchargés automatiquement

Mises à jour

Mise à jour automatique

  1. Admin > Mises à jour
  2. Cliquer sur "Vérifier maintenant"
  3. Si disponible, cliquer sur "Mettre à jour"

Ce qui se passe

  • Sauvegarde automatique de la BDD
  • Sauvegarde des fichiers de config
  • git fetch + git reset --hard
  • Restauration des configs
  • composer install

Prérequis

  • Git installé sur le serveur
  • mysqldump pour les sauvegardes (optionnel)

Sécurité

Protection Implémentation
SQL Injection Requêtes préparées PDO
XSS htmlspecialchars + CSP
CSRF Tokens sur formulaires
Brute force Rate limiting + hCaptcha
Sessions httpOnly, secure, samesite
Mots de passe bcrypt
Double Auth TOTP (2FA) / QR Code
Passkeys WebAuthn (connexion sans mot de passe)
Uploads Validation MIME + magic bytes

Recommandations production

  • Activer HTTPS (Let's Encrypt)
  • Configurer hCaptcha
  • Configurer SMTP
  • Sauvegardes régulières

Newsletter

Fonctionnalités

  • Formulaire d'inscription public
  • Gestion des abonnés (admin)
  • Envoi en masse avec template personnalisable
  • Lien de désinscription automatique
  • Double opt-in (confirmation par email)

Configuration

La newsletter nécessite une configuration SMTP fonctionnelle. Activez-la dans Admin > Paramètres.

Formulaires personnalisables

Créer un formulaire

  1. Admin > Formulaires > Nouveau
  2. Ajouter des champs (texte, email, textarea, select...)
  3. Configurer l'email de destination
  4. Intégrer via shortcode ou page dédiée

Types de champs

  • text — Champ texte simple
  • email — Email avec validation
  • textarea — Zone de texte
  • select — Liste déroulante
  • checkbox — Case à cocher
  • file — Upload de fichier