Bonjour à tous, je visite souvent ce site mais c'est la première fois que je poste un message et c'est pour solliciter votre savoir !

Je précise que je ne réclame rien de tout fait, je souhaiterais seulement que vous m'aidiez à m'orienter sur la bonne voie. Je tiens à dire aussi que je ne fais ca que par amateurisme et que par extension je ne suis pas un pro mais je sais me debrouiller :)

Alors voilà, je me suis lancé, un petit peu avant que la formation débute, dans Laravel 5 et me suis fix comme objectif de faire un genre de blog avec systeme de commentaire etc etc etc, quelques chose de classique en somme.

Il y a possibilité de creer des comptes, et de visiter les profils des autres pour voir des stats assez basique aussi.
Là arrive mon soucis, j'aimerais mettre en place un système de réputation, c'est a dire, attribuer un "rang/grade/statut" a une personne participant beaucoup ou étant apprécié de la communauté.

Par exemple le Monsieur A a posté 10 commentaire et recu 17 avis positif, j'aimerais lui attribuer le rang "Rang 1"
Monsieur B lui, a poster 1560 commentaires et a recu plus de 1000 avis positif, que son rang passe a "Rang 10"

Je pourrais très bien les attribuer manuellement, mais c'est pas drôle, donc j'aimerais que ce soit fait automatiquement, seulement, c'est très très flou dans ma tête et n'est aucune idée de comment faire pour que ce soit logique et propre.

Auriez vous une idée ? une piste ? a me proposer ? peut etre même d'autre sujet traiter ailleurs qui détaille la chose ?

J'vous remercie d'avance d'avoir avaler ce pavé...

2 réponses


Bonjour,

Vous pourriez tester après chaque commentaire et avis s'il a atteint un grade.
Ou faire un cron pour que chaque jour, la vérification soit faite.

Le plus simple je pense serais d'utiliser les middlewares de laravel je m'explique.
Monsieur A poste un message son compteur de message est incrémenté de 1 et il atteint par la même occasion seuil fatidique des 1500 messages.
Méthode 1 (la plus fun faut trifouiller un peut laravel)
Monsieur A fier de son 1500eme message se met donc en tête de consulter son profil et c'est là que les (enfin le) middleware rentre en jeux. Ce fameux middleware qui est appelé à chaque page (je te conseille les middlewares "permanents" ce qui t'évite de les préciser à chaque route), Monsieur A charge donc sa page le middleware est appelé, il détecte les 1500 messages et lui attribue donc son rang.
L'inconvénient de cette méthode est qu'un code appelé à chaque page qui vérifie peut être lourd en cas de gros trafic sur le serveur.
Méthode 2
Simplement faire toute ces vérifications simplement au chargement de la session, Monsieur A se verra donc obligé de se reconnecter pour se voir attribuer son rang mais tu auras un code plus léger.
Voilà j'espère avoir éclairé ta lanterne ou en tout cas t'avoir donné quelques idées pour arriver à tes fins.
Bonne journée à toi
Uneo