Niouzes

< Mai 2012 >
Lu Ma Me Je Ve Sa Di
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Image : suivez-nous sur Twitter

Ils nous suivent

Citation

A toute chose on trouve cause et conséquence. Gallance
2012-05-01 à 12:27:07

Ressources à télécharger

Download de Vae Soli!, version 5.0.0001

La dernière version stable de Vae Soli! est la version 5.0.0001 du 01/05/2012. Cette version contient l'ensemble du code source de Vae Soli! :vaesoli-5.0.0001.zip (01/05/2012 à 12:11 de 9.996.671 bytes). Cette version ne contient plus de documentation automatique, considérée comme trop ancienne. La prochaine version publiable de Vae Soli! sera une version intégrée avec notre gestion d'entreprise "{Q}" et documentée manuellement.

Archives de Vae Soli!

Cliquez sur le signe ci-dessous pour étendre/fermer la liste des archives.

 

Changements dans la version 2.1.0000

Cliquez sur le signe ci-dessous pour étendre/fermer la liste changements.

 

Changements dans la version 2.0.0009

La version 2.0.0009 de Vae Soli! sera mise à disposition à la fin du mois d'avril 2009.

  1. Nouvelle classe : LSSitemap.
  2. La classe LSContentsSitemap fait maintenant appel à la nouvelle classe : LSSitemap.
  3. L'île de type LsContentsSitemap permet un affichage des pages par le groupe auxquelles elles appartiennent: <param name="layout">by-group</param>.
  4. Les pages d'un site peuvent maintenant apparaître dans le sitemap ou pas en fonction du domaine visité (e.g. www.vaesoli.org vs. www.vaesoli.com).
  5. La variable membre Language de la classe LSDictionary a été renommée szLanguage pour plus de cohérence dans l'ensemble du framework.
  6. Nouveaux messages de service  :
    1. ?VaesoliServiceMessage={doctype}.
    2. ?VaesoliServiceMessage={landscape:www.domain.com}.
  7. Deux nouvelles îles permettent d'ajouter un commentaire à une page web et d'afficher les commentaires déjà introduits : LSContentsComments et LSContentsAddComment. Ces îles remplacent définitivement les paramètres LSIsBlog et LSAccepComments qui ne seront plus supportés du tout.
  8. La version 2.0.0009 est la première version qui utilise un algorithme de machine de Turing. Cet algorithme est utilisé dans l'île de type LSContentsAddComment pour contrer les spammeurs.
  9. Un bug a été corrigé dans la méthode GetPageDescription() du Géorama.
  10. Un bug a été corrigé dans la méthode GetPageH1() du Géorama.
  11. Si le template mentionné n'est pas trouvé, désormais un message d'erreur est loggué dans la classe LSPage.
  12. La classe LSColor accepte deux nouveaux types de paramètres lors de l'initialisation : une chaîne rgb (e.g. "rgb(10,20,60)") et un tableau de trois nombres (e.g. a[0] = 10,a[1] = 20,a[2] = 60).
  13. La classe LSImage a trois nouvelles méthodes  : Emboss(), DetectEdge() et Contrast().
  14. Un ensemble de petits bugs ont été supprimés dans la classe LSImage : merci à Damien Thierry.
  15. Il est désormais possible de mentionner un landscape sur une île de sorte à ne l'afficher que dans le cas d'un domaine précis (e.g. www.vaesoli.com vs. www.vaesoli.net vs. www.vaesoli.org, ...)
  16. Il est désormais possible de mentionner un landscape sur des valeurs de substitution de sorte à ne les activer qu'en fonction de certains domaines (e.g. www.vaesoli.com vs. www.vaesoli.net vs. www.vaesoli.org, ...).

Ce qui a changé depuis le rachat des sources

Depuis que Vae Soli! a été acquis par la société Lato Sensu Management, un certain nombre de nouvelles fonctionnalités ont été développées et d'anciennes fonctionnalités abandonnées. En voici la liste :

  1. Toutes les classes ont été renommées de FW* en LS*.
  2. Tous les fichiers ont été renommés de FW* en LS*.
  3. Les niveaux de trace sont maintenant dans un fichier d'inclusion (LSTracingLevels.inc)
  4. Les classes de Vae Soli sont incluses grâce à un nouveau fichier: LSContentsClasses.inc.
  5. Toutes les classes héritées de LSIsland ont maintenant une méthode de PreRenderingBlock et de PostRenderingBlock. Ces méthodes appellent des fonctions de callback.
  6. Toutes les classes héritées de LSContents ont maintenant deux paramètres pre-block et de post-block. Ces paramètres permettent de mentionner un fichier à inclure avant le contenu et un fichier à inclure après.
  7. Le membre cargo est passé de la classe LSPage à la classe LSMotherNature. Il est donc de facto accessible à toutes les classes héritées comme par exemple toutes les classes de contenu LSContents*.
  8. Trois niveaux de trace ont été ajoutés :
    • TRACING_NONE_LEVEL
    • TRACING_INFO_MEDIUM_LEVEL
    • TRACING_INFO_HIGH_LEVEL
  9. La classe LSCalendar a été créée. Elle étend la classe LSMotherNature.
  10. La classe LSContentsCalendar a été créée. Elle étend la classe LSContents et elle se base sur l'object LSCalendar.
  11. La méthode LSPage::AddSubstitution() fait maintenant appel à une trace de niveau TRACING_INFO_HIGH_LEVEL.
  12. Le tracing a été grandement amélioré sur le code de la classe LSPage.
  13. Méthode LSUser::DetectBrowser() déplacée dans LSMotherNature
  14. Classe LSUser étend la classe LSMotherNature.
  15. Dans le fichier de log, chaque session de tracing est maintenant séparée par une ligne. Cela facilite considérablement la détection des dernières traces qui sont inhérentes à la session la plus récente.
  16. Il y a maintenant un répertoire 'paradeigma'. C'est dans ce répertoire que sont placés les différents modèles de site: ScribeRoyal, Sultan, Paris, Trebuchet, …
  17. Les paradeigmas suivants ont été activés :
    1. Expansion (problème de body background image + trop de blanc en-dessous)
    2. Alliance
    3. Corporate
    4. Liquid
    5. Sultan
    6. Trophee
    7. Luna
    8. ScribeRoyal
    9. Odyssée
    10. Constellation
    11. Gourmet
    12. City
    13. Galice
    14. Island
    15. Cosy (avec problème de positionnement du menu + hauteur de BottomSpot qui n'est pas dynamique en IE 7).
    16. Maitre
    17. Nature
    18. Luxury
    19. Sobriete
    20. Spagyrum
    21. Rudiment
    22. Élégance
  18. Le fichier de documentation 'VaeSoli PHP.doc' a été placé dans le répertoire 'doc' de Vae Soli!.
  19. Les traces ont été nettement améliorées sur la classe LSContents.
  20. Les traces ont été nettement améliorées sur la classe LSIsland.
  21. Une nouvelle classe de rendu de fichier .zip: LSContentsZip.
  22. La classe LSContentsZip hérite des Pre-Rendering et Post-Rendering blocks de LSIsland. Ce n'était pas le cas avant.
  23. Une nouvelle classe de rendu de fichiers XML sur base d'un XSL : LSContentsXML.
  24. La classe LSContentsXML hérite des Pre-Rendering et Post-Rendering blocks de LSIsland. Ce n'était pas le cas avant.
  25. Construction <Switch><Case>...</Case><Default>…</Default></Switch> dans le géorama.
  26. Il est possible de lire et d'écrire des fichiers PDF grâce aux classes LSPDF et LSContentsPDF (basées sur FPDF).
  27. La structure du géorama a été adaptée: <Pages> est devenu <Pangaea> et <Page> est devenu <Land>. Ces dénominations sont plus proches de l'idée de carte (géorama), d'archipels et îles.
  28. L'attribut 'domain' sur les Settings d'une page est désormais appelé landscape. Voilà aussi qui rapproche de l'idée de terre/mer.
  29. Les fonctions GetPageTitle() et GetH1() sont désormais obsolètes. Prièred'utiliser la variable globale $GLOBALS['oGeorama'] pour avoir accès à ces informations ou de faire appel aux fonctions du géorama.
  30. Vae Soli! utilisait deux méthodes différentes pour "immerger" des îles dans le contenu d'une page (ImmerseIsland() et ImmerseIsland2()). Aujourd'hui, une seule méthode est utilisée. Il se pourrait qu'on en arrive à découvrir quelques problèmes d'incompatibilité mais nous les résoudrons plus tard.
  31. Beaucoup de commentaires des fichiers constituant le framework ont été revus pour PHPDocumentor. De plus un fichier de licence a été ajouté pour donner les détails du type de licence du framework.
  32. Les classes CSS qui dans le temps étaient appelées FW_VAESOLI ont maintenant été renommées LS_VAESOLI et donc les fichiers des CSS de base fournis par Vae Soli! ont été modifiés.
  33. Support de trace sur LSContentsMenu.
  34. Le géorama permet de définir une page par défaut. Ainsi lorsqu'une page est accédée et que celle-ci n'est pas définie dans le géorama, ce sera la page par défaut qui sera montrée. Pour ce faire il faut simplement définir l'attribut default="yes" dans le tag <Land>.
  35. Le géorama positionne par défaut le noeud XML auquel se trouve la description de la page à rendre. Dans les queries qui sont faites pour inclure archipels et îles, la classe LSGeoarama utilise maintenant (mais pas partout encore) directement le noeud en question plutôt que de rechercher la page depuis la racine de l'XML.
  36. LSEditor.class.php :premiers jets de l'écriture d'un éditeur WYSIWYG à inclure dans LSIsland par exemple quand on édite une île. Cette classe n'est pourtant pas encore utilisable.
  37. L'édition des îles via TinyMCE utilisait des tags de scripting (<script ... />) qui étaient incorrectement formattés (utilisation de <script language="javascript" … />). Cela a été modifié en élmininant la référence au langage.
  38. Depuis la version 1.0.0000 de Vae Soli! on utilise maintenant la version 3.0.5 de TinyMCE.
  39. Désormais, les pages héritent des caractéristiques de tracing du géorama si elles ne sont pas spécifiées.
  40. Les appels à Nutch sont maintenant tous tracés : pre + post
  41. Si un cache est demandé sur l'île Nutch, alors les resultats des recherches sont stockées pour la durée du cache sur le site.
  42. Les pre et post rendering blocks fonctionnent sur les îles Nutch.
  43. Il est maintenant possible de spécifier une URL de recherche différente de l'URL par défaut (http://www.fastwrite.com/search/searchxml.jsp).
  44. Désormais, la classe LSMotherNature, dont sont notamment héritées les classes LSIsland et LSContents, a une méthode appelée EchoOB(). Au lieu d'utiliser la commande echo directement, l'utilisation de la méthode permet de constituer un Buffer interne qui peut être rendu au moment où l'affichage est demandé. Pour l'instant, la méthode ne fait rien d'autre qu'utiliser l'instruction echo.
  45. onSubmit a été renommé en onsubmit dans le "in In-Place editing" des îles.
  46. Premiers tests concluants avec des include distants: <xi:include href="http://www.my-other-site.com/xml-def/defaults.xml" />
  47. Géorama avec pays (pages), archipels et îles distantes (utilisation de href) :
    1. Premiers tests d'une définition distante de pays (<Land>):
      <Land id="/sitemap.php" 
         href="http://www.my-other-site.com/xml-def/sitemap.xml">
          …
      </Land>
      
    2. Premiers tests d'une définition distante d'archipel (<Archipelago>):
      <Archipelago id="column01" category="c1" 
         href="http://www.my-other-site.com/xml-def/archipel-column01.xml">
          …
      </Archipelago>
      
    3. Premiers tests d'une définition distante d'île (<Island>):
      <Island id="block-01" class="LSContents" 
         href="http://www.my-other-site.com/xml-def/block-01.xml">
          …
      </Island>
      
  48. L'Url par défaut est mise maintenant sur vaesoli.com et non plus sur fastwrite.com.
  49. Message de service {properties} est actif. Exemple : http://www.monsite.com/contact.php?VaesoliServiceMessage={properties} Ce message de service permet de retourner l'ensemble des propriétés de la page sous forme de XML.
  50. Message de service {page:satori} est actif. Exemple : http://www.monsite.com/contact.php?VaesoliServiceMessage={page:satori}. Ce message de service permet de retourner la définition XML de la page en cours. C'est une copie XML du <Land> correspondant.
  51. Révision du code des recherches Nutch.
  52. Les pages (<Land>) peuvent avoir des critères de récurrence :
    • daily : le seul mode actif pour l'instant (onfail non suivi)
    • weekly : à implémenter
    • monthly : à implémenter
    • yearly : à implémenter
    Note: le onfail n'a pas encore été activé.
  53. A programmer: récurrence sur les archipels, et sur les îles comme pour la page.
  54. La mention du template dans le géorama accepte maintenant des substitutions {<<<…>>> ou {{{... }}}) et également des expressions PHP. Ceci permet
    1. d'avoir des templates différents en fonction de la langue active (lang="{{{..}}}" dans le fichier de substitutions
    2. d'avoir des expressions complexes qui vontactiver tel ou tel template en fonction de conditions (par exemple on peut changer de template si on est pendant la période des fêtes … un simple test de dates en PHP doit faire l'affaire).
  55. Il est possible, lors de la création d'un objet LSApplication, despécifier un verbe. L'utilisation du verbe se fait sans argument et doit être résolue comme un appel à une méthode de l'objet LSApplication
  56. L'utilisation de la classe LSLatin a été améliorée: l'énumération des paragraphes latins ne se fait qu'une seule fois si l'endroit où il faut aller les extraire reste le même. Cela améliore largement les performances.
  57. La classe LSContentsContactForm a été créée. Elle permet de générer un formulaire de contact directement. Exemple :
    <Island id="ContactForm" active="yes" class="LSContentsContactForm">
       <param name="submit">mailto:info@monsite.com</param>
    </Island>
    
  58. La classe LSContentsCharter a été créée. Elle permet de générer un texte standard d'aide et de charte d'accessibilité. Ce n'est pourtant qu'un tout début car les paragraphes devraient être tirés de textes (fichiers) standard et disponibles en plusieurs langues. Stay tuned.
  59. Quand un cache="..." est mis sur le <Land> directement (au lieu du cacheTTL dans les Settings), alors SSI le href="…" est positionné, on va cacher sur le site local la définition provenant du site distant.
  60. LSContentsCalendar accepte maintenant 5 paramètres supplémentaires. L'un indique si le calendrier doit faire appel à un cartouche : <param name="cartouche">true</param>.
    Cela peut donc afficher un calendrier dans une section avec bords ronds.

    Les autres indiquent le nom des paramètres à passer dans le query string :
    1. <param name="get-year">year</param>
    2. <param name="get-month">month</param>
    3. <param name="get-day">day</param>

    Le dernier indique quel est le répertoire racine du calendrier (là où il faut chercher des fichiers) : <param name="root">/news</param>.
  61. Deux nouveaux membres sont apparus dans LSPage :
    1. Cargo
    2. Cargo2
    Ces deux membres fonctionnent comme des cookies et sont extraits à chaque page (leur fonctionnement est très similaire à Theme et Language).
  62. La classe LSContentsLegal permet maintenant d'afficher un texte légal standardisé. Les différents paragraphes du texte légal peuvent être désactivés à la demande.
  63. Une toute nouvelle classe LSColor a été créée. Elle permet de créer des couleurs standards et de travailler la saturation et la luminosité.
    $oBackground = new LSColor( 'gold' );
    
    if ( isset( $_GET['color'] ) )
    {
        $oBackground->Set( $_GET['color'] );  /* Named colors */
    }
    
    $aColors = array();
    $aRGB    = array( 'r' => $oBackground->r,
                      'g' => $oBackground->g,
                      'b' => $oBackground->b );
    
    $iRed    = $aRGB['r'];
    $iGreen  = $aRGB['g'];
    $iBlue   = $aRGB['b'];
    
    $aHSL = COLOR_rgb2hsl( $iRed,$iGreen,$iBlue );
    
    /* Exactly 5 times */
    for( $i = 0.1;$i < 1;$i += 0.2 )
    {
        $aHSL['l']  = $i;
        $aHSL2      = COLOR_rgb2hsl( $iRed,$iGreen,$iBlue );
        $aHSL2['l'] = 1 - $i;
        $aRGB       = COLOR_hsl2rgb( $aHSL );
        array_push( $aColors,new LSColor( $aRGB ) );
    }
    
    $oBorder = new LSColor( $oBackground );
    $oBorder->SetLuminosity( 0.85 );
    
  64. À titre d'essai, l'ensemble des tags XHTML a été implémenté dans le fichier LSXHtml.class.php (par exemple LSXHtmlImg).
    $oH = new LSXHtmlH( 2,"Téléchargements disponibles" );
    echo $oH;
    
    $oH->Demote();  /* <h2> -> <h3> */
    $oH->SetContents( "Dernière version" );
    echo $oH;
    
  65. Une attention particulière a été apportée au tag <img> (LSXHtmlImg).
    $oImg = new LSXHtmlImg( "/images/WebLogo.jpg" );
    echo $oImg;
    
    L'utilisation de ce tag est particulièrement utile pour afficher des images sans se préocupper de toute une série de détails qui sont désormais extraits automatiquement de l'image (hauteur, largeur, et infos IPTC).

    Remarquez néanmoins que le fonctionnement des classes LSXHtml* est fourni à titre d'"experiment".
  66. On peut maintenant appliquer un XSL sur les templates avant d'inclure le code PHP correspondant aux archipels et îles.
  67. On peut maintenant utiliser un template automatique basé sur un paradeigma. Un paradeigma est un template standard fourni par Vae Soli! Les paradeigma sont tous placés dans le répertoire "paradeigma" de Vae Soli!.
  68. LSLatin est une nouvelle classe qui permet de générer des textes latins automatiques. Voyez l'exemple suivant :
    <?php   $oLatin = new LSLatin();                 /* Latin object creation */
            $aPara  = $oLatin->Get( 5 );             /* 5 paragraphs at random */
            $oPara  = new LSXHtmlP( '' );            /* XHTML paragraph object */
    
            foreach ( $aPara as $szPara )            /* For each paragraph */
                echo $oPara->SetContents( $szPara ); /* Set content + print */
    ?>
    
    ou ... sans la classe LSXHtmlP:
    
    <?php   $oLatin = new LSLatin();
            $aPara  = $oLatin->Get( 5 );
    
            foreach ( $aPara as $szPara )
                echo "<p>{$szPara}</p>;
    ?>
    
    Les paragraphes proposés sont extraits de "De finibus bonorum et malorum" et SONT GÉNÉRÉS AU HASARD.

    La liste des textes latins est stockée dans le répertoire "\vaesoli\latin\".
  69. Les variables du géorama sont maintenant résolues lorsqu'une île est mentionnée en format xhtml (xhtml="yes").
  70. IMG_RedChannel(): nouvelle fonction qui modifie une image en ne retenant que son canal rouge.
  71. IMG_GreenChannel(): nouvelle fonction qui modifie une image en ne retenant que son canal vert.
  72. IMG_BlueChannel(): nouvelle fonction qui modifie une image en ne retenant que son canal bleu.
  73. IMG_Negate(): nouvelle fonction qui inverse les couleurs d'une image.
  74. IMG_GrayScale(): nouvelle fonction qui transforme une image en niveaux de gris.
  75. IMG_Brightness(): nouvelle fonction qui modifie la luminosité d'une image. ENCORE AVEC UN LÉGER PROBLÈME DE SATURATION.
  76. IMG_Saturation(): nouvelle fonction qui modifie la luminosité d'une image.
  77. IMG_Hue(): nouvelle fonction qui modifie la teinte d'une image.
  78. IMG_GrayScale(): nouvelle fonction qui transforme une image en niveaux de gris.
  79. IMG_Fog(): nouvelle fonction qui ajoute un effet de brouillard sur une image. Ne fonctionne qu'avec les fichiers PNG.
  80. IMG_SaveAs(): nouvelle fonction qui sauve un fichier image d'un format dans un autre. Seuls les trois formats suivants sont gérés :
    • gif
    • png
    • jpg
  81. IMG_Resize(): nouvelle fonction qui redimensionne une image suivant un degré de réduction donné.
  82. Depuis la version 1.1.0500, Vae Soli! charge beaucoup moins de fichiers du framework: la plupart des fichiers ne sont chargés que s'ils sont nécessaires.
  83. La classe LSPage est maintenant MOINS gourmande et sa taille est revenue à des proportions plus modestes quoique encore importantes.
  84. Le message de service {pageinfo} a été éliminé. Il est remplacé par deux nouvelles classes: LSPageInfo et LSContentsPageInfo qui fournissent les mêmes fonctionnalités mais sous la forme d'îles.
  85. Un bug a été corrigé dans la classe LSPageInfo. Ladite classe n'est néanmoins pas encore finalisée (son utilisation n'est, à ce stade, pas recommandée sauf pour test-beta).
  86. Une classe LSImage a été créé. Cette classe permet de créer des images dynamiquement. Vous pouvez par exemple :
    1. créer une image vierge
    2. lui assigner une couleur de fond
    3. lui adjoindre un bord dans une couleur et une épaisseur données
    4. y dessiner des rectangles
    5. y dessiner des ellipses et des cercles
    6. y dessiner des polygones
    7. y tracer des lignes
    8. y mêler des images (par exemple, créer une image de fond) en différents niveaux de transparence
    9. de sauver l'image ainsi créée
  87. Les méthodes CacheIt() et UseCache() de LSPage ont disparu. Elles sontremplacées par une classe générique (LSCache) et les méthodes Write(), Read(). Le cache doit encore être amélioré pour être utilisé sur un archipel, et une île.
  88. La classe LSIsland accepte désormais un paramètre supplémentaire pour la construction de l'île : with-div. Cela permet d'insérer des îles de contenu qui ne seront pas entourées d'une division similaire à <div class="LS_VAESOLI_CONTENTS_ISLAND" id="…">. C'est particulièrement utile dans le cas d'îles qui doivent être insérées à des endroits qui ne permettent pas l'inclusion de division, comme dans la section <head>…</head> du XHTML par exemple.
  89. Un petit bug a été résolu dans la classe LSContentsCharter. Ce bug, bien que mineur, était gênant car il ne permettait pas la validation du code (The W3C Markup Validation Service).
  90. Une classe LSSourceFile a fait son apparition. Elle permet de visualiser un fichier source avec des numéros de ligne (paramètre).
  91. La classe LSContentsSourceFile utilise la classe LSSourceFile pour insérer des îles de type 'fichier source'.
  92. LSContentsCartouche : nouvelle classe permettant d'afficher une île entourée de bords ronds (rounded corners). Les CSS doivent cependant être créés indépendemment comme dans l'exemple suivant :
    div.Rounded                 {   margin      :   0 5px;
                                    background  :   #222;
                                    padding     :   0;
                                }
    
    div.Rounded div.InnerRounded
                                {   margin      :   0;
                                    padding     :   8px;
                                }
    
    b.rtop, b.rbottom           {   display     :   block;
                                    background  :   rgb(13,12,6);
                                }
    
    b.rtop b, b.rbottom b       {   display     :   block;
                                    height      :   1px;
                                    overflow    :   hidden; 
                                    background  :   #222;
                                }
    
    b.r1                        {   margin      :   0 5px;
                                }
    
    b.r2                        {   margin      :   0 3px;
                                }
    
    b.r3                        {   margin      :   0 2px;
                                }
    
    b.rtop b.r4, b.rbottom b.r4 {   margin      :   0 1px;
                                    height      :   2px;
                                }        
    
  93. La clause onfail d'une page (<Land>…</Land>) peut maintenant gérer un mailto: comme dans l'exmple suivant :
    <!-- La condition n'est évidemment JAMAIS satisfaite -->
    <Land id="/index.php" 
       condition=".php= return false;"
       onfail="mailto:prenom.nom@domaine">
        …
    </Land>
    
  94. L'incorporation de commentaires à la phpDocumentor a permis de créer une documentation "développeur". Une amélioration sensible a été apportée à la qualité des exemples fournis.
  95. Une classe LSContentsBlogArchive a été créée pour lister la liste des archives d'un blog. La classe ne fonctionne pas encore correctement.
  96. Désormais, tous les paramètres par défaut de toutes les pages, ainsi que les paramètres spécifiques d'une page, ont été préfixés avec les lettres "LS". Ceci permet de les distinguer des paramètres qui auraient pu être ajoutés par le créateur d'un site. Par exemple, le paramètre TracingOutput est renommé LSTracingOutput.
  97. Désormais, l'activation de Vae Soli! se fait en 3 lignes de code seulement :
    <?php
            /* Indiquer qu'on a besoin des classes de base de Vae Soli! */
            require_once( $_SERVER['DOCUMENT_ROOT'] . '/vaesoli/include/LSVfc.class.php');
    
            /* Créer une classe Application et lui dire
                  1) où est la racine du site
                  2) où est le géorama */
            $oApp = new LSProgram( $_SERVER['DOCUMENT_ROOT'],
                                   $_SERVER['DOCUMENT_ROOT'] . '/georama/georama.xml'
                                 );
    
            /* Faire tourner l'application */
            $oApp->Run();
    ?>
    
  98. Les classes LSApplication , LSGeorama et LSPage ont été considérablement revues du point de vue des traces qui étaient générées. Désormais, elles font appel à un objet LSTracer qui offre des services génériques de traces.
  99. Les traces de la page (LSPage), si elles ne sont pas préparées, sont héritées des traces de l'objet LSApplication.
  100. La fonction GenerateDocType() n'existe plus. Elle est remplacée par une méthode du même nom dans la classe LSPage.

Ce qui va changer avec la version 2.0.0000

Avec la version 2.0.0000, les changements dans Vae Soli! sont considérables et il n'y aura pas de compatibilité ascendante assurée. Néanmoins, la possibilité d'utiliser du XSL sur le géorama et le template permet de minimiser les influences.

  1. Il n'y aura plus de compatibilité avec les versions antérieures du géorama. Cela permet à Vae Soli! de ne plus exécuter de multiples queries sur le XML du géorama et, partant, d'améliorer la vitesse de rendu des pages. Vous pourrez néanmoins exécuter un XSL sur le géorama pour transformer celui-ci aisément et le rendre compatible avec la nouvelle version (voir plus loin).
  2. L'ensemble du framework a été réduit à ses fonctionnalités de base. Cela veut donc dire que toute une série de fonctions et classes hétéroclites ont été éliminées. Elles seront, pour la plupart, réintégrées plus tard lorsque leurs fonctionnalités proposées auront été programmées.
  3. Désormais, il sera possible de mentionner une date de dernière mise à jour d'une page. C'est dans le géorama que cette indication doit être faire. Soit elle se trouvera en « dur » (e.g. '200901081505'), soit vous lui assignez la valeur 'auto'. Dans ce dernier cas, la date de dernière mise à jour correspond à l'île la plus ancienne de la page. Voici un exemple de cette utilisation :
    <Land id="/index.php" active="yes" editable="yes" group="main" ¶
    creationdate="20081103" lupdate="auto" href="%geo-path%/index.xml">
        <Sitemap priority="0.8" frequency="weekly" />
    </Land>
    
  4. La section du géorama dans laquelle les variables « géorama » sont stockées est désormais délimitée par les tags <Vars>…</Vars> (en lieu et place des tags <Variables>…</Variables>). Chaque variable est maintenant insérée dans les tags <Var name="…">…</Var>. Ces changements ont été dictés par notre souci de diminuer le plus possible la taille du géorama.
  5. Afin de faire en sorte qu'un ancien géorama puisse être aisément transformé en un nouveau géorama, il est maintenant possible d'appliquer un XSL sur le géorama. Ainsi, si votre fichier géorama s'appelle par exemple 'macarte.xml', Vae Soli! cherchera un fichier 'macarte.xsl' et s'il le trouve, il l'applique sur le géorama. Cela vous permet ainsi de disposer des nouvelles fonctionnalités de Vae Soli! avec un minimum de modifications sur les sites antérieurs construits avec les précédentes versions de Vae Soli!.
  6. Les variables du géorama peuvent maintenant avoir des valeurs qui sont résolues différemment en fonction du domaine sur lequel on travaille. Si plusieurs noms de domaines pointent vers le même site (e.g. www.vaesoli.org, www.vaesoli.net, www.vaesoli.com), il ainsi possible d'assigner des valeurs différentes aux variables. Voyez l'exemple suivant :
    <Georama>
      <Vars>
        <Var name="path" landscape="www.vaesoli.org;www.vaesoli.net">/org</Var>
        <Var name="path" landscape="www.vaesoli.com">/com</Var>
      </Vars>
      …
    </Georama>
    
  7. Vous pouvez appliquer un XSL sur le template de vos pages. Ainsi, si votre fichier template s'appelle par exemple 'template.xhtml', Vae Soli! cherchera un fichier 'template.xsl' au même endroit et, s'il le trouve, il l'applique sur votre template (attention, celui-ci doit être construit comme du XML parfaitement valide). Cela vous permet ainsi de disposer des nouvelles fonctionnalités de Vae Soli! avec un minimum de modifications sur les sites antérieurs construits avec les précédentes versions de Vae Soli!.
  8. Aucun cache n'est plus actif. Nous avons en effet débrayé les caches sur les pages, les archipels et les îles parce que nous n'étions plus satisfaits de la manière dont les caches fonctionnaient. Nous réintroduirons le système de cache via une classe spécialisée dont le nom prévu sera LSCache.
  9. Il n'y a plus de vérificaton Spamhaus en activité. Là encore, nous réintroduirons cette fonctionnalité via une classe spécialisée plus tard.
  10. Il n'y a plus de système de vérification de l'adresse IP. À réintroduire plus tard.
  11. L'attribut 'sameas' sur une page (<Land>…</Land>) n'est plus supporté.
  12. Désormais, 5 propriétés/variables prédéfinies sont extraites au chargement d'une page :
    1. theme -> szTheme
    2. lang -> szLanguage
    3. cargo -> szCargo
    4. cargo2 -> szCargo2
    5. cargo3 -> szCargo3
Nouvelle version beta pour HTML5:
Vae Soli! 5.0.0001, version beta, est disponible sur la page des downloads.