Eric MILLOZ

            



IntegSite - Intégration des pages


Eric MILLOZ © 2001-2017

Sommaire

1 - Architecture

2 - Fonctionnement

3 - Commande

4 - Comment ça marche...

5 - Exemple make


1 - Architecture

Depuis une dizaine d'années cette fonctionnalité est devenu inutile, car on peut avoir une organisation de code qui permet de s'affranchir de cette fonctionnalité.
On peut néanmoins s'en servir pour assembler du texte de manière massive dans des fichiers textes.

Exemple avec le projet "mon_site" :

Vous pouvez télécharger cet exemple en bas de cette page, ou en cliquant ici.

Une fois le fichier de-zippé à la racine du serveur, vous pourrez continuer. Il faudra changer les chemin dans le fichier .bat et .cfg

Vos pages seront contenues dans un répertoire dont le nom est le nom de votre site. (ici monsite)
Par exemple : Avec Xampp le chemin des pages est c:\xampp\htdocs\monsite.

Dans ce dossier (monsite), vos fichiers PHP sources doivent être dans le répertoire sources du site, je le nomme sources mais vous le nommerez comme vous voulez. (c'est paramétrable dans le fichier de configuration.)
Dans ce dossier (monsite), il faudra aussi définir un dossier cible qui contiendra le site une fois assemblé par IntegSite. (vous déciderez aussi du nom)
Il y aura aussi un répertoire inc ou include dans sources.

Nous avons donc visuellement ceci :

Fenêtre explorateur

Votre site sera consultable à la fois dans sources (http://localhost/monsite/sources/), sans la charte graphique afin de mise au point, et après lancement de IntegSite, il sera aussi consultable, avec la charte graphique appliquée sur toutes les pages, dans le répertoire cible. (http://localhost/monsite/cible/)

Il convient que les fichiers php contenu dans sources seront modifiés et écris dans cible (voir chapitre fonctionnement). Il va de soi aussi que les fichiers contenus dans le répertoire include seront aussi copiés automatiquement afin de permettre aux pages de fonctionner.

Les autres fichiers ne seront pas copiés explicitement, mais vous pourrez indiquer à IntegSite qu'il faut aussi les copier. (Balise FICHIER_A_COPIER=)

Installez l'exemple et lancer le fichier monsite.bat qui fera l'opération de fusion. Ensuite consulter avec votre navigateur internet le répertoire cible pour voir le résultat.

Une fois que vous êtes satisfait du résultat, les fichiers de cible peuvent être transférés sur votre site internet.

2 - Fonctionnement

Les fichiers du répertoire sources vont être habillés avec le fichier de référence que vous avez décrit dans le fichier de configuration ou dans la page, puis écrit dans le répertoire désigné par CIBLE.

Image du schéma de création de page.
Le répertoire INCLUDE défini dans le fichier de configuration indique le répertoire à copier dans le répertoire CIBLE. Bien sur vos fichiers .php font référence à des chemins relatifs.

ATTENTION : le répertoire désigné par INCLUDE doit exister dans le répertoire défini par SOURCE, et c'est obligatoire !.

3 - Commande

La commande de création des pages est :
C:\Program Files\IntegSite\Integsite.exe -c Chemin_du_fichier_de_configuration -make

Dans cet exemple : Integsite -c c:\xampp\htdocs\monsite\monsite.cfg -make

l'ordre -make permet de déclencher l'intégration.

4 - Comment ça marche...

Un petit exemple est plus parlant.

Voici votre fichier référence : (présent dans SOURCE)

session_start();
require_once("inc/parametres.php");
$Param = new Parametre();
?>
<?php echo $Param->SiteTitre; ?>
{ #MON_TEXTE}



L'étiquette #MON_TEXTE est l'endroit ou la section (entre balise) du fichier source sera intégré dans le fichier résultat dans CIBLE.

Voici un fichier source de votre site contenu dans SOURCE (notez le dépouillement de ce fichier car ce qui nous intéresse n'est contenu qu'entre les balises de début { #DEBUT_MON_TEXTE} et de fin { #FIN_MON_TEXTE} ce qui se trouve avant et aprés ne sert qu'à la mise au point. (par exemple pour définir qu c'est du la mise au point ou du test)

Exemple de balise contenue pour la partie DATE : { #DEBUT_DATE} et { #FIN_DATE} , pas d'espace entre l'accolade et le dièse.


< html>
< head>
< /head>
< body>
{ #DEBUT_MON_TEXTE}
Mon texte réalisé avec un éditeur quelconque qui se trouve dans { #MON_TEXTE}.
< ?Php
$Valeur=$_POST["valeur"];
echo "Votre Valeur".$Valeur;
require_once("inc/ISCLASS_utilisateur.php");
$u=new utilisateur(SERVEUR,NOM,PASSE,BASE);
$u->recherche($Valeur);
Echo "Votre Nom ".$u->nom."< br>";
? >
{ #FIN_MON_TEXTE}
< /body>
< /html>


Le résultat après intégration : (fichier écris dans CIBLE).

< ?php
session_start();
require_once("inc/parametres.php");
$Param = new Parametre();
?>
< html>
< head>
< title>SiteTitre; ?> < /head>
< body>

Ici Mon texte réalisé avec un éditeur quelconque. WysIsWyg, Komposer, PsPad
// Du Php aussi
$Valeur=$_POST["valeur"];
echo "Votre Valeur".$Valeur;
require_once("inc/ISCLASS_utilisateur.php");
$u=new utilisateur(SERVEUR,NOM,PASSE,BASE);
$u->recherche($Valeur);
echo "Votre Nom ".$u->nom."
"; ? >
< /body>
< /html>


Si une balise est présente dans le fichier référence mais pas dans le fichier traité, dans celui-ci l'indication !#nom de l'étiquette sera inscrite dans le fichier résultat.

Cette conversion aura lieu pour tous fichiers présents dans le répertoire source.

Si dans le fichier source php, vous avez inscrit au début la balise { #reference=sources/_reference.php} alors c'est le fichier spécifié qui prime par rapport à celui déclaré par défaut dans le fichier de configuration (FICHIER_REF).

Pour visualiser le résultat il faudra aller dans le répertoire CIBLE avec votre navigateur.
Icone GPL Alexandro Rei Les fichiers php commençant par un _ (underscore) ne seront pas traités par IntegSite.

5 - Exemple make

Pour télécharger l'exemple monsite.zip veuillez cliquer ici pour Windows XP, Windows 7 & +
Pour XP, le fichier batch a lancer (.bat) est monsite_xp.bat
Pour Windows 7 et 8.X, le fichier batch a lancer (.bat) est monsite_W7_8.bat

Articles
La i-Girouette (09/12/2017)TER St-Etienne Ambérieux (15/04/2018)Nouveau Titre (16/05/2018)Nouveau Titre (18/05/2018)Titre test DU 10 index (24/05/2018)Titre test indexé (25/05/2018)