Dev In est un site d'information et d'échange pour les développeurs web et présenté pour le passage du titre de développeur web FullStack.
- Les articles
- Les sujets
- Crédibilité des utilisateurs
- Personalisation de la bannière de profil
- Coté Admin
L'administrateur du site écrit des articles sur les languages et tecnhologies autours du développement web.
Les utilisateurs connéctés peuvent les ajouter en favoris pour les retrouver plus facilement (icone étoile) et faire des suggestions (icone ?).
L'ajout en favoris et les signalements sont envoyé au controlleur PHP par le biais d'Axios en Javascript pour éviter le rechargement de page.
Ici les résultats sont listés par groupe de 20 articles et le rechargement se fait en AJAX avec la mise ene place d'un scroll infini.
Les sujets sont postés par la communauté.
Ici aussi les utilisateurs connectés peuvent les liker, mais aussi les signaler en cas de contenu indésirable.
En allant sur le detail du sujet en question, l'utilisateur poura lire les commentaires et en poster :
Mais également les noter :
Les notes vont de 1 à 5. On affiche 5 étoiles coté TWIG si l'utilisateur n'a pas encore effectué de note pour le sujet et si il n'en est pas l'auteur.
Une première verification est faite en Javascript (note bien comprise entre 1 et 5) et une deuxième verification est faite dans le controlleur (le sujet est il déjà noter, est ce un sujet de l'utilisateur) avant d'envoyer la note en base de données.
Coté administrateur, on liste les signalements fait pour les commentaires et les sujets.
Dès lors un systeme de crédibilité est mise en place pour aider à la modération.
Quand un sujet ou commentaire est supprimé coté administrateur après un signalement, l'auteur du contenu indésirable perd un point de crédibilité et à l'inverse, les utilisateurs l'ayant signalé en gagne un.
Si un signalement est jugé abusif, son auteur perd un point à sa suppression.
Dès lors, un utilisateur ayant une forte crédibilité (plus de 20) aura plus d'impact sur la modération :
Une fois le signalements envoyé, le sujet concerné sera automatiquement passé en non actif en base de données :
Et ainsi il ne sera plus affiché sur le site.
Toute fois l'administrateur garde le controlle en pouvant le repasser en actif en cas de signalement abusif.
Un utilisateur ayant par contre une mauvaise crédibilité (moins de 10) ne pourra plus poster de sujet, commentaire ou de note. On affiche alors un message :
L'utilisateur aura alors une seulle voix pour pour améliorer sa crédibilité: faire des signalements justifié.
Les utilisateurs peuvent changer leur couleur de bannière de profil.
Pour cela quelques fonctionalités sont mise en place en Javascipt pour afficher différentes couleur aléatoirement. Et on affiche des boutons pour selectionner nos options de couleurs et pouvoir choisir des couleurs de dégradé, de bordure, ...
On obtiens avec ça une originalité dans les profil utilisateur :
Sur la page d'accueil de la partie Admin, on affiche trois graphique grâce à la librairie Javascript open-source chart.JS pour afficher les derniers utilisateurs inscrits au cours de la semaine, afficher les signalements et suggestions et le nombre d'articles postés par catégories.
Après avoir cloné le projet éxécutez les commandes suivante dans un terminal à la racine du dossier :
composer install ( installer les dépendances composer du projet )
yarn install ( installer les dépendances yarn du projet )
Ensuite installer la base de donnée MySQL et paramétrer la création de votre base de donné :
-
dans le fichier .env du projet modifier la variable d'environnement selon vos paramètres :
DATABASE_URL="mysql://"login":"password"@127.0.0.1:3307/"nom_de_la_base"?serverVersion=5.7&charset=utf8mb4"
Puis créer la base de donnée avec la commande :
php bin/console doctrine:database:create
Exécuter la migration en base de donnée :
php bin/console doctrine:migration:migrate
Pour lancer le server local :
symfony server:start