annaigjegourel/oc-p5-creez-votre-premier-blog-en-php

v1.0.0 2022-08-15 07:46 UTC

This package is auto-updated.

Last update: 2024-04-08 10:03:56 UTC


README

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

68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f34356366666335663339656664666230633162352f6d61696e7461696e6162696c697479 Codacy Badge

Configuration / Technologies

xamppserver
10.4.21-MariaDB
PHP 8.1.6
Composer 2.3.0

Installation

  1. Clone the repository
  2. Upload & install xamppserver: https://www.wampserver.com/en/download-wampserver-64bits/
  3. Launch xamppserver, configure your php version to 8.1.6
  4. Go to localhost/phpmyadmin/
  5. Create a new database & name it "p5-blog"
  6. Import the database using db.sql (file at the root of this project)
  7. Launch a terminal at the root of the project & run the command "composer intall"

Your project is ready!

Contexte / Mise en situation

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.

Description

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.

Contraintes

➡️ 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.