Publié par: Olivier le 24-09-2008
J’ai découvert aujourd’hui la version 0.5.19 de plex Ce petit soft absolument génial transforme votre mac en plateforme multimédia capable de lire photos, musiques, séries TV, films, etc …
Si j’ai bien tout suivi, il s’agit d’un fork de XBMC qui suit les développements, et y intègre le skin MediaStream et optimise le tout pour la plateforme Apple en ajoutant par exemple le support de la télécommande. La fameuse télécommande Harmony de Logitech est elle aussi utilisable, en faisant un petit tour sur le wiki de plex.
Le soft permet de lire par exemple les MKV que je produits à partir de ma collection DVD. Du bonheur.
Publié par: Olivier le 22-09-2008
Et voilà, l’ancien design avait fait son temps. En voici un nouveau plus assorti à l’ambiance actuelle et surtout plus dans mes goûts personnels.
D’ailleurs, il semble que ce soit la saison des changements au Luxembourg, je vous invite à aller visiter les sites suivants qui viennent d’être réactualisés:
- l’agence Dotcom à Luxembourg
- l’agence Nvision à Leudelange (mon premier job au Luxembourg, déjà 5 ans…)
Publié par: Olivier le 17-09-2008
Ludo va me tuer, mais c’est pas grave
Moi j’aime pas les frameworks !
Pourquoi ? Voici un exemple avec ZendFramework trouvé ici :
Paul M. Jones spotted something interesting a couple of weeks ago: “The difference between the 1.0 release and the 1.5 release of the Zend Framework is quite dramatic: a 25% drop in responsiveness. And then another 10% drop between 1.5 and 1.6″. According to Paul, the Zend Framework lost 35% of their requests per second between 1.0 and 1.6 releases. This means that a Web server will serve 65 instead of 100 requests per second.
L’avantage des frameworks est cependant non négligeable : gagner du temps sur certains développements ou obliger plusieurs collaborateurs à utiliser une base et des conventions communes.
Cependant, j’estime qu’un framework, c’est comme un Mac: c’est très très bien, mais ça ne sert pas à tout le monde.
Pour ma part, pour les projets que je gère (qu’ils soient personnels ou pour mes clients), je ne pense pas qu’utiliser une framework soit essentiel. J’y vois les freins suivants:
- temps d’apprentissage pour exploiter pleinement toutes les possibilités de l’outil
- possibilités de l’outil justement souvent inexploitées (vous sortez souvent un bazooka pour tuer une mouche vous ??)
- sécurité et performances pas toujours au rendez-vous, de plus, les failles de sécurité étant publiques avec des outils open-source, cela oblige à faire des mises à jours (plus ou moins fréquentes) et donc vendre un contrat de support que les clients ne veulent pas toujours …
Bref, pour moi, beaucoup de désavantages qui ne suffisent pas à compenser les avantages.
Je reverrai ma position quand j’aurai le temps de vraiment essayer ce genre d’outil…
Publié par: Olivier le 16-09-2008
Suite à mon message précédent concernant l’optimisation des tables mysql, j’ai mis en place une exécution automatique de ce script sur tous les serveurs d’hébergement Oxyweb au milieu de la nuit.
Publié par: Olivier le 16-09-2008
Hop hop, j’inaugure aujourd’hui une série de photos que j’ai intelligemment et opportunément intitulée “Le bureau du jour”. Mais en quoi cela consiste me direz-vous ? Et bien comme son nom l’indique (et c’est là que c’est très fort, vous allez voir) je vais y poster des photos de mon bureau !!
Extraordinaire idée ayant germée dans mon brillant cerveau fécond car il est vrai que je change souvent d’emplacement mes différents outils de travail.
Voici la première photo de la série:
On y trouve:
- une chaise de compétition dont le confort égale son prix
- un titeuf râleur offert par ma mère (serait-ce un message caché ??)
- mon GSM
- un MacBook posé sur un griffin elevator
- les deux écrans de mon G5
- ma tasse de café du jour
- la jarretière de la femme à Yohan
- mes notes
- ma souris
- le bordel habituel: stylo, télécommande frontrow, postit, barrette de Ram morte, thermomètre, …
Publié par: Olivier le 16-09-2008
J’ai migré mon serveur de backup interne dans un boîtier 4U Antec Take 4. Ce produit a l’avantage d’être carrément silencieux, il dispose de 2 gros ventilateurs à l’arrière, que l’on peut régler sur Low/Medium/High
L’alimentation dispose de son propre circuit de refroidissement, l’air étant aspiré à l’avant du boitier dans un canal dédié. Son ventilateur ne se déclenche que lorsque la température de l’alimentation le nécessite, ce qui reste rare et silencieux dans mon cas.
La machine se trouve dans une baie non ventilée, et se porte très bien en dessous de sa petite soeur, mon fileserver.
Petits inconvénients toutefois:
- les connecteurs de l’alimentation pour la carte mère sont un peu courts dans certains cas
- la baie des 4 disques durs n’est pas ventilée
- pas de ventilateur en facade
J’ai farci cette machine de 4 disques Sata2 de 500G en raid5 sur une carte 3Ware 8506-4LP, ce qui me fait un disque virtuel utilisable de 1.5To avec de bons débits pour un simple serveur de backup.
Voici le résultat d’un hdparm sur cette machine:
zeus ~ # hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 1300 MB in 2.00 seconds = 649.42 MB/sec
Timing buffered disk reads: 310 MB in 3.02 seconds = 102.80 MB/sec
En comparaison avec un raid10 software de 4 disques Sata2 de 1To:
hercule ~ # hdparm -tT /dev/md2
/dev/md2:
Timing cached reads: 2426 MB in 2.00 seconds = 1213.14 MB/sec
Timing buffered disk reads: 500 MB in 3.00 seconds = 166.42 MB/sec
Publié par: Olivier le 16-09-2008
Et hop voilà un petit script bien pratique pour voir l’état de fractionnement des tables de votre serveur mysql:
#!/bin/bash
# -l 5 : parameter to launch OPTIMIZE query
while getopts ‘D:d:u:p:s:l:’ OPTION ; do
case $OPTION in
D) defaults_file=“–defaults-file=$OPTARG”;;
d) DB=$OPTARG;;
u) user=“-u $OPTARG”;;
p) pwd=“-p$OPTARG”;;
s) socket=“–socket=$OPTARG”;;
l) level=“$OPTARG”
esac
done
mysql=“mysql $defaults_file $user $pwd $socket”
if [ -z “$DB” ]
then
DB=`$mysql -N -e “show databases”`
fi
if [ -z “$level” ]
then
level=“101″
fi
for db in $DB
do
for table in `$mysql -N $db -e “show tables”`
do
ENGINE=$($mysql $db -e “show table status like ‘$table’\G“ | awk ‘/Engine/ {print $2}’)
if [ “$ENGINE” == “MyISAM” ]
then
SIZE=$($mysql $db -e “show table status like ‘$table’\G“ | awk ‘/Data_length/ {print $2}’)
FREE=$($mysql $db -e “show table status like ‘$table’\G“ | awk ‘/Data_free/ {print $2}’)
ROWS=$($mysql $db -e “show table status like ‘$table’\G“ | awk ‘/Rows/ {print $2}’)
if [ $FREE -gt 0 ] && [ $SIZE -gt 0 ]
then
FRAGMENTATION=$(printf ‘%i’ $(echo “scale=0; $FREE/($SIZE/100)”|bc))
echo “$FRAGMENTATION% $db.$table [Data_length=$SIZE Data_free=$FREE]“
if [ $FRAGMENTATION -ge $level ]
then
echo “OPTIMIZE REQUESTED”
$mysql $db -e “use ‘$db’;OPTIMIZE TABLE $table\G“
fi
fi
fi
done
done
Le script a besoin d’informations de connexion à la base mysql, soit en ligne de commande, soit via un fichier .my.cnf
Il peut analyser une database particulière ou toutes celles du système si aucune n’est fournie en paramètre.
Il peut déclencher l’exécution de la commande OPTIMIZE TABLE si le taux de fragmentation de la table dépasse le seuil founi dans le paramètre -l
Par exemple: ./optimize_tables -u root -pxxxxxxx ou ./optimize_tables -l 10
PS: ce script ne fonctionne qu’avec des tables au format MyISAM, la fonction OPTIMIZE ne fonctionnant pas pour de l’InnoDB
Publié par: Olivier le 15-09-2008
J’ai passé pas mal de temps aujourd’hui pour trouver une solution à ce problème pourtant fort simple:
Exporter dans un CSV des données venant d’une base Mysql en UTF8 (avec des accents un peu partout) avec un script lui même encodé en UTF8.
Et bien vous pouvez me croire et demander confirmation à Ludo, c’est pas si simple, à tel point que la solution est perdue dans un message du site www.php.net sur la page de l’extension mbstring: utiliser le charset UTF-16LE
Pour faire court, voici un exemple de code PHP qui fonctionne:
Publié par: Olivier le 12-09-2008
Publié par: Olivier le 11-09-2008
Prenons un exemple concret: www.troconet.net mon premier site en php/mysql commencé en 2000 (c’est dire si ca date, à l’époque on codait en PHP 3 et mysql 3 sous apache1 et le site était hébergé sur un PII 400Mhz sous un lit en AOL RTC illimité…)
Voici un graphique de l’évolution du trafic en visiteurs et en pages vues ainsi que des revenus en centimes d’euros (autrement dit pour avoir des euros, il faut diviser par 100, facile).

Pour information, les revenus sont uniquement générés par des bannières présentes sur le site à différents endroits, le site étant gratuit à l’usage pour les internautes.
Sans grande surprise, les revenus suivent l’évolution de la fréquentation, c’est donc le premier facteur important.
Entre 2004 et 2005, les placements des bannières ont été optimisées, on en retrouve par exemple sur chaque fiche d’annonce sous une section “Utile” (voir cette fiche par exemple) ou encore sur la page de validation d’ajout d’une annonce dans l’espace membre. Ces simples optimisations ont permis de faire passer la “valorisation” d’un visiteur de 0,34 ct d’euro à 3,4 ct d’euro, avec un revenu annuel de plus de 22 000€. Le placement et la contenance des bannières est donc le deuxième facteur pour générer des revenus sur un site.
En 2006, j’ai lancé ma société, je n’ai plus eu de temps à consacrer au site, la fréquentation et les revenus ont logiquement dégringolé. Les 650 000 visiteurs de 2005 ne représentaient donc pas la masse critique nécessaire à ce genre de site pour s’auto-renouveler. Couplé à un manque d’innovation et de nouveauté, les internautes se sont détournés du site. Voilà le troisième facteur, s’occuper quotidiennement de son site.
Je pense qu’il est encore possible de générer des revenus conséquents avec des sites ayant une bonne valeur ajoutée par rapport à leurs concurrents, bien que les modèles de rémunérations basés exclusivement sur le bannering ne soient plus la panacée.
A quand la prochaine version de www.troconet.net ?
Commentaires récents