PPE 4 : Création d'un blog sous Symfony


Symfony est un framework MVC libre, développé par la société SensioLabs, écrit en PHP permettant d'accélérer le développement d'un site web.


Explications


Symfony est un framework utilisé pour de grands projets, il est par exemple utilisé par la plateforme Dailymotion ainsi que le site Openclassrooms

Le but de ce PPE était ici de créer un simple petit blog permettant uniquement de publier du texte sous forme d'articles sur lesquels les visiteurs du blog peuvent laisser des commentaires pour réagir aux articles.

Fonctionnalités demandées pour le blog


Publication d'articles

La page d'accueil du blog doit présenter les articles classés du plus récent au plus ancien. En plus de cela, chaque article a une page dédiée sur laquelle on retrouve le titre, le texte et les différents commentaires.

Commentaires

Les visiteurs du blog doivent pouvoir publier des commentaires sur les articles. Tous les commentaires d'un article doivent être affichés en dessous de l'article.

Recherche

Un moteur de recherche sur le blog doit permettre de rechercher les articles, ou les commentaires lorsqu'on est sur une page article. Ce moteur de recherche doit en plus présenter au fur et à mesure de la saisie les résultats correspondant à la recherche grâce à de l'Ajax.

Gestion des droits d'accès

N'importe qui ne doit pas pouvoir publier un article sur le blog, cette fonctionnalité est réservée au propriétaire du blog. Il y a donc une partie "Administration" ou il faut s'authentifier pour publier un nouvel article.

Pour l'administration :      Login : demo      Mot de passe : demo Visiter le blog fait avec Symfony

Captures d'écran


Technique et fonctionnement

Le blog a été développé en se basant sur Symfony. La partie visuelle, donc le design a été fait avec un template Bootstrap intégré dans le moteur de template Twig qu'utilise Symfony.
Le framework gère tout le site, sauf les recherche Ajax qui sont faîtes grâce à des fichiers en simple php ainsi que la page de connexion utilisateur qui est aussi en simple php.
La base de données est sur MySQL, elle contient 3 tables. La table message qui stock les informations sur les articles (titre, texte...); la table commentaires qui enregistre les commentaires pour chaque article, et la table utilisateur qui stock les utilisateurs et leurs informations pour pouvoir accéder à l'administration.

Pour plus d'informations, vous pouvez télécharger le dossier du projet en cliquant ici