V. Deploiement▲
Il est préférable de ne pas essayer de fusionner l'aedituus avec un script existant, mais plutôt de le laisser « à coté ». C'est-à-dire créer une page dédiée à l'affichage des formulaires de l'aedituus.
Le coeur de chaque page du formulaire est écrite dans les fichiers templates (que vous modifierez pour les adapter au design de votre site).
- Création d'une page aedituus.php (appeler la comme vous voulez) au design de votre site, prévoyant un emplacement pour les formulaires de l'aedituus.
- Sur cette page, saisir à l'endroit ou vous souhaitez voir apparaître les formulaires, le code ci-dessous.
- Modification du design des formulaires (fichier template) pour l'adapter au design du site.Tous ces templates se ressemblent beuacoup. Ils ne contiennent que les formulaires. Seul message.tpl ne contient pas de formulaire, mais un cadre, qui s'affichera à la place des formulaires en cas d'erreur ou d'exception soulevée.
If ( !
empty($page
))
{
switch($page
)
{
case '
connect
'
:
include '
connect.
'
.
EXT;
break;
case '
inscript
'
:
include '
inscript.
'
.
EXT;
break;
case '
passperdu
'
:
include '
passperdu.
'
.
EXT;
break;
default:
affiche_message('
Impossible de trouver la page
'
);
break;
}
}
- aedituus.php?page=connect
- aedituus.php?page=inscript
- aedituuq.php?page=passperdu
Enfin, en haut de la page, saisissez le code
define ('
PIWARE_ROOT
'
,
'
./
'
);
require_once PIWARE_ROOT.
'
include/extension.inc
'
;
require_once PIWARE_ROOT.
'
include/commun.
'
.
EXT;
// Récupération des $_GET
$page
=
(isset($_GET
[
'
page
'
]
) ?
$_GET
[
'
page
'
]
:
null);
// L'objet user, démarrage de la session utilisateur
$user
=
new CUser();
$user
->
session_begin();
En réglant la constante PIWARE_ROOT en fonction de l'emplacement de ce fichier par rapport à la racine.
Pour ajouter des champs de connexion sur une autre page du site, il suffit de mettre un code du style (seuls les éléments HTML de formulaire sont réellement obligatoires)
<form
method
=
"post"
action
=
"aedituus.php?page=connect"
id
=
"connexion-form"
name
=
"connexion-form"
onsubmit
=
"md5hash(this.mdp, this.md5mdp, this.gds);"
>
Login <input
type
=
"text"
name
=
"login"
id
=
"login"
size
=
"20"
value
=
""
autocomplete
=
"off"
>
<div
style
=
"border:solid 1px black;height:16px;width:120px;background-color:#F0F0FF;font-weight:bold;"
id
=
"info_gds"
>
Grain de sel</div>
Mot de passe <input
type
=
"password"
name
=
"mdp"
size
=
"20"
>
<input
type
=
"hidden"
name
=
"md5mdp"
value
=
""
>
<input
type
=
"hidden"
name
=
"gds"
id
=
"gds"
value
=
""
>
<input
value
=
"Valider"
id
=
"Valider"
type
=
"submit"
class
=
"bouton"
>
</form>
Ainsi que ceci dans l'entête pour bénéficier de la protection par GDS coté client (non obligatoire)
<
script type=
"text/javascript"
>
var _adresseRecherche =
"gds.{EXT}"
// l'adresse à interroger pour trouver le GDS
</
script>
<
script type=
"text/javascript"
src=
"./js/MD5Hash.js"
></
script>
<
script type=
"text/javascript"
src=
"./js/getGDS.js"
></
script>
<
script type=
"text/javascript"
>
window
.
onload
=
function
(
)
{
initAutoComplete
(
document
.getElementById
(
'connexion-form'
),
document
.getElementById
(
'login'
),
document
.getElementById
(
'Valider'
),
document
.getElementById
(
'gds'
),
document
.getElementById
(
'info_gds'
)
);
};
</
script>
Pour le moment, les fichiers de l'aedituus sont présents, on a créer une page à part pour l'affichage des formulaires, mais le site lui-même ne possède encore aucune protection.
Pour intégrer l'aedituus dans toutes les pages, il faut mettre tout en haut de chaque page
define ('
PIWARE_ROOT
'
,
'
./
'
);
require_once PIWARE_ROOT.
'
include/extension.inc
'
;
require_once PIWARE_ROOT.
'
include/commun.
'
.
EXT;
// L'objet user, démarrage de la session utilisateur
$user
=
new CUser();
$user
->
session_begin();