lundi 30 mars 2015

Réalisation d'un simple système des commentaires en CI 2.0.2



réaliser un système de commentaires avec CodeIgniter
REALISATION:
1.Environnement technique:
Il s'agit dans cette partie d'identifier des différentes caractéristiques de l'environnement matériel et logiciel qui nous ont servi à l'implémentation de notre application.
1.1 . Environnement matériel
Les machines utilisées pour réaliser ce projet:
·         Ordinateur portable DELL qui dispose de la configuration suivante:
- Système d'exploitation: Windows 7
- Processus Intel (R) Core (TM) i3 CPU
- 4 GO de RAM
- 700 GO de disque dur


1.2 . Environnement logiciel
Afin de réaliser notre application, nous avons recours à MySQL [Réf. 1] comme serveur de notre base de données et à PHPStorm 7.1 [Réf. 2] comme outil de développement.
WAMP est l'environnement de travail qui sera utilisé durant ce travail.
WAMP [Réf. 3] est un acronyme désignant un ensemble de logiciels libres permettant de construire des serveurs de sites web. L'acronyme originale se réfère aux logiciels suivants:
§  «Windows», le système d'exploitation
§  «Apache», le serveur web
§  «MySQL», le serveur de base de données
§  «PHP», le langage de script

Pour la gestion des versions et le partage des fichiers entre les différents développeurs, ce sont SVN et GIT qui ont été retenus pour faciliter le travail en groupe.
2.Règles mises en place:
Afin de permettre au projet de se dérouler convenablement et que tous puissent fonctionner de façon homogène, un certain nombre de règles ont été mises en place.
ü  Développement :
·         Nom des variables
§  Doit être explicite quant à l'utilisation de celle-ci
§  Si composée de plusieurs mots: le premier en minuscule, les suivants débutent par une majuscule et pas de séparateur.
·         Nom des fonctions
§  Doit être explicite quant à l'utilisation de celle-ci
§  Si composée de plusieurs mots: le premier en minuscule, les suivants débutent par une majuscule, pas de séparateur.
·         Nom des classes
§  Doit être explicite quant à l'utilisation de celle-ci
§  Si composée de plusieurs mots: En minuscule, chaque mot débute par une majuscule.
ü  Système :
·         IDE (Environnement de Développement): PHPStorm
·         Système d'exploitation: Windows

3.Implémentation:
La réalisation de ce projet s'est étendu sur trois phases programmées dès le début.
·         Création de la base de données
·         Création de machine virtuelle en locale pour le développement
·         Configuration d'instance CodeIgniter
·         Création des modèles
·         Création des contrôleurs
·         Création des vues

3.1 : Création de la base de données
On a crée une base de données qui contient les tables suivants:
·         commentaires: pour enregistrer les informations relatives aux commentaires
·         ci_sessions:       pour enregistrer les informations relatives aux sessions

TABLE ci_sessions:
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id       varchar(40)            DEFAULT '0' NOT NULL,
ip_address       varchar(16)            DEFAULT '0' NOT NULL,
user_agent       varchar(120)                       NOT NULL,
last_activity    int(10)  unsigned      DEFAULT  0  NOT NULL,
user_data        text                               NOT NULL,

PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
TABLE commentaires:
CREATE TABLE IF NOT EXISTS `commentaires` (
id              int(10) unsigned NOT NULL AUTO_INCREMENT,
pseudo    varchar(52) NOT NULL,
message text NOT NULL,
date         DATETIME NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1;
3.2 : Création de machine virtuelle en local pour le développement
En Windows, nous allons modifier le fichier c:\windows\system32\drivers\etc\hosts et ajouter la ligne suivant
127.0.0.1   ci-comment-system.dev
Ensuite, le fichier C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf et ajouter ce code:
<VirtualHost *:80>
DocumentRoot "C:/wamp/www/ci_comment_system"
ServerName ci-comment-system.dev
</VirtualHost>
Enfin, redémarrer le serveur.
3.3 : Configuration d'instance CodeIgniter
3.3.1 : Url Rewriting
L'URL rewriting ou réécriture d'URL. Son objectif est multiple: améliorer le référencement de votre site, protéger votre technologie, simplifier la navigation de vos utilisateurs, permettre l'évolution de votre site, gérer les redirections...pour n'en citer que quelques-uns.
Le fichier htaccess est un simple fichier texte basique qui n'a pas de nom et dont l'extension est `htaccess` d'où le fait qu'il commence par un point. Il parait très basique mais c'est un des fichiers le plus puissants de votre site. C'est dans ce fichier que nous allons écrire nos règles de réécritures.
Notez que ce fichier ne prend effet que pour le dossier et les sous dossiers dans le quel il est situé. Typiquement, on le place à la racine du site web. Vous aurez peut-être du mal à créer le fichier. Pour forcer l'éditeur de texte à enregistrer le fichier correctement, entrez le nom entre guillemet comme ceci `.htaccass`.
3.3.2 : L'URL suffixe
C'est le suffixe que vous voulez donner à vos URL. Vous pouvez donner n'importe quoi.
CodeIgniter l'ignorera...
Dans mon cas, je vais choisir l'extension html. Vous pourrez tout aussi bien ne rien mettre. C'est facultatif.
3.3.3 : Session:

CodeIgniter propose de stocker les sessions dans votre base de données au lieu de les stocker dans les cookies. Si vous stockez souvent beaucoup de données dans les sessions, choisissez évidement la base de données. Dans la plupart des cas, il est conseillé de prendre cette option car elle offre plus de sécurité identique aux sessions natives de PHP. Alors nous modifions le fichier application/config/config.php, ce ligne:
$config['sess_use_database']              = TRUE;
3.3.4 : Base de données:
Nous allons configuré notre base de données en modifiant le fichier application/config/database.php
$db['default']['username'] = 'comments_system';
$db['default']['password'] = 'comments_system';
$db['default']['database'] = 'comments_system';
Maintenant, tout ira bien pour commencer le développement!