Chapitre 4 : Forme et Modélisation
A. Forme
La forme de toutes les pages ne sont pas présentées
ici mais seulement celle des pages principales.
· Accueil : index.php
· Institutions : index.php
· Presse : index.php
· Histoire : index.php
· Nous contacter : index.php
Toutes les pages du portail ont cette forme de
présentation exceptée le forum.
B.Modélisation
La modélisation consiste au développement du site.
Le développement de ce portail a été effectué
avec :
· HTML : Hypetext Terminal Mark Langage Html est
un ensemble de balises qui est à la base du boom technologique du www.
Ceci dit, HTML reste encore un langage de conception de site web statique.
· PHP : Personnal Home Page, le langage PHP est un
excellent outil de développement de site web dynamique. Il est le Luder
actuel des
· MySQL : Système de gestion de base de
données (relationnelle), MySQL reste le Luder des bases de
données utilisées dans la technologie de développement
d'application orienté web faisant appel à des bases de
données.
· Photoshop 7 : Excellent logiciel de retouche et
création d'image. Photoshop est le leader mondial dans le traitement des
images bitmaps.
· Notepad++ : est un éditeur très
pragmatique de fichier html, php, css, xsl ...
· Xhtml : derivé de xml, xhtml est en train de
remplacer petit à petit le html dont le developpement s'est
arrété en 1999.
· Easyphp : c'est un package free permettant
l'installation et l'exploitation de Apache, MysQL, PHP, MyAdmin. Il transforme
le poste en serveur web.
· Feuilles de styles CSS ;
· Inkascape : est un excellent graticiel de dessin
vectoriel ;
a. La charte graphique :
Le design est sans doute la partie la plus cruciale dans la
réalisation de pages web. Le design de ce portail est fait avec une de
feuille de style. La feuille de style est nommée style.css. Le principe
est d'attribuer un nom à un bloc de texte, à une image et de lui
attribuer des attributs. Le code de la feuille de style est
présenté en annexe I.
b. Le menu :
Le menu est présent sur chaque page et son code est aussi
en annexe II.
c. Quelques bases de
données :
Voici à l'aide du langage LDD, la réalisation de
certaines bases de données et table
1. Presse :
CREATE DATABASE
PRESSE ;
USE PRESSE;
CREATE TABLE JOURNAL(ID INT
UNSIGNED PRIMARY KEY AUTO_INCREMENT, NOM_JOURNAL CHAR NOT NULL, DATE DATE NOT
NULL, TITRE CHAR NOT NULL, CORPS_JOURNAL CHAR NOT NULL, AUTEUR_ARTICLE CHAR NOT
NULL, TYPE_ARTICLE CHAR NOT NULL)
2. Geographie :
CREATE DATABASE
GEOGRAPHIE ;
USE GEOGRAPHIE ;
CREATE TABLE COMMUNE(ID INT
UNSIGNED AUTO_INCREMENT PRIMARY KEY, REGION
ENUM(`KAYES','KOULIKORO','SIKASSO','SEGOU','MOPTI','TOMBOUCTOU','GAO','KIDAL),
CERCLE CHAR(10) NOT NULL,
NOM_COMMUNE CHAR NOT NULL,
POPULATION INTEGER NOT NULL,
SUPERFICIE INTEGER NOT NULL,
MAIRE CHAR (15));
3. Culture:
CREATE DATABASE CULTURE;
USE CULTURE;
CREATE TABLE ETHNIE(ID INT UNSIGNED
AUTO_INCREMENT PRIMARY KEY, NOM_ETHENIE CHAR(10) NOT NULL, POPULATION INT
UNSIGNED NOT NULL, CULTURE CHAR(200) NOT NULL, LANGUE CHAR(10) NOT NULL,
HISTOIRE CHAR(350) NOT NULL, PERSONNALITES CHAR(250) NOT NULL);
Create table hotel(ID SMALLINT
UNSIGNED AUTO_INCREMENT PRIMARY KEY, NOM_HOTEL TEXT NOT NULL, REGION CHAR NOT
NULL, DESCRIPTION TEXT(200) NOT NULL, ADRESSES CHAR(50) NOT NULL, AUTRES
CHAR(20));
4. Education
CREATE DATABASE EDUCATION;
USE EDUCATION;
CREATE TABLE ECOLE(ID INT UNSIGNED
AUTO_INCREMENT PRIMARY KEY, NOM_ETABLISSEMENT CHAR(15) NOT NULL,
TYPE_D_ETABLISSEMENT
ENUM(`FONDAMENTAL','SECONDAIRE/LYCEE','UNIVERSITE')DESCRIPTION TEXT, ADRESSES
CHAR;
5. Forum
CREATE TABLE FORUM_MESSAGES
(
ID INT(11) NOT NULL AUTO_INCREMENT,
IDTOPIC INT(11) NOT NULL DEFAULT '0',
IDUSER INT(11) NOT NULL DEFAULT '0',
QUAND INT(11) DEFAULT NULL,
MESSAGE TEXT NOT NULL,
REPONSE INT(11) NOT NULL DEFAULT '0',
TITRE VARCHAR(80) NOT NULL DEFAULT '',
DERNIER INT(11) NOT NULL DEFAULT '0',
KEY ID (ID)) TYPE=MYISAM;
CREATE TABLE FORUM_TOPICS (
ID INT(11) NOT NULL AUTO_INCREMENT,
QUAND INT(11) NOT NULL DEFAULT '0',
TITRE VARCHAR(80) NOT NULL DEFAULT '',
DETAIL TEXT NOT NULL,
KEY ID (ID)) TYPE=MYISAM;
CREATE TABLE FORUM_USERS (
ID INT(11) NOT NULL AUTO_INCREMENT,
LOGIN VARCHAR(15) NOT NULL DEFAULT '',
PWD VARCHAR(10) NOT NULL DEFAULT '',
EMAIL VARCHAR(50) NOT NULL DEFAULT '',
QUAND INT(11) NOT NULL DEFAULT '0',
ISMODO CHAR(1) NOT NULL DEFAULT '',
KEY ID (ID)) TYPE=MYISAM;
6. Offres d'emplois:
CREATE DATABASE CVTHEQUE;
USE CVTHEQUE;
CREATE TABLE
BANQUE_CV(
ID INT(11) AUTO_INCREMENT NOT NULL PRIMARY KEY,
NOM TEXT NOT NULL,
PRENOM TEXT NOT NULL,
DATE DATE NOT NULL,
EMAIL TEXT NOT NULL,
EMPLOI ENUM(`CDI','CDD','STAGE'),
DOMAINE
ENUM(`INFORMATIQUE','ELETRONIQUE','ELECTRICITE','ECONOMIE/FINANCES','JUSTICE','SECURITE','AERONAUTIQUE','ENSEIGNEMENT','RESSOURCES
HUMAINES','MARKETING','HISTOIRE','GEOGRAPHIE','PHILOSOPHIE','SOCIOLOGIE','ANTHROPOLOGIE','AUTRES'),
CV LONGBLOG NOT NULL,
NOM_FICHIER_CV TEXT NOT NULL;
7. Quelques examples de conception:
i. Nous contacter:
Nous contacter est un lien qui permet d'envoyer un message au
webmaster. Le dossier contact contient tous les fichiers permettant la
réalisation de l'envoie de ce message.
Voici l'aperçu de la page :
Voici la page index.php
<?
include("include/header.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>
<html xml:lang="fr" lang="fr">
<head></title></title></head>
<body>
<table class="sadrzaj" cellspacing="0">
<tr>
<td id="centerCcolumn" colspan="2">
<!-- Start center-center blocks -->
<table align="center" cellpadding="0"
cellspacing="2">
<tr>
<td> <div class="blockTitle">
Nous Contacter
</div>
<div class="blockContent">
<form name="mxform" method="post" action="envoi.php">
<table border="0" width="400" align="center">
<tr>
<td width="206"> <p>Votre Prénom
:</p></td>
<td width="255"> <p>
<input type="text" name="prenom"
size="25"><br>
</p></td><br><br>
</tr><br>
<tr>
<td width="206"> <p>Votre email
:</p></td>
<td width="255"> <p>
<input type="text" name="sonmail" size="25">
</p></td>
</tr>
<tr>
<td width="206"> <p>Sujet du message
:</p></td>
<td width="255"> <p>
<input type="text" name="sujet" size="25">
</p></td>
</tr>
<tr>
<td width="206"> <p>Commentaire
:</p></td>
<td width="255" valign="top"> <p>
<textarea name="commentaire" rows="6"
cols="33"></textarea>
</p>
</td>
</tr>
<tr>
<td>Recevoir une copie du mail ?</td>
<td><table width="200">
<tr>
<td><label>
<input name="copie" type="radio" value="oui"
checked>
Oui</label></td>
</tr>
<tr>
<td><label>
<input type="radio" name="copie"
value="non">
Non</label></td>
</tr>
</table></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Envoyer"
value="Envoyer" onClick="this.value='Envoi en cours ...'"></td>
</tr>
</table>
</form><br><br><br><br><br><br><br><br><br><br><br><br><br>
</body>
</html>
<?
include("include/footer.php");
?>
Voici la page envoi.php
<?
include("include/header.php");
include("include/config.php");
$prenom = $_POST["prenom"];
$sonmail = $_POST["sonmail"];
$urlsite = $_POST["urlsite"];
$commentaire = $_POST["commentaire"];
if(empty($prenom) OR empty($sonmail) OR empty($commentaire))
{
print '<center><b><font face="verdana"
size="4">Erreur , champs manquants
:</b></font></center><br><br>';
if(empty($prenom)) { print '<center><font
face="verdana" size="2">Vous n\'avez pas saisi votre prénom
!<br>'; }
if(empty($sonmail)) { print '<center>Vous n\'avez pas
saisi votre adresse email !<br>'; }
if(empty($sujet)) { print '<center>Vous n\'avez pas saisi
le sujet de votre message !<br>'; }
if(empty($commentaire)) { print '<center>Aucun
commentaire n\'a été saisi .<br>'; }
print '<p align="center"><a
href="javascript:history.back()">Retour</a>';
include("include/footer.php"); exit;
}
else
{
$sonmail = $_POST['sonmail'];
$copie = $_POST["copie"];
$point = strpos($sonmail,".");
$arobas = strpos($sonmail,"@");
if($point == '')
{
echo '<center><br>Votre adresse email est
invalide<br><p align="center"><a
href="javascript:history.back()">Retour</a><br>';
include("include/footer.php"); exit;
}
elseif($arobas == '')
{
echo '<center><br>Votre adresse email est
invalide<br><p align="center"><a
href="javascript:history.back()">Retour</a><br>';
include("include/footer.php"); exit;
}
else
{
if($copie == "oui" ) {
Mail("$sonmail","$sujet","$m1","from: $from");
Mail("$votremail","$sujet","$m2","from: $votremail");
echo "<center>Votre message a bien été
envoyer !<br><br>Un email de confirmation a été
envoyer à l'adresse : $sonmail<br><br>Merci pour votre
message , A bientôt . L'équipe $votresite";exit;
} else {
}
echo "<center>Votre message a bien été
envoyer !<br>Merci pour votre message , A bientôt . L'équipe
$okaara";
{
Mail("$votremail","$sujet","$m2","from: $votremail");
}
include("include/footer.php");
}
}
?>
Voici la page footer.php
Copyright © 2007 - <a
href="\index.php"><b>okaar@</b></a> -
Design by
Maciré KANTE
Voici la page header.php
<?php include ("menu.php") ?>
<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" media="all"
ref="style.css" />
<TITLE> </TITLE>
</HEAD><BODY bgcolor="#FFFFFF"></body>
</html>
Voici la page config.php
<?
// Configuration Générale
$votresite="okaara"; // Mettez le nom de votre site ici
$urldevotresite="http://www.okaara.com"; // URL de votre site
$from="contact@okaara.com"; // L'adresse email de l'expediteur
$votremail="webmaster@okaara.com"; // Votre adresse email ou sera
envoyer le mail quand on vous contact
$votresite="okaara"; // Nom de votre site ici
$urldevotresite="http://www.malinet.com.ml"; // L'url de votre
site ici
//$m1 est le mail envoyer a l'internaute et
//$m2 et le mail qui vous averti lorsqu'un mail vous a
été envoyer !!!
// configuration des emails envoyer
// Variable a passer par form
$prenom = $_POST["prenom"];
$sonmail = $_POST["sonmail"];
$sujet = $_POST["sujet"];
$commentaire = $_POST["commentaire"];
// fin des variables
$m1="Bonjour $prenom ,
Votre email nous a bien été envoyer .\n
Une réponse vous sera retourner au plus vite .\n
Voici un rappel de votre message : \n
Votre Prénom : $prenom \n
Votre email : $sonmail \n
Sujet du message : $sujet \n
Votre message :\n
$commentaire \n\n
A bientôt ! L'équipe du site $okaara \n";
$m2="Un mail vient de vous être envoyé .\n
Son adresse email : $sonmail \n
Son prénom : $prenom \n
Sujet du message : $sujet \n
Url de son site : $url\n
Son message : $commentaire";
?>
<p> </p>
ii. Banque de CV ou CVTHEQUE :
Ce lien permet de déposer son CV sur le site ou de
consulter les CVTHEQUE. Il est disponible depuis la page d'accueil. Le dossier
banque de CV contient ces fichiers :
Index.php
<?php include("menu.php");
?>
<html>
<head><title>:: :: La Banque de CV / CVTHEQUE ::
::</title>
</head>
<body>
<table cellspacing="0" cellpadding="0" width="100%"
border="0">
<tr align="center">
<td id="headmenu"
bgcolor="darkorange"><a class="menuHead"
href="ajout.php"
bgcolor="darkorange">Deposer votre CV</a></td>
<td id="headmenu"
bgcolor="darkorange"><a class="menuHead"
href="lister.php"
bgcolor="darkorange">Consulter notre CVTHEQUE</a></td>
</tr>
</table>
</body>
</html>
ajout.php
<?php include ("menu.php");?>
<html>
<head><title>:: Deposer votre cv ::
</title>
<style type="text/css" media="all">
#formulaire {font: 14px Tahoma;color:darkred;
text-align:center; margin-left:200px; margin-right:220px;
border-style:outset; border-width:2px}
</style>
</head>
<body>
<h2 id="formulaire">
<form method="POST" action="recevoir.php">
<label>Nom:</label>
<input type="text" name="Nom" /><br /><br
/>
<label>Prenom</label>
<input type="text" name="Prenom" /><br />
<br />
<label>E-mail</label>
<input type="text" name="E_mail" /><br />
<br />
<label>Domaine</label>
<select name="Domaine">
<option value="Agriculture">Agriculture</option>
<option value="Art">Art</option>
<option
value="Anthropologie">Anthropologie</option>
<option value="Aviation">Aviation</option>
<option
value="Armée">Armée</option>
<option value="Culture">Culture</option>
<option value="Couture">Couture</option>
<option value="Coiffure">Coiffure</option>
<option value="Demographie">Demographie</option>
<option value="Education">Education</option>
<option
value="Environnement">Environnement</option>
<option value="Finance">Finance</option>
<option value="Geologie">Geologie</option>
<option value="Geographie">Geographie</option>
<option value="Geomatique">Geomatique</option>
<option value="Informatique">Informatique</option>
<option value="Industrie">Industrie</option>
<option value="Justice">Justice</option>
<option value="Maçon">Maçon</option>
<option value="Mecanique">Mecanique</option>
<option value="Psychologie">Psychologie</option>
<option value="Radio">Radio</option>
<option value="Statistique">Statistique</option>
<option value="Sante">Sante</option>
<option value="Sociologie">Sociologie</option>
</select><br /><br />
<label>Contrat Recherche</label>
<select name="Contrat_Recherche">
<option value="Stage">Stage</option>
<option value="CDD">CDD</option>
<option value="CDI">CDI</option>
</select><br /><br />
<label>CV</label>
<input type="file" name="CV" value=""/>
<br /><br /><br />
<input type="submit" value="valider" />
</form>
</body>
</html>
detail.php
<?php
include("menu.php");
mysql_connect("localhost","root","6177887");
mysql_select_db("cvtheque");
$rq="select CV from personne where id=".$_REQUEST["id"];
/*requete avec condition de l'identifiant id*/
$res=mysql_query($rq); /*resultat*/
$fichier=mysql_fetch_array($res);
header("content-type:".$fichier[1]);
echo $fichier[0];
<?
lister.php
<?php include ("menu.php");
mysql_connect("localhost","root","6177887");
mysql_select_db("cvtheque");
$rq="select
id,Nom,E_mail,Domaine,Contrat_Recherche,CV,Date,Autres from
personne";/*requete*/
$res=mysql_query($rq); /*resultat*/
echo "<table border='1'>";
while(list($id,$Nom,$E_mail,$Domaine,$Contrat_Recherche,$CV,$Date,$Autres)=mysql_fetch_array($res))
{
echo"<tr>";
$lien="<a href='detail.php?id=$id'
target='top'>CV</a>";
echo"<td>$Nom</td>";
echo"<td>$E_mail</td>";
echo"<td>$Domaine</td>";
echo"<td>$Contrat_Recherche</td>";
echo"<td>Date</td>";
echo"<td>$lien</td>";
echo"</tr>";
}
echo"</table>";
?>
Recevoir.php
<?php
mysql_connect("localhost","root","6177887");
mysql_select_db("cvtheque");
$rq="insert into personne
(Nom,E_mail,Domaine,Contrat_Recherche,CV,Date,Autres) values
(".
"'".$_POST["Nom"]."',".
"'".$_POST["Prenom"]."',".
"'".$_POST["E_mail"]."',".
"'".$_POST["Domaine"]."',".
"'".$_POST["Contrat_Recherche"]."',".
/*"'".$_POST["cv"]."',".*/
"'".date("y/m/d", time())."')";
mysql_query($rq);
mysql_close();
?>
iii. Forum : le code du forum est donné en annexe III
mais voici quelques aperçus :
Une fois que je me connecte, voici l'aperçu :
Je peux répondre à un message ou poster un autre
message mais seul l'administrateur à le droit de supprimer.
Après avoir terminé, je me déconnecte de
malibire :
|