Training program "Back-end Developer: PHP/Symfony" (OpenClassrooms)
Project 5: Blog made from scratch, using PHP, OO paradigm & model-view-controller pattern.
✅ Validated on November 9, 2022
xamppserver
10.4.21-MariaDB
PHP 8.1.6
Composer 2.3.0
- Clone the repository
- Upload & install xamppserver: https://www.wampserver.com/en/download-wampserver-64bits/
- Launch xamppserver, configure your php version to 8.1.6
- Go to localhost/phpmyadmin/
- Create a new database & name it "p5-blog"
- Import the database using db.sql (file at the root of this project)
- Launch a terminal at the root of the project & run the command "composer intall"
Your project is ready!
Vous avez besoin de visibilité pour pouvoir convaincre vos futurs employeurs/clients en un seul regard. Vous êtes développeuse PHP, il est donc temps de montrer vos talents au travers d’un blog à vos couleurs.
Vous allez développer votre blog professionnel, qui se décomposera en deux grands groupes de pages :
👥 les pages utiles à tous les visiteurs ;
👤 les pages permettant d’administrer votre blog.
Voici la liste des pages qui devront être accessibles depuis votre site web :
📄 la page d'accueil ;
📄 la page listant l’ensemble des blog posts ;
📄 la page affichant un blog post ;
📄 la page permettant d’ajouter un blog post ;
📄 la page permettant de modifier un blog post ;
📑 les pages permettant de modifier/supprimer un blog post ;
📑 les pages de connexion/enregistrement des utilisateurs.
➡️ Nous n’utiliserons pas WordPress : tout sera développé par vos soins.
➡️ Il est autorisé d’utiliser un thème Bootstrap ainsi. qu'une ou plusieurs librairies externes,
à condition qu’elles soient intégrées grâce à Composer.
➡️ Votre blog doit être navigable aisément sur un mobile (téléphone mobile, phablette, tablette…).
➡️ Vous développerez une partie administration qui devra être accessible uniquement aux utilisateurs inscrits et validés,
et vous veillerez à sa sécurité. Les autres utilisateurs pourront uniquement commenter les articles (avec validation avant publication).
➡️ Vous vous assurerez qu’il n’y a pas de failles de sécurité
(XSS, CSRF, SQL Injection, session hijacking, upload possible de script PHP…).
➡️ Votre projet doit être poussé et disponible sur GitHub. Il est conseillé de travailler avec des pull requests.
➡️ Il faut que vos commits soient en anglais.
➡️ Vous devrez créer l’ensemble des issues (tickets) correspondant aux tâches que vous aurez à effectuer.
➡️ Votre projet devra être suivi via SymfonyInsight, ou Codacy pour la qualité du code.
➡️ Vous veillerez à obtenir une médaille d'argent au minimum (pour SymfonyInsight).
➡️ En complément, le respect des PSR est recommandé afin de proposer un code compréhensible et facilement évolutif.
➡️ Ce qui doit prévaloir doit être les délais.