Articles

Articles

Happy new year

Avec beaucoup de retard, Je vous souhaite une bonne et heureuse année 2010.
Santé et prosperité dans chacune de vos actions.

Au menu de cette nouvelle année

- Le point de mes résolutions 2009
- Linux, Redhat/Centos, Fedora
- Php, framework symphony
- Virtualisation OpenVZ, KVM
- Programmation orienté objet Java

Et pleins d'autres surprises...

BRVM, BOC et PHP

Intéressé par la bourse, je consulte souvent le site de la BRVM.

La Bourse régionale des valeurs Mobilières (BRVM) est une bourse électronique unique pour 8 pays de l'Afrique de l'Ouest. Elle a son siège à Abidjan - Côte d'Ivoire et a démarré ses activités le 16 Septembre 1998.

Pour chaque jour de cotation, la BRVM diffuse sur son site web le Bulletin Officiel de la Côte, communément appelé BOC. Mais voilà impossible d'accéder aux archives du BOC sans débourser
une grosse somme (l'abonnement aux Historiques et Statistiques Boursières est d'un million de CFA minimum par an !)

J'ai donc développé une petite application web pour récupérer les PDF du BOC sur http://mathias.houngbo.net/bourse/?C=M;O=A , l'application a été développer en PHP
avec une librairie HttpClient

<?php
/////////////////////////////////////////////////////////////////////////////////////////
//  Auteur : Mathias HOUNGBO mathias at houngbo dot net
// GPL Licence
///////////////////////////////////////////////////////////////////////////////////////////
include('HttpClient.class.php');
$client = new HttpClient('www.brvm.org');

$client->setUserAgent('Mozilla/5.0 (Windows; U; Windows NT 6.1; fr-FR; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)');

if (!
$client->get('/Default.aspx?language=fr-FR')) {
    die(
'An error occurred: '.$client->getError());
}

$pageContents $client->getContent();
$regexp "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>Bulletin du (.*)<\/a>";

if(
preg_match_all("/$regexp/siU"$pageContents$matches)) {

   if (!
$client->get(urldecode($matches[2][0]))) {
    die(
'An error occurred: '.$client->getError());
   }

   
$PDFContents $client->getContent();
   
$fp fopen($matches[3][0] . '.PDF''w');
   
fwrite($fp$PDFContents);
   
fclose($fp);
}

?>

Les archives BOC sont disponible à partir du 25 Septembre 2009. et j'ai suffisamment de place pour conservé 5 ans de BOC :).

Bon download à tous.

DropBox, alternative aux autres moyens de synchronisation

Dropbox - Secure backup, sync and sharing made easy.Entre mon fixe (un tri boot Windows 7, Fedora 10 et Mac OS X), mon portable et mon ordinateur du boulot, sans parler du N800 et de l'iPhone, ce n’est pas moins de 3 ordinateurs, une tablette internet et un mobile que je me dois de maintenir synchronisés pour des besoins divers et variés.

FTP, clé USB ces solutions pouvaient répondre à mon besoin de synchronisation.

Problème: le FTP nécessite une connexion internet et c’est plutot fastidieux à maintenir à jour; la clé USB, c’est bien joli, mais j'en ai perdu déjà 3.

Alors j’ai trouvé DropBox. Ce petit utilitaire gratuit (pour un espace de stockage de 2Go, davantage moyennant finance ou parrainage) installe un dossier DropBox où vous le souhaitez sur votre ordinateur. Vous pourrez y mettre ce que vous voulez dedans, une réplique sera automatiquement créée sur les serveurs DropBox.

Mais ça ne s’arrête pas là. En installant DropBox sur vos autres machines, votre dossier est accessible et synchronisé sur tous vos postes, automatiquement, dès que ces derniers détectent une connexion internet.

En plus de ca, l’interface en ligne est optimisée pour iPhone, juste au cas où.

Je vous propose de découvrir cet excellent service ici

Structure des tarifs sur les réseaux GSM au Bénin

Les tarifs indiqués sont ceux pratiqués, par minute de communication,
sur les différents réseaux des opérateurs GSM du Bénin.

NB : il est plus intéressant d'utiliser Glo pour appeler les autre réseaux !

Comment optimiser la connexion Internet avec un serveur cache DNS

Quand votre navigateur a besoin de contacter un site, quand d'autres applications ont besoin de contacter un serveur, ils doivent d'abord faire comme vous quand vous envoyez une lettre: ils consultent un annuaire avant d'y établir une connexion et effectuer les transactions nécessaires. Dans notre cas, l'annuaire dont ils est question est représenté par les serveurs DNS, en principe ceux fournis par votre Fournisseur d'Accès Internet.

Un cache DNS permet de s'affranchir des interrogations répétitives à destination de ces dits serveurs: votre machine Linux ou une autre machine sur le réseau gardant en mémoire l'adresse des sites, l'interrogation de l'annuaire peut schématiquement se faire à la vitesse de l'éclair et "il ne reste plus" qu'à passer aux choses sérieuses en contactant directement les serveurs destinataires.

Si la plupart des caches DNS gardent les informations en RAM, mémoire volatile, et les perdent chaque fois que la machine est éteinte, pdnsd les écrit sur le disque dur et peut vous les resservir après reboot: utile notamment pour les ordinateurs portables!

La bonne nouvelle est que son installation et sa configuration sont des plus faciles:

rpm -Uvh http://www.phys.uu.nl/%7Erombouts/pdnsd/releases/pdnsd-1.2.7-par_sl5.i386.rpm

ou
su -c "apt-get install pdnsd resolvconf"

Testez au moins deux fois par une commande de type

dig www.google.com

...à partir de la deuxième fois il y a des chances que vous ayez quelque chose du type:

;; Query time: 0 msec

Et çà se ressent à l'utilisation!

[1]:Get a faster browsing experience - using a local caching DNS
[2]:Speeding Up DNS Access In Regions With Very Low Infrastructure

Optimisez Firefox 3 avec une commande sqlite

Firefox s'exécute plus vite si ses bases de données sont purgés des enregistrements vides.

dépendances : SQLite >=3.0
vous pouvez l'installer avec un
sudo apt-get install sqlite3
ou un
su -c "yum install sqlite3"

le script bash

#!/bin/bash
 
# Tuer firefox au cas où il ne serait pas fermé
killall firefox
 
# Lancer la commande "VACUUM" sur toutes les bases de données contenues dans le répertoire Firefox
for list in ~/.mozilla/firefox/*.default/*.sqlite; do
  echo "Nettoyage de" $(basename $list)
  sqlite3 $list "VACUUM"
  echo "Fait"
done
 
wait

- coller le script dans un fichier (vim fast-firefox.sh)
- render le executable (chmod +x fast-firefox.sh)
- executer le script ( ./fast-firefox.sh)

Voilà

9 bonnes résolutions pour l'année 2009

Bonne et Heureuse année 2009 a tous. Tout les bons "té" a chacun de vous et à vos familles.

Pour moi, en plus de la santé et de la prospérité ... j'ajouterai 9 résolutions que je tiens à respecter.

Nouveau Blog, Nouveau CMS

Mon blog Made in Bénin fait peau neuve; Il passe de Wordpress à Drupal

Syndiquer le contenu