Création d’un système News

L’objectif de ce TP est de créer un système de news qui permettra d’ajouter des news qui seront lus par les visiteurs, qui par la suite, auront la possibilité de poster des commentaires. Notre TP aura deux grandes parties : la partie administration qui permettra à l’administrateur d’ajouter, modifier et supprimer les news ; et la partie qui permettra aux visiteurs de consulter les news. Bref, si vous voyez, c’est un blog que nous allons coder.

Pour mieux aborder ce TP, nous allons le découper en plusieurs parties :

  1. Les tables
  2. Ajouter des news
  3. Afficher les news
  4. Supprimer des news
  5. Modifier des news
  6. Poster et afficher les commentaires

1. Les tables

Faites-moi le plaisir de me créer ces deux tables :

Table news :

  • id (int) : identifiant du news, clé primaire et auto_increment ;
  • titre (varchar 255) : titre du news ;
  • contenu (text) : contenu du news ;
  • url (varchar 500) : le lien de l’image du news
  • date(timestamp) : la date et l’ heure de création du news.

Table commentaires :

  • id (int) : identifiant du commentaire, clé primaire et auto_increment ;
  • id_news (int) : identifiant du news. Elle nous permettra de savoir qu’un tel commentaire appartient à un tel news;
  • auteur (varchar 255) : auteur du commentaire ;
  • commentaire (text) : contenu du commentaire ;
  • date (timestamp) : la date et l’heure auxquelles le commentaire a été posté.

2. Ajouter des news

La page qui nous permet d’ajouter les news s’appelle add_news.php. Il contient le formulaire et le code PHP traitant les données. Bien évidement, vous pouvez bien le faire, car nous avons déjà fait quelque chose de semblable.

Pour vous montrer comment va ressembler notre formulaire, voici une capture d’écran.

Voici le code html de notre formulaire,si vous ne comprenez pas lisez notre cours sur les formulaires:

Voici le code PHP bien commenté:

3. Afficher les news

La page qui doit afficher les news, est nommée news.php. Bien évidement, vous pouvez la nommer comme vous voulez. L’objectif ici est d’afficher au maximum 3 news à chaque page. On compte le nombre de pages, puis on affiche des numéros qui pointent vers les pages. Comme on l’a fait sur notre TP concernant la réalisation d’un livre d’or.
A la fin de chaque news, on met un lien qui pointe vers la page qui nous permet de lire et d’ajouter des commentaires sur ce news.

Vous voyez ce que je veux dire ?

Sans trop bavarder, voici le code PHP bien commenté :

4. Supprimer des news

Le but de cette partie est de pouvoir supprimer les news qu’on n’a pas besoin. Pour cela, nous allons afficher les titres des news et placer un lien qui nous permettra de supprimer le news qu’on veut supprimer en se basant sur son id. La page qui nous permet de lister les titres de news afin de pouvoir supprimer les news non désirés, s’appelle delete_news.php.
Sans trop bavarder, voici le code PHP bien commenté :

4. Modifier des news

Il peut vous arriver de vouloir mettre à jour vos news. Eh bien cette partie consiste la modification des news. Nous allons la faire avec deux pages :

  • La page edit_news.php qui consiste d’afficher les titres des news, un lien modifier pour chaque news et en fin le formulaire de modification des news
  • La page edit_news_ok.php qui sera chargé de traiter les données.

Comme d’habitude, je vous liste les codes bien commentés :

la page edit_news.php:

la page edit_news_ok.php:

6. Poster et afficher les commentaires

La page qui nous permet de poster et d’afficher les commentaires des news s’appelle commentaires.php
IL contiendra un formulaire permettant d’ajouter les commentaires. Pour pouvoir savoir qu’un commentaire correspond à un news quelconque, nous allons nous baser sur id_news. C'est-à-dire que nous allons vérifier si l’id de la table news est égale à id_news de la table commentaires.
L’ajout des commentaires est presque identique à l’ajout des news sauf qu'ici on va sécuriser les données contre les attaques XSS et les injections SQL. J’ai juste repris le code add_news.php avec une légère modification. Pour l’affichage des commentaires, c’est aussi presque identique à l’affichage des news. Donc vous voyez que même si je n’étais pas là pour vous guider, vous serez en mesure de le faire vous-même.

Voici le code php bien commenté :

Maintenant notre TP est terminé. Le but était de vous pousser à appliquer ce que vous avez appris dans ce site. Si vous remarquez bien, je n’ai pas cherché à optimiser le code ni à m’occuper de la mise en forme. De toute façon ce sont des choses que vous pouvez faire facilement.
Maintenant si vous pensez améliorer ce code et l’utiliser dans votre site, il ne faut pas oublier de sécuriser tous les fichiers de la partie administration : add_news.php, delete_news.php, edit_news.php, edit_news_ok.php . Ce que je vous propose, est de les mettre dans un dossier et sécuriser le dossier. Pour savoir comment sécuriser un dossier, regardez ce cours.
Si vous avez un problème, le forum est là pour vos questions.




Une question? Cliquez ici pour la poser.

Retour sur le portail du PHP