DigitalSpirit / Blog

Installation de Hyla 0.8.2

Axlcorp à mis en ligne un petit tutorial sur l'installation de Hyla 0.8.2 réalisé avec Wink, vous pourrez y voir des captures d'écran du processus d'installation.

Ça se passe par ici, chez Axlcorp !

Ouvrir l'article

É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.

Ouvrir l'article

Log Watcher

Introduction

Surveiller des logs dans une console est quelque chose de laborieux et toute solution permettant de simplifier cette tâche ingrate est bonne...

Et c'est justement là qu'intervient Log Watcher, une application qui va vous améliorer grandement la vie lorsque vous aurez besoin de surveiller d'ininterrompu log...

Description

Traduction libre du manuel lwatch :

Log Watcher est un "log colorizer", c'est à dire un programme capable de mettre en couleur des logs en fonction d'une syntaxe, en l'occurrence, en fonction de mots rencontrés.
Il lit le contenu de syslog/syslog-ng depuis des tubes nommées (named fifo) ou depuis l'entrée standard (stdin) et affiche les données colorées dans la sortie standard (stdout).

Lwatch est hautement configurable. Il lit sa configuration depuis /etc/lwatch/lwatch.cond ou depuis un fichier grâce à l'option -C.

Son fonctionnement est simple. il lit une ligne depuis l'entrée courante (par défaut, /var/lib/lwatch/syslog.fifo), la divise en 4 parties : date, nom d'hôte, nom du service (avec le PID si disponible) et le message associé.
Chaque partie possède sa propre couleur qu'il est possible de définir grâce au fichier de configuration, les couleurs par défaut sont les mêmes que pour loco.

Mais lwatch n'est pas seulement un simple log colorizer, il est capable de colorer les logs de la manière qu'on le souhaite. Il est possible de choisir une nouvelle couleur pour chaque partie (date, nom d'hôte, service, message) en utilisant des expressions régulières.

Installation

L'installation est aisée avec Ubuntu, en effet, elle se résume simplement à saisir ceci dans un terminal :

sudo apt-get install lwatch

Et voilà lwatch installé sur votre machine.

Configuration

Il est possible de configurer l'affichage à l'aide du fichier /etc/lwatch/lwatch.conf dont la syntaxe est assez simple, voici un exemple de celle ci :

[...]
/reject\\w*/    highlight=red
/accept\\w*/    highlight=green
/success\\w*/   highlight=green
/sent/        highlight=green
/lost/        highlight=red   
/deferred/    highlight=brown
[...]

Que veut dire ce charabia ?
En fait, ce sont des règles de configuration constituées par une expression régulière et une actions ou modificateurs associés.

Nous allons voir les différents termes que l'on rencontre dans le fichier de configuration.

Options générales

Les options suivantes vous permettent de définir le comportement par défaut de Log Watcher :

  • date_color : Couleur par défaut de la date
  • host_color : Couleur par défaut du nom d'hôte
  • serv_color : Couleur par défaut du nom du serveur
  • mesg_color : Couleur par défaut du message
  • input_file : Fichier du flux
  • output_file : Fichier de sortie (par défaut, c'est la sortie standard stdout)
  • show_unparsed : Permet d'afficher les lignes qui ne répondent pas au bon formatage (date, nom d'hôte, service, message)

Les couleurs

Voici la liste des couleurs qu'il est possible d'utiliser :

blackred green brown blue magenta cyan lightgray darkgray brightred brightgreen yellow brightblue purple brightcyan white

Expressions régulières

Afin de matcher (c'est à dire choisir, attraper, sélectionner, la traduction n'est pas facile... :) ) les bonnes lignes avant de leur appliquer une action, Log Watcher utilise des expressions régulières, voici le principe :

/expression/ action
Simple ! non ?

Voici un autre exemple avec plusieurs actions :

/espression/ {
    action1
    action2
    ...
    actionN
}

Actions et modificateurs

Les actions vont vous permettre de mettre en couleur les éléments sélectionnés par l'expression régulière.

Voici les actions disponibles :

  • date_color : Couleur par défaut de la date
  • host_color : Couleur par défaut du nom d'hôte
  • serv_color : Couleur par défaut du nom du serveur
  • mesg_color : Couleur par défaut du message
  • exit : Ne pas exécuter les autres expressions
  • highlight : Mettre en surbrillance
  • ignore : Ignorer et ne pas exécuter les autres expressions
  • match_host : Exécuter l'expression régulière sur le nom d'hôte au lieu du message
  • match_service : Exécuter l'expression régulière sur le service au lieu du message

Voilà, on en sait assez maintenant pour lancer Log Watcher !

Utilisation

Pour surveiller simplement le syslog de votre machine, cette commande suffit :

tail -f /var/log/syslog | /usr/bin/lwatch -i-

Le fichier de log /var/log/syslog apparaîtra désormais d'une manière coloré en fonction de la présence ou non de termes sur chaque lignes.

Pour éviter d'avoir à saisir cette longue commande, vous pouvez créer un alias de cette manière :

alias systail="tail -f /var/log/syslog | /usr/bin/lwatch -i-"

Ainsi, vous n'aurez plus qu'à saisir systail pour voir les logs défilés...en couleurs (n'oubliez pas de mettre cette alias dans votre script de lancement, .bashrc par exemple).

Voici une vue globale de la fenêtre de log maintenant en couleur :

Vue d'un terminal mis en couleur avec Log Watcher !

Conclusion

Vous voilà prêt à surveiller d'interminable log, si quelques interrogations subsistaient, posez vos questions en commentaires, consultez le site officiel de développement de Log Watcher et n'oubliez pas le man (man lwatch et man lwatch.conf) !

Ouvrir l'article

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.

Ouvrir l'article

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.

Ouvrir l'article

« Page 2 / 4 »