4 mai 2013

Un système de news simpliste avec PHP et PDO

Par Jean-Marc Amon

Bonjour mes chers lecteurs, c’est vrai que la plupart de mes articles n’entre pas dans explications techniques mais je vais commencer à m’y mettre. Je ne suis pas un expert en PHP mais j’ai ma petite expérience qui me permet de faire certaines choses comme ce système de news que nous allons faire ensemble ici.

Si vous n’avez jamais entendu parler de PHP, vous ne serez pas dépaysé vu la simplicité de ce que nous allons faire mais je vous conseille quand même d’aller voir à cette adresse, j’y ai presque tout appris : Concevez votre site web avec PHP et MySQL (SiteDuZero.com).

Fonctionnement du système

Pour ce qui se demandent comment cela fonctionne alors… Un système de news permet d’afficher sur un site ou un application web ou pas, une sorte de fil d’actualité qui dans la plupart des cas défilent devant l’utilisateur. L’utilisateur voit un extrait de la news et choisir de la lire en cliquant sur un lien (Lire plus) ou sur le titre de la news.

Assez de bavardage…

De quoi avons nous besoin ?

Etant donné que nous avons choisi d’utiliser PHP alors nous aurons besoin d’un serveur web comme Apache, du langage de script PHP et de MySQL pour la base de données. Utilisateurs de Windows vous avez tout ça prêt à l’emploi dans EasyPHP ou WampServer, quand aux utilisateurs de Linux vous pouvez suivre l’installation ici.

Après avoir installé tout le nécessaire, accédez à votre interface de gestion de la base de données généralement PHPMyAdmin et créez une base de données nommée simplement news_db.

Voici la table que nous utiliserons.

CREATE TABLE news (
news_id int not null primary key auto_increment,
titre varchar(255) not null,
contenu text,
datepost int(15) not null
);

Exécuter ce code dans PHPMyAdmin et la base de données est prète, on va presque plus y toucher.

Mettons-nous au travail

Voici la liste des fichiers que nous allons utiliser. Pour faire simple, les fichiers sont dans le même répertoire.

  • ajouter-une-news.php Le code pour l’ajout d’une news
  • modifier-une-news.php Le code pour la modification d’une news
  • supprimer-une-news.php Le code pour la suppression d’une news
  • configs.php Les parametres de connexion à la base données
  • design.css Le fichier de style CSS
  • index.php La page d’accueil
  • lire-news.php Affichage complet d’une news

 

1. Le fichier de configs configs.php

Comme indiqué, configs.php contient les paramètres de connexion à la base de données. Vous devez donc modifier les différents paramètres à avec vos paramètres.

<?php

//Nom de la base données
$base_de_donnee = "news";
//Nom d'utilisateur de la base données
$nom_utilisateur = "root";
//Mot de passe de la base de données
$mot_de_passe = "********";
//Nom ou adresse de la base de donnée (Domaine ou adresse IP)
$nom_ou_ip_du_serveur = "localhost";
//Port de connection à  la base de données (Par default MySQL = 3306)
$port = 3306;

$con = new PDO("mysql:host={$nom_ou_ip_du_serveur};dbname={$base_de_donnee};port={$port}", $nom_utilisateur, $mot_de_passe);

?>

Le fichier de configuration est fonctionnel.

 

2. Le fichier de style design.css

Les feuilles de style permettent d’organiser le contenu d’une page web. C’est lui spécifie par exemple la taille, la couleur… d’un bloc. Ici nous allons utiliser Twitter Bootstrap. Si vous n’en avez jamais entendu parler et ne savez pas ce que c’est rendez-vous sur cette page.

Télécharger le ficher de style à cette adresse, décompressez , recherchez le fichier bootstrap.css et recopiez son contenu dans design.css.

 

En raison du volume des autres fichiers, je n’incluerai pas leurs contenus mais vous retrouverez tous l’ensemble dans le fichiers téléchargeable. le lien est un peu plus bas

2. Le fichier index.php

Le fichier index.php est la page d’accueil, il servira à afficher les extraits des 20 dernières news avec des liens pour modifier vous supprimer une news. Le fichier complet :

3. Le fichier lire-news.php

Ce fichier affiche le contenu complet d’une news avec les informations qui lui sont associées. Il attend un paramètre qui l’identifiant de la news qu’on veut lire.

4. Le fichier ajouter-une-news.php

Ce fichier permet d’ajouter une news à la base de données.

5. Le fichier modifier-une-news.php

Ce fichier attend un paramètre qui est l’identifiant de la news qu’on désire modifier

6. Le fichier supprimer-une-news.php

Ce fichier permet de supprimer une news. Il attend aussi un paramètre qui est l’identifiant de la news.

[download id= »1″]

Vous obtiendra ici l’ensemble des fichiers. Ce système de news est très basique, je dirais même trop basique. A vous de l’ améliorer, d’ajouter des fonctionnalités comme par exemple :

  • Compter le nombre de fois qu’une news est lue
  • Validation du formulaire d’ajout pour la sécurité
  • Avoir un système d’authentification
  • Seul l’administrateur a le droit de supprimer une news
  • Commentaires sur les news

Vous voyez qu’il reste encore beaucoup de chose à faire… La meilleure façon d’apprendre est de s’y mettre, de faire des exercice et en voila un.

Faites nous par de vos difficultés dans des commentaires et ce sera un plaisir de vous aider.