www.DigitalSpirit.org

Politique d'accessiblité | Aller au contenu | Aller au menu | Aller à la recherche

Hyla Tpl 0.7.0 et nouveau site

Cela va bientôt faire un mois que Hyla Tpl est sorti en version 0.7.0 avec un tout nouveau site qui lui ai dédié : http://tpl.hyla-project.org/.

Sur le site, vous trouverez tout ce dont vous avez besoin de savoir sur Hyla Tpl et ces développement :

Capture d'écran du site tpl.hyla-project.org

Comparatif des performances Hyla Tpl contre le moteur de gabarit de la PhpLib :
Comparatif performance Hyla Tpl / Phplib

Concernant les nouveautés de cette nouvelle version de Hyla Tpl sort en version 0.7.0, les voici :

Ça se passe par ici : http://tpl.hyla-project.org/

Extension Openplanet pour Dotclear

L'extension Openplanet pour Dotclear permet de créer un planet sur votre blog, un regroupement de blogs par le biais des fils de syndication (rss, atom...).

Logo rss

J'ai eu à l'installer pour le site http://planet.madeinfr.org/ mais quelques problèmes rencontrés m'ont obligé à le modifier quelque peu.

Je publie donc la version modifiée et le patch basé sur la version 1.2 bêta 2.

Voici la liste des corrections / ajouts :

  • On ne modifie pas le status d'un billet que l'on met à jour, ainsi, si il est marqué hors ligne, il le reste...
  • Pas d'insertion si le contenu est vide ou sans titre
  • Autorisation dans SimplePie (la librairie de gestion de flux de syndication) des balises Object, Param et Embed afin de permettre les vidéos au format Flash (Oui, c'est mal)
  • On ne modifie pas la categorie d'un billet dont on fait la mise à jour
  • Résolution de problemes avec les tags importés comportant des accents

Les sources sont en pièce jointe à ce billet.

Hyla_Tpl : Un nouveau moteur de template / gabarit / modèle léger et rapide

Pour les besoins de la nouvelle version du gestionnaire de fichiers en ligne Hyla (http://www.hyla-project.org/) qui utilisait jusqu'à lors le moteur de gabarits de la PhpLib, un nouveau moteur bien plus performant à été réécrit respectant la logique des templates de ce dernier.

Il améliore les performances en terme de vitesse d'un facteur 10 et ajoute un certain nombre de fonctionnalités très pratiques :

  1. Tableaux et objets dans les variables : {$user.name}
  2. Les fonctions appliquées aux variables : {$user.name|upper}
  3. Les fonctions simples : {!include:test.tpl}
  4. La traduction : {_Hello World !}
  5. Les commentaires : {# Petit commentaire}
  6. Les blocs ELSE associés aux habituels BEGIN / END

Ce moteur est disponible en mode autonome (standalone) totalement indépendant de Hyla.

Les habitués des templates de la Phplib y trouveront leurs comptes rapidement, les autres seront séduits par la facilité et la légereté de cette librairie.

Je vous invite à consulter le site pour plus de détails et des exemples d'utilisation sur le blog de développement de Hyla.

Manipulez des vidéos en Php avec ffmpeg-php

Le projet ffmpeg-php est, comme son l'indique, une interface Php au projet ffmpeg, une application conçue pour manipuler les flux audios et vidéos et basé sur libavcodec, ce qui lui permet de gérer un grand nombre de format de compression dont : MPEG-1, MPEG-2, MPEG-4 Part 2, H.264, WMV, MJPEG, Theora, FLAC, MP2, MP3, RealAudio 1.0, RealAudio 2.0, Vorbis, Windows Media Audio...
ffmpeg-php est notamment utilisé par Vimeo pour la création des vignettes lors du téléchargement des vidéos, c'est le gage d'une application stable et optimisée.

L'installation

L'installation est très simple puisque c'est une simple extension Php qu'il suffit de déclarer dans le php.ini...

Sous Gentoo, l'installation peut se résumer à cette ligne de commande :

 $ sudo emerge -v ffmpeg-php

Ensuite, il suffit d'éditer le fichier php.ini et de déclarer la nouvelle extension afin que Php la charge au démarrage :

extension=ffmpeg.so

Recharger la configuration de votre serveur web, et voilà, nous sommes prêt à jouer avec ffmpeg-php...

Lire la suite...

Vie de merde dans vos scripts Php ...simplement

Pour afficher aléatoirement les fortunes de Vie de merde en Php de la manière la plus simple qu'il soit, vous pouvez faire comme ci dessous...ou pas...

<?php

header('Content-type: text/html; charset=UTF-8');

$xml = simplexml_load_file('http://api.viedemerde.fr/1.2/view/random?key=readonly');

echo <<<EOD
<html>
<body>
<h1>{$xml->vdms->vdm->categorie}</h1>

<p>
<a href="http://www.viedemerde.fr/{$xml->vdms->vdm['id']}">#</a>
{$xml->vdms->vdm->texte}
</p>
</body>
</html>
EOD;

?>

Voilà, rien de bien sorcier, donc, pas d'explication, vous pouvez retourner à vos occupations, je vais en faire de même !

Comparatif des gestionnaires de fichiers en ligne

Je viens de publier sur le blog de Hyla un comparatif entre 10 applications de gestion de fichiers permettant à chacun de faire son propre choix.

Parmis les applications testées, on retrouve : eXtplorer, Hyla 0.8.2, Hyla 0.9.0dev, Kfm, PhpFileNavigator, PhpXplorer, Relay, SorgDownloader, WebInsta, WebShare

L'article en question.

Plugin pour Dotclear : RandomText

Voici un plugin très simple pour Dotclear qui va vous permettre d'ajouter des zones de texte aléatoire par le biais des widgets de présentation ou directement depuis vos thèmes.

Le principe de fonctionnement est simple, une fois installé, dans la page Widgets de présentation, ajoutez le plugin oû vous le souhaitez, ce dernier ira lire le fichier nommé random.txt situé dans votre dossier public.

Il est également possible d'intégrer une zone de texte directement dans vos modèles grâce à l'utilisation de la balise suivante :

{{tpl:randomtext}}

Voilà, c'est tout !

Écriture dans les fichiers Tomtom Ov2 et Garmin Asc

Pour faire suite au billet précédent concernant la lecture de fichiers au format Tomtom Ov2 et Garmin Asc, voici la même librairie avec en plus le support de l'écriture.

Voici un petit exemple du fonctionnement :

<?php
/* Ov2 and Asc reader / writer
hugo arobase digitalspirit dot org
c.rincheval, 2007
*/

require 'geo.class.php';

$content = array(0 => array(
'lon' => -3.22,
'lat' => 49.19,
'label' => 'poi 0'
),
1 => array(
'lon' => -5.45,
'lat' => 52.12,
'label' => 'poi 1'
)
);

$file = 'test.ov2';

$format = 'ov2'; // 'asc';

// Writing data to file !
geo::writeData($file, $format, $content);

// Read file
$data = geo::getData($file, $format);

print_r($data);

?>

L'exemple ci dessus se contente d'écrire dans un fichier (test.ov2) les 2 poi du tableau et ainsi la fonctione getData lit ce fichier et l'affiche.

Lecture de fichiers Tomtom Ov2 et Garmin Asc

Pour les besoins de Hyla 0.8.1 et, plus particulièrement, de son plugin Géo, j'ai créé une librairie d'accès aux fichiers Ov2 de Tomtom et Asc de Garmin, ces derniers contiennent des informations géographiques, et notamment, des POI.

Cette librairie vous permet d'extraire les données contenues dans les fichiers sus-cités sous forme de tableaux directement exploitables dans votre application.

Voici le contenu du fichier test fourni qui se contente de lire un fichier au format Ov2 et fait un "dump" du contenu du tableau renvoyé :

<?php
/*  Ov2 and Asc reader
    hugo arobase digitalspirit dot org
    c.rincheval, 2007
 */

require 'geo.class.php';

$data = geo::getData('FON_FR.ov2', 'ov2');

print_r($data);

?>

Comme vous le voyez, l'utilisation est très simple...

En annexe, une archive contenant la classe, un fichier de test et un fichier au format ov2.

Librairie Php simple pour l'Api Flickr

J'ai écrit une librairie pour accéder à l'API Flickr (pour ceux qui sorte du fin fond de la jungle et qui n'en ont jamais entendu parler, je vous laisse y jeter un oeil) qui vous permettra d'accéder à l'ensemble des fonctionnalités distantes qu'offre le service.

Certain me diront qu'ils en existent une multitude sur le net et ils auront raison, enfin, presque, car, aucune de celles que j'ai trouvée ne me convenaient, bien trop complexe pour certaines, plutôt sales pour d'autres, j'ai donc décidé d'écrire la mienne avec comme seules contraintes, faire quelque chose de simple et qui fonctionne...proprement.

L'archive contient un fichier test.php, en voici le contenu :

<?php

/* Minimalist class for accessing Flickr web services
hugo arobase digitalspirit dot org
c.rincheval, 2007
*/

require 'flickr.class.php';

define('FLICKR_KEY', 'YOUR_FLICKR_KEY');
define('FLICKR_SECRET', 'YOUR_FLICKR_SECRET');

$flk = new flickr(FLICKR_KEY, FLICKR_SECRET);

$args = array();
$rsp = $flk->request('flickr.photos.getRecent', $args);

if ($rsp['stat'] == 'ok') {
$url_img = 'http://farm%s.static.flickr.com/%s/%s_%s%s.jpg';
foreach ($rsp['photos']['photo'] as $photo) {
echo '<img src="'.sprintf($url_img, $photo['farm'], $photo['server'], $photo['id'], $photo['secret'], '_s').'" alt="" />';
}
}

?>

Cet exemple va chercher sur le site de Flickr les photos les plus récentes et les affichent directement sur la page.

Comme vous pouvez le voir, c'est relativement simple et vous pouvez, comme je l'ai fait, étendre ces fonctionnalités en dérivant de cette classe.

Vous trouverez ci-joint l'archive contenant les sources de la classe, le fichier d'exemple et le fichier de license GNU/GPL.