Biblio Holy

Manuel complet de gestion de la bibliothèque

📅 Version 2.0 — 2026 🖥️ PHP 7.4+ · SQLite 🌐 Synology NAS / OVH
📖
Section 1

Présentation

Biblio Holy est une application web de gestion de bibliothèque paroissiale. Elle fonctionne directement dans votre navigateur, sans installation sur les postes clients. Toutes les données sont stockées sur votre serveur (NAS Synology ou hébergement web).

📚
Livres
Catalogue & disponibilités
👥
Adhérents
Membres & cotisations
🔄
Emprunts
Prêts & retours
📧
Emails
Relances automatiques

Fonctionnalités principales

  • Catalogue de livres avec catégories, ISBN et disponibilité en temps réel
  • Gestion des adhérents avec suivi des cotisations annuelles (payé / non payé)
  • Enregistrement des emprunts avec scanner code-barres ISBN (USB ou caméra)
  • Alertes automatiques : retards, expiration de cotisation, relances par email
  • Tableau de bord avec statistiques, graphiques et alertes en un coup d'œil
  • Historique complet des prêts avec export CSV
  • Import en masse de livres et catégories depuis fichier CSV ou Excel (.xlsx)
  • Gestion multi-utilisateurs (administrateur / bibliothécaire)
  • Interface 100 % responsive, utilisable sur tablette

Rôles utilisateurs

RôleDroits
🛡️ AdministrateurAccès complet : livres, adhérents, emprunts, historique, utilisateurs, configuration
📖 BibliothécaireGestion des livres, adhérents, emprunts et retours — pas d'accès aux comptes utilisateurs
🔓
Section 2

Connexion

Accédez à l'application via votre navigateur à l'adresse configurée sur votre serveur (ex : http://nas.local/biblioholy/).

Saisir l'identifiantEntrez votre login (ex : admin ou biblio)
Saisir le mot de passeCliquez sur 👁️ pour afficher/masquer le mot de passe
Cliquer sur "Se connecter"La session reste active jusqu'à la déconnexion manuelle via le bouton ⏻ en bas du menu
ℹ️
Les identifiants par défaut après installation sont admin / Admin2026! et biblio / Biblio2026!. Changez-les immédiatement depuis la section Utilisateurs.
🏠
Section 3

Tableau de bord

La page d'accueil offre une vue synthétique de l'activité de la bibliothèque.

Cartes statistiques

📚
Livres
Total catalogue · disponibles
👥
Adhérents
Total · actifs · expirés
💳
Cotisations
Non payées · relançables
🔄
Emprunts
En cours · retournés
⚠️
Retards
Livres en retard

Graphiques

📈 Emprunts par mois — Histogramme des 6 derniers mois (emprunts en cours + historique).
✝️ Par catégorie — Répartition en anneau des livres par catégorie.

Section cotisations non payées

Si des adhérents ont leur cotisation expirée, une section apparaît automatiquement en bas du tableau de bord avec :

  • La liste de tous les adhérents avec cotisation non payée, date d'expiration et nombre de jours de retard
  • Bouton 💳 pour ouvrir le modal de gestion de cotisation
  • Bouton 📧 pour envoyer un email de relance individuel
  • Bouton 📧 Relancer tous pour envoyer en masse à tous les adhérents expirés disposant d'un email

Cloche de notifications 🔔

Le compteur en haut à droite affiche le nombre de livres en retard. Cliquez dessus pour accéder directement à la page des emprunts.

📚
Section 4

Gestion des livres

Catalogue

La page Livres liste tous les ouvrages avec leur disponibilité en temps réel. Filtrez par catégorie, disponibilité ou recherchez par titre/auteur/ISBN.

ColonneDescription
Titre / ÉditeurTitre du livre, année et éditeur
ISBNCode barre international (utilisé par le scanner)
CatégorieCatégorie attribuée au livre
ExemplairesNombre total d'exemplaires physiques
Dispo.2/3 = 2 disponibles sur 3 · 0/2 = tous empruntés

Ajouter / Modifier un livre

Cliquer sur "+ Nouveau livre"Ou sur le bouton ✏️ sur une ligne existante
Remplir le formulaireTitre et Auteur sont obligatoires. L'ISBN (format 978-…) permet l'utilisation du scanner.
Définir le nombre d'exemplairesSi vous avez 3 exemplaires du même livre, mettez 3. La disponibilité se met à jour automatiquement.
EnregistrerCliquer sur 💾 Enregistrer
⚠️
Un livre ne peut pas être supprimé s'il est actuellement emprunté. Attendez son retour avant de le supprimer du catalogue.

Importer des livres depuis un fichier (CSV / Excel)

Le bouton ⬇ Importer dans la barre d'outils permet d'ajouter des livres en masse depuis un fichier CSV ou Excel (.xlsx).

Télécharger le modèleDans la fenêtre d'import, cliquez sur "📥 Télécharger le modèle CSV" pour obtenir un fichier exemple prêt à remplir
Remplir le fichierColonnes disponibles : titre · auteur (obligatoires) · isbn · categorie · annee · editeur · exemplaires · langue · resume
Sélectionner le fichier et importerCliquez sur "⬇ Importer", choisissez votre fichier CSV ou .xlsx, puis cliquez sur "Importer"
Consulter le résultatLe nombre de lignes importées et ignorées (doublons) est affiché. La liste se met à jour automatiquement.
ℹ️
Doublons : détectés par ISBN. Un livre dont l'ISBN existe déjà dans la base est ignoré (non importé, comptabilisé comme doublon). Sans ISBN, le livre est toujours importé.
Format CSV : séparateur point-virgule ; (format Excel français), encodage UTF-8. Le modèle téléchargeable est déjà configuré pour s'ouvrir directement dans Excel.
🏷️
Section 5

Catégories

Les catégories permettent de classer les livres par genre (Roman, Sciences, Histoire…). Chaque livre appartient à une catégorie.

⚠️
Une catégorie ne peut pas être supprimée si des livres y sont rattachés. Réattribuez d'abord ces livres à une autre catégorie.

Importer des catégories depuis un fichier (CSV / Excel)

Comme pour les livres, le bouton ⬇ Importer permet d'ajouter plusieurs catégories en une seule opération.

Télécharger le modèleCliquez sur "📥 Télécharger le modèle CSV" pour obtenir un fichier avec les colonnes nom et description
Remplir le fichierColonne nom (obligatoire) · description (optionnelle)
ImporterSélectionnez votre fichier CSV ou .xlsx et confirmez. Les catégories dont le nom existe déjà (insensible à la casse) sont ignorées.
👥
Section 6

Adhérents

La page Adhérents gère les membres de la bibliothèque. Le tableau affiche : Nom / Prénom · Début cotisation · Fin cotisation · Emprunts · Cotisation · Actions.

Statut affiché dans la colonne Nom

Le badge sous le nom indique le statut administratif de l'adhérent :

Actif   L'adhérent peut emprunter (sous réserve de cotisation valide)

Suspendu   L'adhérent est temporairement bloqué (bouton 🔒 dans les actions)

Ajouter un nouvel adhérent

Cliquer sur "+ Nouvel adhérent"Le formulaire s'ouvre avec statut Actif par défaut
Remplir les informationsPrénom, nom, email (obligatoire pour les emails), téléphone, adresse, type, limite d'emprunts
EnregistrerLa cotisation est inconnu par défaut — à renseigner séparément via le bouton 💳
💳
La cotisation n'est pas dans le formulaire de création. Elle se gère exclusivement via le bouton 💳 présent sur chaque ligne du tableau.

Boutons d'action par ligne

BoutonAction
✏️Modifier les informations de l'adhérent (nom, email, type…)
🔒 / 🔓Suspendre / réactiver l'adhérent
💳Gérer la cotisation (payé / non payé / retrait)
📧Envoyer un email de relance cotisation (visible si expire ou expire bientôt)
🗑️Supprimer l'adhérent (impossible s'il a des emprunts en cours)

Filtres disponibles

La barre de filtres permet d'afficher uniquement : Cotisation valide · Expire bientôt (≤ 15 j) · Expiré · Suspendu

Bouton "📧 Rappels cotisations"

Envoie automatiquement un email de rappel à tous les adhérents dont la cotisation expire dans les 15 prochains jours et qui n'ont pas encore été contactés aujourd'hui.

💳
Section 7

Gestion des cotisations

La cotisation annuelle conditionne le droit d'emprunt. Un adhérent avec cotisation expirée ou inconnue ne peut pas emprunter.

États possibles

BadgeSignificationEmprunt autorisé ?
✅ PayéCotisation en cours, date de fin dans le futur (> 15 j)✅ Oui
⚠️ Payé (expire bientôt)Cotisation valide mais expire dans ≤ 15 jours✅ Oui (avec avertissement)
❌ Non payéDate de fin dépassée❌ Non
— InconnuAucune cotisation enregistrée❌ Non

Enregistrer ou modifier une cotisation

Cliquer sur le bouton 💳 sur la ligne de l'adhérent :

Choisir "✅ Payé" ou "❌ Non payé"Le choix est pré-rempli selon l'état actuel de l'adhérent
Si Payé : saisir la date de débutLa date de fin (+ 1 an) est calculée automatiquement et non modifiable
Cliquer sur "✅ Enregistrer"Le statut du badge se met à jour immédiatement dans le tableau

Retirer une cotisation

Sélectionner "❌ Non payé" puis enregistrer. Une confirmation est demandée. Le statut repasse à — Inconnu et l'adhérent ne peut plus emprunter.

⚠️
Retirer une cotisation ne supprime pas les emprunts en cours. Les livres déjà empruntés ne sont pas rappelés automatiquement.

Emails automatiques liés aux cotisations

  • Rappel 15 jours avant — envoyé via "📧 Rappels cotisations" ou automatiquement via check_rappels
  • Relance expiration — envoyé via le bouton 📧 sur une ligne expirée ou "📧 Relancer tous" depuis le tableau de bord
🔄
Section 8

Emprunts

Enregistrer un nouvel emprunt

Cliquer sur "+ Nouvel emprunt"Le modal s'ouvre avec la date du jour et un retour prévu dans 14 jours
Identifier le livre (scanner ou liste)Voir ci-dessous la section Scanner code-barres
Sélectionner l'adhérentSeuls les adhérents actifs avec cotisation Payé ou ⚠️ Expire bientôt apparaissent dans la liste
Ajuster les dates si nécessaireDate d'emprunt et date de retour prévue
ConfirmerUn email de confirmation est envoyé automatiquement à l'adhérent (si email renseigné et SMTP configuré)
🚫
Les adhérents avec cotisation ❌ Non payé ou — Inconnu sont exclus de la liste et ne peuvent pas emprunter.

Scanner code-barres ISBN

Le scanner permet d'identifier un livre rapidement en flashant son code-barres :

  • Scanner USB / douchette — cliquez dans le champ de saisie et passez le scanner sur le code-barres. Appuyez sur Entrée pour rechercher.
  • Caméra — cliquez sur 📷 pour activer la caméra. La détection est automatique (Chrome / Edge requis). La caméra s'arrête après lecture.
  • Le livre identifié est pré-sélectionné dans la liste déroulante avec ses disponibilités.

Livres en retard

Les lignes en rouge clair indiquent un emprunt dépassant la date de retour prévue.

Le bouton 📧 permet d'envoyer un email de relance à l'emprunteur.

📥
Section 9

Retours

Pour enregistrer le retour d'un livre :

Trouver l'empruntDans la page Emprunts ou directement depuis le tableau de bord (section Retards)
Cliquer sur "📥 Retour"Le modal affiche le récapitulatif de l'emprunt
Confirmer la date de retour et l'état du livreBon état · Usé · Endommagé — ajoutez un commentaire si nécessaire
EnregistrerL'emprunt passe dans l'historique et la disponibilité du livre est mise à jour automatiquement
📋
Section 10

Historique

L'historique conserve tous les emprunts retournés. Filtrez par mois ou recherchez par titre/adhérent.

Chaque ligne affiche : livre · adhérent · date d'emprunt · date de retour · durée · éventuel retard.

Export CSV

Le bouton ⬇ Exporter CSV génère un fichier téléchargeable avec l'ensemble de l'historique, prêt à ouvrir dans Excel ou LibreOffice Calc (séparateur ;).

📧
Section 11

Emails automatiques

Biblio Holy envoie plusieurs types d'emails HTML via SMTP.

EmailDéclencheurDestinataire
Confirmation d'empruntAutomatique à l'enregistrement d'un empruntEmprunteur
Relance retardBouton 📧 dans la liste des empruntsEmprunteur
Rappel cotisation (15 j)Bouton "📧 Rappels cotisations" ou automatiqueAdhérent
Relance cotisation expiréeBouton 📧 sur ligne adhérent ou "Relancer tous" tableau de bordAdhérent
ℹ️
Si SMTP_ENABLED est à false dans api.php, aucun email n'est envoyé (mode test). Les boutons restent visibles mais ne font rien.
⚙️
Section 12

Gestion des utilisateurs

Accessible uniquement aux Administrateurs. En tant qu'administrateur, la section Administration du menu affiche trois entrées : 👤 Utilisateurs, 🔑 Licences et ⚙️ Paramètres.

Créer un utilisateur

Cliquer sur "+ Nouvel utilisateur"Remplir prénom, nom, email, identifiant et mot de passe (6 caractères minimum)
Choisir le rôle📖 Bibliothécaire (accès standard) ou 🛡️ Administrateur (accès complet)
EnregistrerL'utilisateur peut se connecter immédiatement
🚨
Il est impossible de supprimer ou désactiver le dernier administrateur actif — pour éviter tout verrouillage de l'application.

Changer un mot de passe

Cliquez sur ✏️ sur la ligne de l'utilisateur. Laissez le champ mot de passe vide pour le conserver, ou saisissez un nouveau mot de passe pour le modifier.

🔑
Section 13

Gestion des licences

La page 🔑 Licences (visible uniquement pour les administrateurs) permet de générer et gérer les clés de licence pour les paroisses ou organisations qui utilisent la version distribuée de Biblio Holy.

ℹ️
Cette section est propre à la version master (votre installation). Les installations distribuées aux clients ne disposent pas de cette page — elles utilisent simplement la clé que vous leur avez fournie pour s'activer.

Générer une nouvelle licence

Saisir le nom de l'organisationEx : "Paroisse Notre-Dame de Paris" — ce nom s'affichera dans le menu latéral de l'installation cliente
Renseigner l'email de contactFacultatif — pour votre propre référence
Choisir la durée1 an · 2 ans · 3 ans · ou À vie (sans expiration)
Cliquer sur "🔑 Générer la clé"La clé est affichée au format BHOLY-XXXXX-XXXXX-XXXXX. Cliquez sur 📋 Copier pour la transmettre au client.

Tableau des licences

Le tableau liste toutes les licences générées avec : organisation · email · clé · date d'expiration · date de création · statut.

StatutSignification
ActiveLicence valide, le client peut utiliser l'application normalement
Expire bientôtExpiration dans moins de 30 jours — à renouveler
ExpiréeL'installation cliente passe en mode lecture seule (aucune modification possible)
RévoquéeLicence annulée manuellement — le client ne peut plus activer de nouvelle installation
⚠️
Révoquer une licence ne bloque pas les installations déjà actives — elles continuent à fonctionner jusqu'à l'expiration naturelle. La révocation empêche uniquement toute nouvelle activation avec cette clé.
🔧
Section 14

Paramètres

La page ⚙️ Paramètres (administrateurs uniquement) regroupe deux blocs de configuration accessibles directement depuis l'interface, sans modifier de fichiers.

Paramètres généraux

  • Nombre maximum d'emprunts simultanés par défaut — valeur appliquée aux nouveaux adhérents. Chaque adhérent peut avoir sa propre limite individuelle définie dans son profil.

Configuration email (SMTP)

Activer l'envoi d'emailsCochez "Activer l'envoi d'emails" pour activer les rappels de retard, confirmations d'emprunt, etc.
Renseigner les coordonnées de l'expéditeurEmail expéditeur · Nom affiché · Email réponse (Reply-To)
Configurer le serveur SMTPServeur · Port · Sécurité (TLS / SSL / aucune) · Identifiant · Mot de passe
Enregistrer et testerCliquez sur 💾 Enregistrer, puis saisissez un email de test et cliquez sur "📨 Tester l'envoi" pour vérifier que tout fonctionne

Exemples de serveurs SMTP courants

FournisseurServeurPortSécurité
Gmailsmtp.gmail.com587TLS — utiliser un mot de passe d'application Google
OVHsmtp.mail.ovh.net465SSL
Infomaniakmail.infomaniak.com587TLS
Outlook / Office 365smtp.office365.com587TLS
Synology MailPluslocalhost25aucune
ℹ️
Si l'envoi d'emails est désactivé, tous les boutons d'envoi restent visibles dans l'interface mais n'envoient rien. Utile pour tester l'application sans serveur mail configuré.
🖥️
Section 15

Installation

Prérequis serveur

  • PHP 7.4 ou supérieur avec extensions PDO et pdo_sqlite
  • Serveur web Nginx (Synology) ou Apache (OVH)
  • Dossier data/ accessible en écriture par le processus PHP

Sur Synology NAS (DSM 7)

Copier les fichiersDéposer le dossier biblioholy/ dans /volume1/web/ via le Gestionnaire de fichiers DSM
Créer le dossier data/En SSH : mkdir -p /volume1/web/biblioholy/data && chmod 755 /volume1/web/biblioholy/data && chown -R http:http /volume1/web/biblioholy/data
Configurer NginxDans Web Station, portail de service, coller la configuration du fichier nginx-synology.conf fourni
Activer PHPDans Web Station, vérifier que PHP 8.x est sélectionné et que pdo_sqlite est activé dans le profil PHP
Accéder à l'applicationOuvrir http://votre-nas/biblioholy/ et vous connecter avec admin / Admin2026!

Sur hébergement mutualisé OVH

Envoyer les fichiers par FTPDans www/biblioholy/ ou à la racine www/
Vérifier les permissionsLe dossier data/ doit être en chmod 755 — OVH l'applique automatiquement dans la plupart des cas
Tester via diagnostic.phpAccéder à http://votre-site.fr/biblioholy/diagnostic.phpsupprimer ce fichier après vérification !
La base de données biblio.db est créée automatiquement au premier accès à api.php. Les données de démonstration sont insérées une seule fois et ne se réinitialisent jamais, même si tous les emprunts sont retournés.

Fichiers de l'application

FichierRôle
index.htmlInterface utilisateur (SPA — Single Page Application)
api.phpBackend PHP — toute la logique métier et l'accès à la base
logo.svgLogo Biblio Holy (livre avec croix catholique)
manuel.htmlCe manuel utilisateur
data/biblio.dbBase de données SQLite (créée automatiquement)
nginx-synology.confConfiguration Nginx pour Synology DSM 7
.htaccessConfiguration Apache / protection (OVH)
diagnostic.phpOutil de diagnostic — à supprimer après installation !

Biblio Holy v2.0 — Manuel utilisateur — 2026
← Retour à l'application