Certains des exemples que nous fournissons ci-dessous ne sont pas complets. D'emblée, nous nous en excusons, bien sûr. Mais pourquoi diable sont-ils incomplets ?
Ils sont incomplets parce que nous y travaillons en ce moment et que plutôt que de vous faire patienter jusqu'à ce qu'ils soient tous terminés, nous avons préféré vous les livrer dans l'état où ils se trouvent pour que vous puissiez vous faire une idée de ce qu'ils illustrent.
Au fur et à mesure de notre avancement, nous ferons les mises à jour idoines. Nous espérons résorber notre retard au plus vite.
title
, le paramètre heading
, le paramètre text
, le paramètre xsl
, LSRegionSubtag, Language Switchers, LSFormEnroll, LSContentsLegal, sitemap, substitution de propriétés, LSSourceFile et LSContentsSourceFile, LSContentsComments, LSContentsCharter, ... (05/11/2013)onload
et onunload
d'une page, Page settings, ... (22/09/2013)Depuis l'opus "2.5.0100"
Si vous souhaitez créer une galerie de photos qui sont accessibles via des
vignettes (thumbnails), alors la classe
LSContentsImageGallery
est ce qu'il vous faut.
Grâce à elle, vous pourrez prendre toutes les images se trouvant dans un répertoire, les présenter en vignettes, et lorsqu'on clique sur une vignette, l'image principale est présentée.
Tout ce que vous devrez faire est de construire une île semblable à celle-ci :
<Island id="contact-sheet" active="yes" class="LSContentsImageGallery"> <param name="title"><![CDATA[Salon de l'auto 2010]]></param> <param name="storage"><![CDATA[/images/autosalon]]></param> <param name="img-per-row"><![CDATA[4]]></param> <param name="caption"><![CDATA[Images du Salon de l'Auto 2010]]></param> <param name="thumb-width"><![CDATA[100]]></param> <param name="thumb-height"><![CDATA[80]]></param> <param name="thumb-quality"><![CDATA[80]]></param> <param name="mask"><![CDATA[*.jpg]]></param> <param name="make-thumbs"><![CDATA[false]]></param> </Island>
… et cela pourra donner l'affichage suivant qui est actif sur la page de l'agence The Raid Agency :
Les RSS-LS sont un type particulier de RSS appliqué spécialement à Vae Soli!. La base de ce type de RSS est le RSS 2.0 mais différents tags sont tout à fait propriétaires. Nous utilisons ce format dans certains articles, sur certaines pages, … et surtout sur des blogs.
En voici un petit exemple :
<?xml version="1.0" encoding="iso-8859-15"?> <vaesoli-blog> <channel> <toc active="yes" /> <item active="yes"> <title><![CDATA[Le titre de votre billet]]></title> <description><![CDATA[Une petite description de votre billet]]></description> <author><![CDATA[prenom.nom@domaine.be (Prénom Nom)]]></author> <pubdate><![CDATA[20100222120000]]></pubdate> <expiry><![CDATA[]]></expiry> <guid><![CDATA[686d2f56-ff80-47f3-a677-2052489d0757]]></guid> <creationdate><![CDATA[20100219141500]]></creationdate> <modificationdate><![CDATA[auto]]></modificationdate> <keywords visible="no"><![CDATA[mots clefs séparés par des virgules]]></keywords> <text><![CDATA[ <p> Ici, le texte de votre petit billet. </p> ]]></text> </item> </channel> </vaesoli-blog>
Plusieurs billets (items) peuvent se trouver rassemblés dans le même fichier
XML. Chaque bllet peut être affublé du tag audience
ce qui
permet d'en cibler le lectorat. L'exemple suivant va permettre de limiter
le billet aux testeurs beta d'un site :
Si le visiteur courant est membre de la communauté des testeurs beta, le billet lui sera accessible. Si ce n'est pas le cas, le billet ne s'affichera pas ! Bien entendu, le tout est lié à la gestion des utilisateurs telle que vous l'avez vous-même définie.
Attention ... l'exemple ne passe pas encore. Il faut tester avec simple-rss.xml.
Les dernières versions de Vae Soli! ont mis l'accent sur la gestion d'offres d'emploi … et au demaurant, notre gestion de promotions est basée — du moins le cœur du code de la classe — sur les mêmes routines d'accès.
Utilisant nos classes sur notre propre site web, nous nous mettons ainsi dans la peau de nos propres utilisateurs et découvrons ainsi pas mal de petits perfectionnements potentiels. Ainsi nous avons passé pas mal de temps à réaliser de petites améliorations … dont la syndication des offres d'emploi !
Par principe, et c'est là une dimension distinctive de Vae Soli! par rapport à d'autres framework web, tout dans Vae Soli! peut être défini partout, de manière ubiquiste.
C'est ainsi que la définition complète d'un géorama [1] pourrait très bien se trouver … sur un autre site web. Chaque page définie dans le géorama peut l'être de manière distante (par référence par exemple à une défintion se trouvant sur un autre site web). Chaque île peut encore être définie de manière distante. Vae Soli! ouvre donc les portes d'un web AAA [2] .
Nous avons donc appliqué ce principe natif aux offres d'emploi. Avec un succès certain. Ainsi, les offres d'emploi de Lato Sensu Management sont reprises sur le site de Vae Soli!. Voyez comme c'est simple :
<Island id="jobs" active="yes" class="LSContentsJobs" cacheTTL="3600"> <param name="storage"><![CDATA[http://www.site.com/syndication/jobs2010.xml]]></param> <param name="title"><![CDATA[Offres d'emploi]]></param> <param name="heading"><![CDATA[h3]]></param> <param name="text"><![CDATA[<p>Offres d'emploi de nos partenaires.</p>]]></param> <param name="apply"><![CDATA[false]]></param> </Island>
Notez que dans le cas présenté ci-dessus les offres d'emploi sont définies sur un site quelconque (ici, www.site.com). C'est de cette manière qu'on va chercher les infos ailleurs, où que ce soit … pourvu que le fichier .xml soit au format connu de Vae Soli! !
Vae Soli! possède un module de citations. Vous pouvez syndiquer SIMPLEMENT vos citations avec d'autres sites car les citations sont stockées dans un simple fichier XML. Comment faire ?
Il suffit de composer une île de type LSContentsCitation
et d'indiquer que sa source est distante. En voici un exemple :
<Island id="citation" active="yes" class="LSContentsCitation"> <param name="storage">http://www.site.com/syndication/citations2010.xml</param> <param name="recno">random</param> </Island>
Vous pourriez imaginer des sources variables de citations. Une fois vous les prenez de tel endroit, une fois d'un autre, …
Rien de plus simple en effet grâce aux expressions dynamiques :
<Island id="citation" active="yes" class="LSContentsCitation"> <param name="title"><![CDATA[Citation]]></param> <param name="heading"><![CDATA[h4]]></param> <param name="storage"><![CDATA[.php= return GiveACitation();]]></param> <param name="recno">random</param> </Island>
Dans le cas d'espèce, c'est la fonction GiveACitation()
qui
décidera d'où la citation doit provenir. C'est du code PHP et vous pourrez
donc imaginer tout ce que vous voulez ! A titre d'exemple, voyez
comment nous nous tournons vers une source locale de citation lorsque
l'adresse IP est localhost
:
function GiveACitation() /*--------------------*/ { $szRetVal = 'http://www.latosensu.be/citations/citations.xml'; if ( $_SERVER["REMOTE_ADDR"] == '127.0.0.1' ) { $szRetVal = '/citations/citations.xml'; } return ( $szRetVal ); }
Vous pouvez aisément activer le diaporama Dewslider [3] avec Vae Soli!. Il suffit de créer une île comme l'exemple ci-dessous l'illustre :
<Island id="video" active="yes" class="LSContentsMedia"> <param name="mediatype"><![CDATA[flash]]></param> <param name="src"><![CDATA[/dewslider.swf?xml=/set01.xml]]></param> <param name="width"><![CDATA[600]]></param> <param name="height"><![CDATA[800]]></param> <param name="scale"><![CDATA[true]]></param> </Island>
Voilà ... rien n'est plus simple !
Dans le même ordre d'idée, et puisqu'il s'agit également d'une animation
Flash, voici comment activer l'affichage d'une horloge analogique sur
votre site web avec la classe LSContentsMedia
. Pour l'exemple
voici l'insertion d'une horloge en droite provenance du The World
Time Server :
<Island id="video" active="yes" class="LSContentsMedia"> <param name="mediatype"><![CDATA[flash]]></param> <param name="src"><![CDATA[http://www.worldtimeserver.com/clocks/wtsclock001.swf? color=CC6600&wtsid=BE]]></param> <param name="width"><![CDATA[100]]></param> <param name="height"><![CDATA[100]]></param> <param name="scale"><![CDATA[true]]></param> </Island>
… et cela donne :
Bien sûr, vous pouvez trouver d'autres horloges digitales et analogiques sur le web.
Ici continuer texte
LSFootnotes
2010-02-17Depuis l'opus "2.5.0017"
Tout le monde sait ce qu'est une note de bas de page, nous n'allons donc pas
passer notre temps à introduire le sujet. Par contre, ce qui est neuf, c'est
la classe LSFootnotes
qui permet de gérer les notes de bas de
page dans un texte et d'y référer. Rien de plus simple. Voyons cela avec un
exemple pratique dans un petit texte latin :
Sed cum sapientiam [L1] totius hominis custodem et procuratricem esse vellent, quae esset naturae comes et adiutrix, hoc sapientiae munus esse dicebant, ut, cum eum tueretur, qui constaret ex animo et corpore, in utroque iuvaret eum ac contineret. Atque ita re simpliciter primo collocata reliqua subtilius persequentes corporis [L2] bona facilem quandam rationem habere censebant; de animi bonis accuratius exquirebant in primisque reperiebant inesse in iis iustitiae semina primique ex omnibus philosophis natura tributum esse docuerunt, ut ii, qui procreati essent, a procreatoribus amarentur, et, id quod temporum ordine antiquius est, ut coniugis virorum et uxorum natura coniuncta esse dicerent, qua ex stirpe orirentur amicitia cognationum.
Dans ce texte, nous avons ajouté 2 notes de bas de page. Considérez le code qui a été utilisé pour ce faire :
<?php $oLatinNotes = new LSFootnotes(); $oLatinNotes->szPrefix = 'L'; ?> <blockquote> Sed cum sapientiam <?php $this->EchoOB( $oLatinNotes->Add('Os Iustu, Meditabitur Sapientiam ' . 'Et Lingua Eius Loquetur Idicium ...') ); ?> totius hominis custodem et procuratricem esse vellent, quae esset naturae comes et adiutrix, hoc sapientiae munus esse dicebant, ut, cum eum tueretur, qui constaret ex animo et corpore, in utroque iuvaret eum ac contineret. Atque ita re simpliciter primo collocata reliqua subtilius persequentes corporis <?php $this->EchoOB( $oLatinNotes->Add( 'De humani corporis fabrica libri septem ' . '(On the fabric of the human body in seven books) is a textbook ' . 'of human anatomy written by Andreas Vesalius') ); ?>bona facilem quandam rationem habere censebant; de animi bonis accuratius exquirebant in primisque reperiebant inesse in iis iustitiae semina primique ex omnibus philosophis natura tributum esse docuerunt, ut ii, qui procreati essent, a procreatoribus amarentur, et, id quod temporum ordine antiquius est, ut coniugis virorum et uxorum natura coniuncta esse dicerent, qua ex stirpe orirentur amicitia cognationum. </blockquote>
Donc … comme vous le constatez, il suffit de créer un objet de
classe LSFootnotes
et ensuite d'ajouter des notes de bas de
page au fur et à mesure de notre texte.
Pour ce qui est de l'affichage des notes de bas de page, probablement dans
le bas de votre page, il faut demander le rendu des notes via l'appel à la
méthode Render()
comme dans … echo
$oLatinNotes->Render();
. C'est exactement ce qui est fait juste ici
pour l'exemple :
$oLatinNotes->Render();
[L1] … Os Iustu, Meditabitur Sapientiam Et Lingua Eius Loquetur Idicium ...
[L2] … De humani corporis fabrica libri septem (On the fabric of the human body in seven books) is a textbook of human anatomy written by Andreas Vesalius
Vous pourrez constater que les numéros de référence sont automatiques, qu'ils pointent les uns vers les autres dans les deux directions, du texte vers les notes et des notes vers le texte. Voici le code qui a permis l'affichage des notes :
<?php $this->EchoOB( $oLatinNotes->Render() ); ?>
On peut difficilement faire plus simple !
[1] … Le géorama est une sorte de carte de composition d'un site web, le plan de toutes les pages qui le composent.
[2] … AAA = Anywhere, Anytime, Anything.
[3] … Dewslider est un diaporama d'images en Flash développé par Alsacréations, une agence web de Strasbourg