A contrario de l'installation autonome, le mode intégration est l'utilisation d'Albulle dans un site existant. Albulle a été pensé pour pouvoir s'intégrer au mieux à votre site Web. Cet article présente les étapes nécessaires pour réaliser une telle opération.
Je pars du principe que vous êtes déjà passé par la documentation de l'installation en mode autonome. Si ça n'est pas le cas, je vous invite à la lire avant de passer à l'intégration.
Il y a deux façons de faire pour réaliser l'intégration :
Quelle que soit la méthode que vous choisirez, il vous faudra quoi qu'il arrive adapter un thème à votre interface pour qu'Albulle s'intègre visuellement à votre design !
Ouvrez config.php et commencez par définir la constante JB_AL_INTEGRATION_SITE à true (ligne 178). Enregistrez et testez : vous obtenez alors une page sans style avec le titre et le sous-titre.
Si vous ne souhaitez pas conserver l'entête qui contient le titre et le sous-titre, définissez la constante JB_AL_AFFICHER_ENTETE à false (ligne 55). Enregistrez et testez : vous n'avez plus d'entête !
Il faut maintenant faire l'appel au fichier explore.php là où vous le souhaitez dans votre code à vous. Vous noterez qu'il est obligatoire de définir la constante JB_AL_ROOT avec le chemin d'accès au dossier d'Albulle avant l'appel. Voici le code à copier (code quasiment identique à ce qui se trouve dans le index.php de l'installation par défaut) :
define( 'JB_AL_ROOT', 'chemin/vers/dossier/albulle/' ); $sPageAlbulle = require_once( JB_AL_ROOT.'core/explore.php' ); // Le code qui suit montre simplement l'existence des deux variables à utiliser au bon endroit pour votre site echo $sThmCssMetas; echo $sPageAlbulle ;
A vous d'exploiter ces variables correctement dans votre code !
Avant dernière chose, si vous ne l'avez pas déjà fait dans votre code : démarrer une session.
Albulle repose principalement sur l'objet qui gère le panier de fichiers. Ce panier utilise une variable de session pour fonctionner. Lors de la création du panier, il vérifie s'il n'y a pas déja une session et s'il n'y en a pas, il la créé. Or une session doit être démarrée avant tout affichage dans le navigateur (cf Doc Php). Comme vous intégrez Albulle dans un site, il est possible que nous n'ayez pas organisé votre code de façon à n'afficher la page qu'une fois les traitements effectués. Pour éviter un Warning il vous faut donc rajouter la ligne suivante au tout début de votre code (votre index.php par exemple) :
session_start();
Dernière chose mais non des moindres : créer un thème adapté à votre site ! Pour cela je vous renvoie à l'article qui traite le sujet.
Cette méhode est beaucoup plus rapide à mettre en place mais nécessite de taper un peu plus de code ; mais s'il n'y a que ça, pourquoi s'en priver ? Dans ce cas, on ne touche à rien à la configuration actuellement en place : nous allons juste surcharger les éléments qu'il faut pour pouvoir intégrer Albulle.
Voici le code à placer où bon vous semble dans votre code :
define( 'JB_AL_ROOT', 'chemin/vers/dossier/albulle/' ); define( 'JB_AL_AFFICHER_ENTETE', false ); define( 'JB_AL_DOSSIER_THEME_ACTIF', 'albulle/' ); define( 'JB_AL_INTEGRATION_SITE', true ); $sPageAlbulle = require_once( JB_AL_ROOT.'core/explore.php' ); // Le code qui suit montre simplement l'existence des deux variables à utiliser au bon endroit pour votre site echo $sThmCssMetas; echo $sPageAlbulle ;
Il y a généralement deux écoles dans la construction des sites Internet dynamiques :
Si vous êtes dans le deuxième cas, et que vous n'utilisez pas de paramètres dans vos URL, vous n'êtes pas concerné par ce chapitre. En revanche, si vous utilisez un paramètre pour arriver à votre galerie, restez ici et lisez attentivement ce qui suit. Cela vous évitera très certainement de longues heures d'incompréhension .
Vous êtes encore là ? Bien, vous utilisez donc des paramètres pour aiguiller la navigation dans votre site. Il faut donc dire à Albulle qu'il doit générer ses propres URL en conservant vos paramètres pour la continuité du fonctionnement de votre site. C'est le rôle du paramètre JB_AL_CONSERVER_URL_HOTE.
Vous devez mettre ce paramètre à true pour activer la conservation des paramètres de l'URL appelante. Pour ce faire, selon la méthode que vous avez choisie, modifiez le paramètre dans le fichier de configuration par défaut ou ajoutez une définition dans le code de surcharge (veuillez à placez cette ligne avant l'inclusion faite par require_once()) :
define('JB_AL_CONSERVER_URL_HOTE', true);
Tout le monde suit ? Ok, continuons !
Pour que votre site et Albulle puissent fonctionner de concert et sans encombre, vous allez devoir faire attention à une chose : vos paramètres. Explications :
De ce fait, si vous utilisez un paramètre qui est utilisé par Albulle, ce dernier ne fonctionnera pas correctement. Albulle efface systématiquement certaines variables pour s'assurer que ce sont ses propres variables qui seront prises en compte. Vous ne devez donc pas utiliser un paramètre qui est déjà utilisé par Albulle.
La liste suivante énumère les paramètres qui vous sont interdits :
rep, page, act, img, diapo, voir, diaporama
Conclusion : si vous utilisez un des paramètres cités, vous devez changer pour choisir un autre nom de variable qui ne soit pas dans cette liste.
Pour que l'intégration se fasse au mieux, il est préférable que le terrain d'accueil soit propice à recevoir Albulle. En d'autres termes, votre code devrait suivre une certaine organisation pour garantir le bon fonctionnement de votre site.
Là encore, plusieurs écoles existent. Selon les besoins, un site peut être structuré de différentes façons :
Pour celles et ceux qui développent déjà selon le niveau intermédiaire et/ou avancée, je pense que vous n'avez peut-être pas besoin de poursuivre cette lecture ; une intégration ne devrait pas vous poser de problème ! Pour les autres, la suite devrait vous intéresser…
Pour une intégration sans douleur, il vaut mieux que la structure de votre site corresponde au moins au niveau intérmédiaire que je viens de décrire pour la simple et bonne raison que le code d'appel d'Albulle en mode intégré vous renvoie deux variables : une pour les métas, une autre pour le cadre qui contient la galerie (<div id=“albulle”>…</div>). Il est donc plus judicieux de placer cet appel avant que vous n'affichiez vos métas pour pouvoir y intégrer celles d'Albulle.
Prenons un exemple pour que tout cela soit bien clair :
<?php session_start(); ... votre code PHP ... // Code d'appel d'Albulle (ce code peut varier selon la méthode d'intégration choisie ; cf. plus haut) define( 'JB_AL_ROOT', 'chemin/vers/dossier/albulle/' ); $sPageAlbulle = require_once( JB_AL_ROOT.'core/explore.php' ); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> ... vos méta-données ... <?php echo $sThmCssMetas; ?> </head> <body> ... votre code HTML ... <?php echo $sPageAlbulle; ?> ... votre code HTML ... </body> </html>
Voilà ! A vous de travailler maintenant .