[PHP] Systme d'alerte

Systme d'alerte [PHP] - PHP - Programmation

Marsh Posté le 14-10-2019 à 17:24:51    

Bonjour,
 
Pour un projet je dois mettre en place un système "d'alerte", dans le sens où suivant certaines conditions des utilisateurs devront recevoir une notification sur leur interface (sur une page précise et avec un petit pictogramme dans le menu d'entête) ainsi qu'éventuellement par mail.
Si afficher et envoyer par mail ces alertes ne me posent pas de problème, la question que je me pose est plutôt: comment gérer ces alertes?
 
Chaque utilisateur pourra être informé d'alertes différentes suivant des choix faits.
Du coup je me dis, est-ce que je prépare une table "alertes" qui recense toutes les alertes, puis une autre table qui fait la relation entre les utilisateurs et les alertes qu'ils doivent recevoir, ou autre chose?
Peut-être existe-t-il des packages faisant ça déjà très bien? je n'en ai pas trouvé sur Packagist mais peut-être que je ne recherche pas avec les bons termes, ...?
 
Par avance merci pour votre aide et/ou indications. :)

Reply

Marsh Posté le 14-10-2019 à 17:24:51   

Reply

Marsh Posté le 15-10-2019 à 09:21:41    

A la louche je dirais une table "type d'alerte", une autre "utilisateur abonnement alerte" et une dernière "utilisateur alerte" avec un (ou plusieurs) flag d'état


---------------
D3
Reply

Marsh Posté le 15-10-2019 à 14:04:12    

Oui, c'est un peu le système que j'avais en tête.
 
J'ai posé la question sur un autre forum et un peu comme ici, le sujet ne déchaine pas les foules… :)

Reply

Marsh Posté le 16-10-2019 à 09:31:14    

Table "type alert" : ok
Table "utilisateur abonnement alerte" : ok
 
Pour la dernière table "utilisateur alerte", si j'ai bien compris, elle positionne des flags pour indiquer, en fonction de l'utilisateur, si une alerte doit être levée ou pas. Je serais plutôt d'avis de faire une structure pour cette table avec :
ID alerte
ID utilisateur
ID type alerte
Eventuellement ajouter un champ "description" si un texte d'info complémentaire à l'alerte est nécessaire.
 
Ca permet de ne pas modifier la structure de cette table si tu ajoutes de nouveaux types d'alerte par rapport à la structure avec des flags. Et s'il n'y a pas d'entrée dasn cette table pour un couple utilisateur-type alerte, ça veut dire qu'il n'y a pas d'alerte pour ce type et cet utilisateur.
 
Dans le cas où tu aurais besoin de conserver l'historique des alertes, il faudrait rajouter à cette table un champ datetime et probablement un champ "acquittement" (un boolean par ex ou un unsigned tinyint(3) si tu veux gérer plusieurs statuts d'alerte) pour que l'utilisateur puisse acquitter l'alerte et qu'elle ne revienne pas. J'imagine que dans le cas où tu ne gères pas l'historique des alertes, l'utilisateur a un bouton pour la supprimer ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 16-10-2019 à 10:00:58    

C'est l'idée de la structure que j'avais en tête pour la 3ème table... ^^
 
Mais difficile d'aider plus avec un cahier des charges aussi flou. :o


---------------
D3
Reply

Marsh Posté le 16-10-2019 à 16:20:15    

mechkurt> Je n'avais pas vraiment de "cahier des charges" dans le sens où je souhaitais avoir plutôt une idée générale de la façon de faire.
Du coup vos commentaires me confirme que je partais plutôt dans la bonne direction.
 
rufo> Dans les tests que j'avais fait j'avais ajouté un champs d'acquittement aussi oui et bien entendu un datetime. :)
 
Bref, merci pour vos réponses!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed