Commit 19a42c05 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Amélioration de la documentation (README).

parent 3b8a3618
Loading
Loading
Loading
Loading
Loading
+23 −3
Original line number Diff line number Diff line
CHANGELOG
=========

1.0.0
3.0.0
-----
- Première version
- Refonte pour permettre la création manuelle d'alertes (incompatible avec version 2)
- Correction de la navigation entre les modales.
- Amélioration de la documentation.

2.0.0
-----
- Corrections pour passage à PHP 8

1.1.2
-----
- [FIX] Module.php : activation redondante du ModuleRouteListener (à faire 1 fois uniquement dans le module Application)

1.1.1
-----
- Retrait de la navigation et du routing 

1.1.0
-----
- Nouveau format d'affichage : Modal Bootstrap.
- Ajout de spécificateurs de sélection d'alerte
- Nouveau format : Modal Bootstrap
- Amélioration des formats Toast et Alert Bootstrap

1.0.0
-----
- Première version
+57 −24
Original line number Diff line number Diff line
@@ -15,39 +15,72 @@ Ce module permet d'afficher des alertes sur une page de votre application, sous
  - Alertes Javascript :
    - pas de HTML possible dans ce format évidemment.

Pour l'instant :
  - le module puise les alertes uniquement dans une base de données ;
  - le module ne propose pas d'IHM pour ajouter/modifier/supprimer des alertes en base de données.
Exemple au format Toasts Bootstrap 5 :
![unicaen-alerte.png](doc%2Funicaen-alerte.png)

Le module fournit une aide de vue `alertes` (cf. `UnicaenAlerte\View\Helper\AlerteViewHelper`).
Les alertes à afficher peuvent être, au choix :
  - puisée dans une base de données,
  - créées manuellement.

Une alerte a les caractéristiques principales suivantes :
  - `code` : Code unique de l'alerte (facultatif pour une alerte créée manuellement)
  - `text` : Texte de l'alerte
  - `title` : Titre/intitulé de l'alerte
  - `severity` : Sévérité de l'alerte ({@see Alerte::SEVERITY_INFO} par défaut)
  - `duration` : Durée d'apparition de l'alerte avant sa disparition, en ms (0 = durée infinie), SI SUPPORTÉE par le mode d'affichage choisi ultérieurement

Exemples
--------
Une alerte peut avoir une période d'affichage (appelée de façon un peu ambitieuse "planning"), càd une date de début 
et une date de fin d'affichage.

```php
// Affichage de toutes les alertes, sous forme de Toasts Bootstrap, à condition que leur planning
// d'affichage inclue la date du jour :
echo $this->alertes()->withMatchingPlanning()->renderAsBootstrapToasts();
Le module fournit l'aide de vue `alertes()` (cf. `UnicaenAlerte\View\Helper\AlerteViewHelper`).

// Idem, sous forme d'Alerts Bootstrap classiques :
echo $this->alertes()->withMatchingPlanning()->renderAsBootstrapAlerts();
Remarques :
- Le module ne propose pas d'IHM pour ajouter/modifier/supprimer des alertes en base de données.
- La prise en compte de la période d'affichage n'est possible que pour les alertes puisées en bdd.

// Idem, sous forme de Modals Bootstrap chaînées :
echo $this->alertes()->withMatchingPlanning()->renderAsBootstrapModals();

// Idem, sous forme d'alertes Javascript :
echo $this->alertes()->withMatchingPlanning()->renderAsJavascriptAlerts();

// Affichage d'une alerte identifiée par son code, sous forme d'un Toast Bootstrap, à condition que son planning
// d'affichage inclue la date du jour :
echo $this->alertes()->withCode('ALERTE_SOUTENANCE')->withMatchingPlanning()->renderAsBootstrapToasts();
Exemples d'utilisation
----------------------

// Affichage d'une alerte identifiée par son code, sous forme d'un Toast Bootstrap, quelque soit son planning :
echo $this->alertes()->withCode('ALERTE_SOUTENANCE')->renderAsBootstrapToasts();
```php
// Affichage d'une alerte créée manuellement, sous forme de Modal Bootstrap : 
echo $this->alertes()->addAlerteNew("Quelque chose s'est mal passé !!", "Votre attention, svp !", 'danger')->renderAsBootstrapModals();
// Affichage d'une alerte créée manuellement, sous forme de Toast Bootstrap disparaissant au bout de 3 secondes : 
echo $this->alertes()addAlerteNew("Youpi !!", "Félicitations", 'success', 3000);->renderAsBootstrapToasts();

// Affichage d'alertes identifiées par leur code, sous forme d'une Alert Bootstrap, quelque soit son planning :
echo $this->alertes()->withCodes('ALERTE_SOUTENANCE', 'ALERTE_FERMETURE')->renderAsBootstrapAlerts();
// Affichage de toutes les alertes puisées en bdd, sous forme de Toasts Bootstrap, à condition que leur planning d'affichage inclue la date du jour :
echo $this->alertes()->addAlertesFromDatabase(true)->renderAsBootstrapToasts();
// Idem, sous forme d'Alerts Bootstrap classiques :
echo $this->alertes()->addAlertesFromDatabase(true)->renderAsBootstrapAlerts();
// Idem, sous forme de Modals Bootstrap chaînées :
echo $this->alertes()->addAlertesFromDatabase(true)->renderAsBootstrapModals();
// Idem, sous forme d'alertes Javascript :
echo $this->alertes()->addAlertesFromDatabase(true)->renderAsJavascriptAlerts();
// Affichage d'une alerte puisée en bdd identifiée par son code, sous forme d'un Toast Bootstrap, à condition que son planning d'affichage inclue la date du jour :
echo $this->alertes()->addAlerteFromDatabase('ALERTE_MAINTENANCE', true)->renderAsBootstrapToasts();
// Affichage d'une alerte puisée en bdd identifiée par son code, sous forme d'un Toast Bootstrap, quelque soit son planning d'affichage :
echo $this->alertes()->addAlerteFromDatabase('ALERTE_FERMETURE_ESTIVALE')->renderAsBootstrapToasts();

// Affichage aggrégé de plusieurs alertes :
echo $this->alertes()
    ->addAlerteNew("Quelque chose s'est mal passé !!", "Votre attention, svp !", 'danger')
    ->addAlerteNew("Youpi !!", "Félicitations", 'success', 3000)
    ->addAlerteFromDatabase('ALERTE_MAINTENANCE', true)
    ->addAlerteFromDatabase('ALERTE_FERMETURE_ESTIVALE')
    ->renderAsBootstrapToasts();
    
// Même chose mais en version "expert" :
/** @var \UnicaenAlerte\View\Helper\AlerteViewHelper $alertesHelper */
$alertesHelper = $this->alertes();
$alertesHelper->getArrayContainer()
    ->addAlerteNew("Quelque chose s'est mal passé !!", "Votre attention, svp !", 'danger')
    ->addAlerteNew("Youpi !!", "Félicitations", 'success', 3000);
$alertesHelper->getDatabaseContainer()
    ->withCodeAndMatchingPlanning('ALERTE_MAINTENANCE')
    ->withCodeAndMatchingPlanning('ALERTE_FERMETURE_ESTIVALE', false);
echo $alertesHelper
    ->addAlertesFromDatabase()
    ->renderAsBootstrapToasts();
```


doc/unicaen-alerte.png

0 → 100644
+44.2 KiB
Loading image diff...