Tout d’abord, bienvenue dans cette formation. Si vous n’avez pas encore lu en quoi consiste le projet, je vous invite à vous rendre à ce lien: https://kelou.fr/cms-0/

Si vous êtes prêt, c’est parti !

Pour commencer, il faut définir ce qu’est un CMS. CMS en anglais signifie ‘Content Management System’, en français Système de gestion de contenu.

Il existe déjà de nombreux CMS et chacun réponds à un ou plusieurs besoins. Certains sont généralistes, d’autres plus spécifiques. Je vous laisse regarder l’infographie ci-dessous trouvée sur internet.

Le plus connu de ces CMS est WordPress. Le site sur lequel vous lisez cet article (kelou.fr) fonctionne actuellement avec WordPress, tout comme plus de 30% des sites présents sur internet. Actuellement plus de 50% des sites fonctionnent avec des CMS. Si vous souhaitez en apprendre plus je vous redirige ICI

L’objet de cet article va être de chercher à quels besoins notre CMS devra répondre et dans quel but.

Premièrement, nous voulons avoir un système d’article, car l’objectif principal reste de construire un blog minimaliste.

Qui dit article, dit :

  • Une page d’accueil pour afficher tous ces articles.
  • Une page spécifique pour les articles
  • Une page pour ajouter ces articles

Mais aussi pour plus d’ergonomie et de facilité (car l’on ne veut pas avoir à aller dans la base de données à chaque fois qu’une erreur a été faite) :

  • Une page pour modifier les articles déjà présents
  • La possibilité de supprimer un article

Ici, vous pouvez avoir une liste des fonctions primaires que l’on va créer. Ce sera l’objet de la première partie de cette formation.

Aussi, nous devons définir les propriétés de chaque article. Pour faire simple, nous allons donner un ID (attribué automatiquement), un titre, un sous-titre, un corps de message, la date de publication (attribuée automatiquement) et un système de rating/note.

Sur notre site, nous ne voulons pas que chaque visiteur ait accès à l’espace d’administration, pour cela il nous faut un système d’utilisateur.

Pour cela, nous voulons que chacun puisse s’inscrire sur le site. Qui dit inscription dit aussi connexion ainsi que déconnexion. Si n’importe qui peut s’inscrire, il nous faut une hiérarchie. Avec cette hiérarchie, viendra des ‘rangs’. Admin (accès à tous), Rédacteur (Peut écrire mais ne peut pas modifier ni supprimer), Visiteur (peut seulement consulter).

Pour réaliser ce que l’on veut, nous allons gérer les permissions.

Cela nous occupera dans la troisième partie de cette formation.

La seconde et la quatrième partie sont des parties plus ‘à part’. Elle ne s’intègre pas vraiment dans le cahier des charges car elles nécessitent leur propre cahier des charges.

La seconde partie car pour le déploiement consistera à définir des variables dans le fichier config.php à travers le fichier install.php (fichier temporaire, n’étant utilisé qu’une seule fois). Mais avant de définir les variables utilisées, il faut déjà savoir quelles variables auront besoin d’être changées.

La quatrième partie étant une extension de la formation pour montrer comment il est possible d’intégrer le projet (Je définirait quand ce sera le bon moment ce qu’est la notion d’intégration en développement web), elle possèdera elle aussi son propre cahier des charges.

Pour finir, récapitulons:

Partie I:

  • Une page d’accueil pour afficher tous les articles (elle n’affiche que titre et date)
  • Une page article pour afficher un article spécifique (qui affiche toutes les informations en lien avec l’article)
  • Une page d’ajout d’article pour ajouter du contenu
  • Une page de modification d’article pour modifier le contenu déjà présent
  • Une fonction suppression pour supprimer un article

Partie III:

  • Une page d’inscription pour ajouter des utilisateurs
  • Une page de connexion pour accéder à une session utilisateur
  • Une page de déconnexion pour arrêter une session utilisateur
  • Un système hiérarchique pour définir des permissions

Comme je l’ai dit précédemment, les parties II et IV arriveront plus tard.

J’espère que cet article vous aura plu, on commence dès la semaine prochaine dans le brut le projet avec la structure et création de la base de donnée.

N’hésitez pas à partager si vous pensez que cela peut aussi permettre d’aider d’autres personnes.

Merci pour votre présence sur le blog, on avance ensemble !