To content | To menu | To search

Thursday 7 June 2007

Deux choses

  1. Nantes / Poitiers en train c'est la galère ultime
  2. http://www.librarything.com/catalog...

Bon par contre, mon librarything est (très) loin d'être complet. J'ai fini tout a l'heure dans le train La Horde du Contrevent, et franchement, il vaut bien les 5 étoiles que je lui ai mis.

Thursday 31 May 2007

Google Gears

La dernière petite roxitude de google: Google Gears, une extension firefox qui embarque une base SQLite pour faciliter le développement d'applications offline.

on en parle , et puis aussi .

Tuesday 29 May 2007

Google Reader + Wii

Google Reader dispose d'une interface dédiée à la wii (sur laquelle on tombe automatiquement quand on s'y rend avec opera4wii) et optimisé pour la wiimote.

via

Zend Framework 1.0.0 RC1

Disponible sur le channel pear.

Voir aussi: le changelog

N.B.: je n'ai pas pu installer le package sur la machine qui héberge le channel via le channel, mais il semblerait que ce soit un cas isolé. Si vous rencontriez un problème (par exemple l'installeur PEAR qui vous dirait Nothing to upgrade) n'hésitez pas à me le signaler !

Tuesday 8 May 2007

Déménagement

Pour ceux que ma vie intéresse, je suis en ce moment en train de déménager dans un nouvel appartement pas loin de chez moi (en général ça fait marrer les gens quand on déménage a 200m de chez soi).

La migration des cartons est en bonne voie, et il ne me reste en gros plus que le minimum vital dans mon ancien studio, que je devrais quitter définitivement le 19 mai. Malheureusement, je m'y suis pris un peu tard pour mon abonnement internet, je vais donc devoir taxer du wifi au voisin (je sais, c'est une préoccupation purement geekeske). En attendant d'avoir du vrai internet, je pense que je rentabiliserai l'achat probable a venir d'Eledees sur Wii (et de mario strikers charged si ça prend vraiment du temps :/).

J'en profite pour signaler qu'un Starbuck a ouvert en bas de chez moi (quasiment), ô joie.

Monday 7 May 2007

Zend Framework 0.9.3

Dernière ligne droite avant les premières 1.0 RC, la beta 0.9.3 du Zend Framework est sortie, et son package est disponible sur le channel PEAR PHPMafia.

Monday 30 April 2007

Quand je serais grand...

...je veux faire comme lui.

Thursday 26 April 2007

Are you no the list ?

Sunday 15 April 2007

SVN: MKACTIVITY Could not parse response status line.

Un petit billet pour un problème qui ne bénéficie que d'une faible visibilité sur google. Si votre client SVN vous jette avec un message du genre:

svn: MKACTIVITY de '/pwnd/!svn/act/a4eec923-2c2e-0410-a786-c01cbd856e8f': Could not parse response status line. (http://svn.phpmafia.net)

Vérifiez que vous n'êtes pas derrière un proxy, ça peut venir de là.

cf: DevjaVu Forums

Thursday 12 April 2007

Éviter les appels de fonction en double en javascript

Dans un accès de désespoir vu l'activité débordante de ce blog en ce moment, je me lance et je vous propose cette petite librairie javascript qui va vous permettre d'éviter les appels de fonction en double:

var Defer = {
	config: {
		defaultTimeout: 1000
	},
	stack: {},
	schedule: function(id, fn, timeout) {
		if (typeof(timeout) == 'undefined') {
			timeout = Defer.config.defaultTimeout;
		}
		if (typeof(Defer.stack[id]) == 'undefined') {
			Defer.stack[id] = {defer: false, fn: fn, timeout: timeout };
			window.setTimeout('Defer.execute(\'' + id + '\')', timeout);
		} else {
			Defer.stack[id].defer = true;
		}
	},
	execute: function(id) {
		if (typeof(Defer.stack[id]) != 'undefined' && !Defer.stack[id].defer) {
			Defer.stack[id].fn();
			Defer.stack[id] = undefined;
		} else {
			Defer.stack[id].defer = false;
			window.setTimeout('Defer.execute(\'' + id + '\')', Defer.stack[id].timeout);
		}
	},
};

On peut l'utiliser ainsi par exemple (jquery requis):

$(document).ready(function() {
	$('#nickname').keyup(function() {
		Defer.schedule('chknickname', function() {
			$.get('/account/check_nickname.php', { nickname: $('#nickname').val() }, function(data) {
				data = eval(data);
				$('#nickname_availability').html(data ? 'Pseudo disponible' : 'Pseudo indisponible');
			});
		}, 2000);
	});
});

Concrétement, ce bout de code attache à un input un événement qui ne sera executé que s'il n'est pas répété avant une certaine période (2 secondes ici). C'est à dire qu'on évite de faire une requête xmlhttp à chaque keyup, on attend plutot que l'utilisateur arrête de taper un moment avant de balancer la sauce. A noter que de par la méthode utiliser, l'espace de nommage d'execution de la fonction change (par exemple ici, on ne peut pas utiliser this pour accéder a l'input).

Voila voila.

Débuter avec le Zend Framework

Pour info.

Je suis un peu triste parce que je voulais m'atteler à cette tâche, mais bon il faut croire que j'ai trop lambiné :)

Monday 2 April 2007

Coucher de soleil

Coucher de soleil a pornichet (miniature)

Tuesday 27 March 2007

2007 raisons de voter, ou pas.

Je profite du méga pagerank de mon blog et des stats de folies pour faire du buzz comme un grand: 2007 raisons de voter.

Saturday 24 March 2007

Zend Framework 0.9.1

Le ZF est sorti en version 0.9.1 et est dispo sur le channel pear.

Voir aussi:

Sunday 18 March 2007

Zend Framework 0.9.0

La version 0.9 du ZF est disponible sur le channel PEAR phpmafia:

pear upgrade phpmafia/Zend-0.9.0

ATTENTION, cette version change pas mal de choses au niveau de la classe Zend: vos applis risquent de ne plus fonctionner suite à la mise à jour.

Voir aussi: L'annonce sur la mailing list Zend Announce

Friday 2 March 2007

Mini Howto: Serveur et Packages PEAR

Pour installer le serveur PEAR, c'est simple:

pear channel-discover pear.chiaraquartet.net
pear install chiara/Chiara_PEAR_Server
pear run-scripts Chiara_PEAR_Server

Ensuite on répond aux question, et c'est automagique.

Après, pour créer des packages, ça se corse. Tout d'abord, on a besoin de PEAR_PackageFileManager:

pear install PEAR_PackageFileManager

Ensuite, le but est de générer les package.xml qui vont bien. Voilà comment j'ai procédé pour le package Zend:

mkdir -p ~/pear/zend/src && cd ~/pear/zend
wget http://framework.zend.com/download/tgz -O - | tar xzC ~
mv ~/ZendFramework-0.8.0/library/Zend* src/
php ./mkpkg.php make
cd src && pear package

Ceux qui ont bien suivi auront noté que mkpkg.php est sorti un peu de l'espace :-) Vous trouverez son contenu à la fin du billet.

Pour résumer, on créé un répertoire de travail (~/pear/zend/), dans lequel on créé un répertoire src, qui contiendra tous les fichiers du package, puis le script mkpkg.php se charge 1) d'analyser le contenu de src, et 2) de créer le package.xml qui va bien, selon les instructions qui lui sont fournies.

Nous disposons désormais d'un package Zend-0.8.0.tgz dans ~/pear/zend/src, que nous n'avons plus qu'a uploader via l'interface d'administration du serveur PEAR précédemment installé :-)

Le fichier mkpkg.php:

<?php

require_once('PEAR/PackageFileManager2.php');

PEAR::setErrorHandling(PEAR_ERROR_DIE);

$packagexml = new PEAR_PackageFileManager2;

$e = $packagexml->setOptions(array(
    'baseinstalldir' => '/',
    'packagedirectory' => dirname(__FILE__).'/src',
));

$packagexml->setPackage('Zend');
$packagexml->setSummary('Zend Framework');
$packagexml->setDescription('The Zend\'s PHP Framework');
$packagexml->setChannel('pear.phpmafia.net');
$packagexml->setAPIVersion('0.8.0');
$packagexml->setReleaseVersion('0.8.0');
$packagexml->setReleaseStability('devel');
$packagexml->setAPIStability('devel');
$packagexml->setNotes("Still a preview release");
$packagexml->setPackageType('php'); // this is a PEAR-style php script package
$packagexml->addRelease(); // set up a release section
$packagexml->setPhpDep('5.1.2');
$packagexml->setPearinstallerDep('1.4.0a12');
$packagexml->addMaintainer('lead', 'ash', 'Geoffrey Bachelet', 'geoffrey+pear@zubrowka.org');
$packagexml->setLicense('New BSD License', 'http://framework.zend.com/license/new-bsd');
$packagexml->generateContents(); // create the <contents> tag

$pkg = &$packagexml->exportCompatiblePackageFile1(); // get a PEAR_PackageFile object

if (isset($_GET['make']) || (isset($_SERVER['argv']) && @$_SERVER['argv'][1] == 'make')) {
    $pkg->writePackageFile();
    $packagexml->writePackageFile();
} else {
    $pkg->debugPackageFile();
    $packagexml->debugPackageFile();
}

?>

Thursday 1 March 2007

Mon bel iPod

J'ai commandé hier un iPod Nano 2GB White 1st Gen sur l'Apple Store Refurbish, et il est arrivé ce matin. Rapide non ? Aussitôt reçu, aussitôt branché, et aussitôt rempli (via GtkPod) avec de la (bonne) musique ! Maintenant j'attends qu'Amazon me livre mon PortaPro.

Tuesday 27 February 2007

A propos du flux RSS du blog Zend

Je me suis rendu compte en glandouillant dans mes logs qu'il restait des aggrégateurs qui tentaient désespérement d'aggréger le flux RSS de feu mon blog dédié au Zend Framework. J'avais mis une petite page explicative, mais puisque ça n'a pas l'air de suffire, j'ai fait le nécessaire en la forme d'une redirection HTTP 301 vers le flux RSS Zend Framework du présent blog.

Voilà voilà.

Channel PEAR PHPMafia, package Zend Framework

Au lieu de partir faire du vélo ce soir, j'ai livré bataille avec PEAR. Livré bataille c'est le mot, vu le manque flagrant de documentation sur la création de serveur et packages PEAR, mais j'ai finalement réussi, grâce au tutorial de Tobias Schlitt (un peu modifié) à Arnaud Limbourg. Bref, j'ai le plaisir de vous annoncer la disponibilité immédiate du Channel PEAR PHPMafia, qui héberge pour l'instant un unique package: Zend-0.8.0. Pour l'installer, vous devez d'abord présenter le channel à votre installeur pear:

pear channel-discover pear.phpmafia.net

Puis vous devriez être en mesure d'installer le Zend Framework via un pear install classique:

pear install phpmafia/Zend-0.8.0

On spécifie la version vu que le package est en stabilité devel, pour coller au status preview du Zend Framework.

Vu comment j'ai galéré pour en arriver là, j'ai certains doutes sur le caractère 100% komifo de l'installation, donc j'apprécierais tout retour de bug et anomalies diverses que vous pourriez rencontrer à l'utilisation de ce channel, à pear@phpmafia.net par exemple, ou dans les commentaires de ce billet :-)

Friday 23 February 2007

Java et /dev/dsp

Il semblerait que la java virtual machine, connue sous le nom de java_vm par /usr/bin/lsof, attaque directement /dev/dsp, bloquant ainsi l'accès au son à toutes les autres applications. Pas très sympa.

- page 4 of 36 -