Projet Liturgie ANCMF

Résumé du projet

Ce projet WordPress permet la gestion et la projection de liturgies pour différentes communautés. Il inclut :

  • Création et édition de liturgies (lectures et chants).
  • Affichage plein écran des liturgies avec navigation clavier.
  • Téléchargement HTML offline pour projection hors ligne.
  • Filtres par mois et communauté pour consulter la liste des liturgies.

Fichiers principaux

  • functions.php : chargement des scripts/css, AJAX pour lectures et chants, sauvegarde et récupération des liturgies, inclusion de l’export HTML.
  • inc/functions-export-projection.php : génération du fichier HTML autonome pour projection offline.
  • templates/page-liturgie.php : page de création/édition de liturgie (formulaire).
  • templates/page-liste-liturgies.php : liste des liturgies avec filtres et actions (projection, édition, téléchargement).
  • templates/page-projection.php : affichage plein écran d’une liturgie (slides dynamiques).
  • assets/js/liturgie.js : gestion de la création/édition des liturgies, stockage local et AJAX pour lectures et chants.
  • assets/js/liturgies-list.js : affichage dynamique de la liste des liturgies filtrable par mois et communauté.
  • assets/js/projection.js : navigation clavier et plein écran pour la projection des liturgies.

Fonctionnalités détaillées

Création / Édition d’une liturgie

  • Saisie de la date, communauté et titre automatique.
  • Récupération des lectures depuis AELF via AJAX.
  • Sélection des chants depuis katolika.org ou saisie manuelle.
  • Stockage local temporaire dans localStorage.
  • Sauvegarde dans la base de données avec vérification du nombre minimum de chants.

Liste des liturgies

  • Filtrage par mois/année et communauté.
  • Groupement et affichage par mois avec carte pour chaque liturgie.
  • Actions : Projeter, Modifier, Télécharger offline.

Projection plein écran

  • Slides pour chaque élément : titre, lectures, chants.
  • Navigation clavier : flèches, PageUp/PageDown, espace.
  • Plein écran avec touche F, retour à la page précédente avec Escape.
  • Contenu dynamique récupéré depuis la base et les chants via AJAX.

Téléchargement offline

  • Export HTML autonome avec CSS et JS intégrés.
  • Nom du fichier : liturgie-YYYY-MM-DD-communaute.html.
  • Structure de slides identique à la projection en ligne.

AJAX et helpers

  • get_lectures : récupère les lectures AELF pour une date donnée.
  • get_messe_title : récupère le titre et la couleur liturgique.
  • get_chant : récupère le HTML d’un chant depuis katolika.org.
  • save_liturgie : enregistre la liturgie dans la base de données.
  • get_liturgies : récupère la liste filtrée des liturgies.
  • liturgie_fetch_chant et liturgie_clean_chant_html : helpers pour récupérer et nettoyer le HTML des chants.

Notes techniques

  • Thème WordPress basé sur un functions.php centralisant les scripts, styles et hooks AJAX.
  • Flatpickr utilisé pour la sélection de date.
  • Font Awesome pour les icônes (projection, édition, téléchargement).
  • Slides de projection gérées via projection.js avec navigation fluide et focus.

Utilisation

  1. Créer ou éditer une liturgie via la page dédiée.
  2. Choisir la date et la communauté pour activer les champs.
  3. Remplir les lectures et sélectionner au moins 3 chants.
  4. Enregistrer la liturgie, puis accéder à la liste pour la projeter ou la télécharger offline.
  5. Dans la projection plein écran, naviguer avec les flèches et touches spéciales.

Structure de la base de données

Table: liturgies
---------------
- liturgie_id (varchar)
- uuid_user (varchar)
- date_messe (date)
- communaute (varchar)
- title (varchar)
- color (varchar)
- vakiteny_voalohany (text)
- salamo (text)
- vakiteny_faharoa (text)
- evanjely (text)
- chants (text JSON)
    

Crédits

  • Lectures : AELF
  • Chants : Katolika.org
  • Librairies JS : jQuery, Flatpickr
  • Icônes : Font Awesome