Maintenant que nous avons vu ensemble les bases du langage PHP je vous propose de mettre en pratique ce que l'on à vu depuis le début de cette formation à travers un exemple concret. Pour cet exemple nous allons créer un blog où les articles pourront être associés à une ou plusieurs catégories.

Pour vous guider, ou si vous souhaitez vous essayer de créer le projet par vous même avant de regarder la solutions voici les différentes pages qu'il va falloir construire.

  • La page d'accueil (accessible via l'url /) permettra de voir les 12 derniers articles et permettra de remonter en arrière avec une pagination simple (2 boutons, suivant et précédent permettront de naviguer entre les pages). Chaque article sera présenté sous forme de carte avec un titre, la date de publication, les catégories associées, une description courte et un lien permettant de voir l'article dans sa totalité.
  • Les catégories seront clicables et permettront de voir un listing des articles associés à cette catégorie. La présentation de la page catégorie sera sensiblement identique à la page d'accueil.
  • La page article affichera le titre, les catégories et permettra de voir le contenu dans sa totalité.

Espace d'administration

Afin de pouvoir gérer le site il faudra aussi concevoir un espace d'administration qui permettra de gérer les catégories et les articles. Cet espace d'administration devra être protégé par un système d'identification (email & mot de passe).

  • Une première page permettra de lister les articles sous forme de tableau. Chaque ligne comportera 2 boutons permettant respectivement de modifier et de supprimer un article.
  • La page d'édition permettra de changer le titre, le slug, la date de publication et le contenu et les catégories associées à l'article.
  • Sur la page listing d'article un bouton permettra d'ajouter un nouvel article.
  • Il faudra concevoir un système similaire pour la gestion des catégories (liste, ajout, modification et suppression).

Style

Pour le style et la mise en page de notre application on se reposera sur Bootstrap