Petite étude rapide sur l'ergonomie des blogs, chez Biologeek. Le panel représentatif est peut-être un peu faible, mais l'analyse compense :-)
A propos
- About me: Geoffrey Bachelet
- Profile LinkedIn
To content | To menu | To search
Tuesday 6 February 2007
By Geoffrey on Tuesday 6 February 2007, 10:27
Petite étude rapide sur l'ergonomie des blogs, chez Biologeek. Le panel représentatif est peut-être un peu faible, mais l'analyse compense :-)
Wednesday 3 January 2007
By Geoffrey on Wednesday 3 January 2007, 11:04
Par exemple, imaginons qu'on récupère une query string, et qu'on veuille l'exploser sur plusieurs lignes, on peut faire:
:s/&/\="\<CR>"/g
le \="" annonce à VIM que la chaine de
substitution sera une chaine a interpréter avant utilisation, et le
\<CR> représente tout simplement le Carriage
Return.
Thursday 9 November 2006
By Geoffrey on Thursday 9 November 2006, 17:25
Imaginons que vous souhaitiez déplacer votre dépôt subversion myproject d'une machine old-server à une machine new-server. Vite fait, bien fait:
old-server# svnadmin dump /var/lib/subversion/myproject > ~/myproject.svndump old-server# scp ~/myproject.svndump new-server: new-server# svnadmin create /var/lib/subversion/myproject new-server# svnadmin load /var/lib/subversion/myproject < ~/myproject.svndump
Attention, il vous faut par contre migrer vos éventuelles hooks à la main, ils ne sont effectivement pas gérés par svndump. Une autre méthode, incluant les hooks celle-ci, serait d'utiliser svnadmin hotcopy, mais je n'ai pas testé.
Plus d'infos:
Wednesday 1 November 2006
By Geoffrey on Wednesday 1 November 2006, 16:10
Les liens interressants (ou pas) de la semaine:
Friday 20 October 2006
By Geoffrey on Friday 20 October 2006, 22:05
Pour économiser la bande passante au boulot, j'ai décidé de relayer le stream Club ! de 1.fm sur le LAN. Après avoir vainement tenté d'utiliser streamripper (on verra plus tard pourquoi vainement), j'ai sorti l'artillerie lourde: icecast2:
sudo apt-get install icecast2
Si on sait un peu lire, le script de post-configuration nous incite à aller fourrer notre nez dans /etc/default/icecast2, où l'on apprend (vers la fin) que icecast est désactivé par défaut à cause de la directive ENABLED=false. C'est en fait une feinte pour nous pousser à configurer le bousin (de toute façon si on le configure pas, il marchera pas). Direction /etc/icecast2/icecast.xml donc, pour un brin de configuration (les explications qui suivent se basent sur le fichier par défaut d'une installation sur une ubuntu).
La première partie qui nous interresse s'intitule authentication (vers la ligne 23). Elle contient les informations d'authentification pour les clients qui se connectent en tant que source (source-password), les serveurs qui se connectent en tant que slave (relay-password, en fait je ne suis pas sur à 100%, c'est une déduction) et pour l'interface d'administration (admin-user et admin-password). Une fois ces informations modifiées, direction la directive hostname, qu'on remplira avec au choix, le nom de la machine, son ip, etc. J'ai personellement mis l'ip privée de ma machine (172.16.x.y), pour que ça correspondent à la prochaine directive qui nous interresse: listen-socket. Ici on définit le port et l'ip sur laquelle icecast va écouter. En gros, si vous spécifier 127.0.0.1, votre serveur de streaming ne sera accessible qu'en local. On y met donc en général la même chose que dans hostname (172.16.x.y par exemple), avec un port qui va bien, libre de préférence (8000 par défaut).
Maintenant on passe a la partie qui nous interresse vraiment, la section relay. Rien de bien compliqué ici. Le stream que je souhaite relayer se trouve là: http://64.62.253.223:8060/, or icecast nous demande un server, un port, un point de montage (mount) et un point de montage local (local-mount). Vous avez déjà compris qu'on arrive a cette configuration:
<relay>
<server>64.62.253.223</server>
<port>8060</port>
<mount>/</mount>
<local-mount>/1.fm</local-mount>
<on-demand>0</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
Ainsi parés, il ne nous reste plus qu'a lancer modifier la directive ENABLED=false en ENABLED=true dans /etc/default/icecast2 et à lancer icecast:
sudo /etc/init.d/icecast2 start
Si vous avez bien tout fait, vous devriez pouvoir streamer depuis http://172.16.x.y:8000/1.fm, et vos collègues également ! Vous pouvez avoir une vue d'ensemble du serveur ainsi que quelques options d'administration en vous rendant sur l'interface d'admin: http://172.16.x.y:8000/ et en utilisant admin-user et admin-password pour vous authentifier.
A cela on peut ajouter un petit streamripper:
streamripper http://172.16.x.y:8000/1.fm -d ~/streamripped
Pour enregistrer. En parlant de streamripper, j'avais tenté au début de relayer avec streamripper -r, mais malgrès les apparences du netstat -pl (*:8000 LISTEN), il ne bind qu'en local, donc impossible d'en faire profiter les collègues :-)
By Geoffrey on Friday 20 October 2006, 20:06
Il arrive des fois où on aimerait pouvoir relier directment deux machines appartenant a deux réseaux distincts. C'est par exemple mon cas quand j'ai besoin (envie on va dire) d'accéder à ma machine du boulot depuis une machine non connectée au VPN. Dans ce genre de cas, il existe en général une machine qui possède des interfaces susceptibles d'accéder à chacune des machines (le concentrateur VPN par exemple). Nous appellerons cette machine relay, car elle servira de relai au tunnel. Pour éviter les sempiternelles appellations A et B qui embrouillent plus qu'autre chose, les machines s'appelleront startpoint pour la machine sur laquelle on a la main et endpoint pour la machine à laquelle on souhaite accéder.
Postulats de base:
relay possède un serveur SSH qui tournestartpoint possède un client SSH capable de créer un tunnel (ssh, par exemple)relay est accessible depuis startpoint et peut se connecter à endpointBien, allons y franchement, la commande, à executer depuis startpoint, permettant de créer un tunnel SSH entre startpoint et endpoint est la suivante:
ssh -L 2222:endpoint:22 relay
Qu'avons nous fait là ? L'option -L de SSH sert à binder un port de la machine locale (startpoint donc), à un autre port (ou le même) de la machine distante (endpoint). Ici, on associe le port local 2222 (22 étant déjà pris par mon serveur SSH, mais on pourrait utiliser le port 22 si aucun serveur ne tournait, à la différence près qu'il faudrait lancer la commande en root pour pouvoir binder un port inférieur à 1024 (c'est comme ça)) au port 22 de endpoint, c'est à dire le serveur SSH. Il nous est dès lors possible d'ouvrir une connection SSH sur endpoint en se connectant au port 2222 de notre machine locale:
ssh -p 2222 localhost
Magique non ? Bien sur, il est possible de forwarder n'importe quel port au travers du tunnel:
ssh -L 8080:endpoint:80 relay
Faire pointer votre navigateur sur http://localhost:8080/ vous ammenera sur le serveur web de endpoint.
Mais un tunnel ne se limite pas à joindre deux machines d'un réseau différents. On peut également imaginer un tunnel entre deux machines dans l'unique but de sécuriser une transmission, par exemple, des échanges de mails. Imaginons que votre serveur mail preferré, pop.example.com, ne propose pas de connection POP sécurisée. Vous pouvez remédier à ce manque flagrant de confidentialité en créant un tunnel SSH:
ssh -L 1100:localhost:110 pop.example.com
Bien sur, ce cas de figure nécessite d'avoir un compte permettant une connexion SSH sur pop.example.com, ce qui n'est pas forcément le cas. Pour remédier a ceci, deux solutions: utiliser un relay qui possède un serveur SSH, ou installer un serveur SSH sur startpoint pour s'en servir comme relai (sudo apt-get install openssh-server sur toute distribution debian-like qui se respecte):
ssh -L 1100:pop.example.com:110 localhost
And voila, il n'y a plus qu'a indiquer à notre client mail que le pop se situe sur localhost au port 1100, et le tour est joué :-)
By Geoffrey on Friday 20 October 2006, 14:13
Alors au taf on va déployer des forums sur l'ensemble des sites du groupe, et donc après un rapide tour des forums disponibles (tant libres que commerciaux), on a choisi Invision Power Board. Après une matinée de trifouillage, j'ai l'intime conviction que nous avons fait le bon choix. En effet, avec Invision Power Board, on peut mettre en place un SSO en moins d'une heure tout en
Et ça, c'est pas avec des forums libres que c'est possible.
Monday 16 October 2006
By Geoffrey on Monday 16 October 2006, 11:46
... c'est chiant. Surtout pendant cinq longues heures. Mais le résultat est appréciable, merci phpdoc :-)
Tuesday 3 October 2006
By Geoffrey on Tuesday 3 October 2006, 17:08
Bon voilà, je viens de suivre ce howto, et ça marche très bien. Passé le stade mais où sont mes efferalgans ?, on arrive rapidement au stade mais où mon smecta ?, tellement c'est gerbant de fluidité. Bref, le desktop mappé sur un cube, c'est sympa, mais on lui preferrera de loin les effets moins psychédéliques tels que la vraie transparence et les animations des fenetres (et encore).
Sunday 1 October 2006
By Geoffrey on Sunday 1 October 2006, 04:25
Bon voilà, ce n'est un secret pour personne, j'ai mis à jour ma Dapper en Edgy, et après avoir laborieusement activé l'accélération 3D de ma carte graphique, je me suis attelé à la reconstitution de mon environnement de développement favori: LAMP5. Cet enrivonnement comprend de plus l'extension PDO Mysql, très utile dans le cadre de l'utilisation du Zend Framework :-) Seulement voilà, Edgy propose un paquet php5 plus à jour que celui de dotdeb, ce qui empêche l'installation du paquet php5-pdo-mysql de dotdeb. Ayant mieux à faire qu'installer pdo_mysql via pear, j'ai décidé d'apprendre à me servir un peu d'APT, et je me propose de vous faire part de mes conclusions. Commençons par le commencement, le message d'erreur:
Les paquets suivants contiennent des dépendances non satisfaites :
php5-pdo-mysql: Dépend: phpapi-20041225
Dépend: php5-common (= 5.1.6-0.dotdeb.2) mais 5.1.6-1ubuntu1 devra être installé
E: Paquets défectueux
Il suffit donc de spécifier à APT que nous souhaitons utiliser la version 5.1.6-0.dotdeb.2 du paquet php5-common. Rien de plus simple ! Cela se passe dans /etc/apt/preferences:
Package: php5-common Pin: version 5.1.6-0.dotdeb.2 Pin-Priority: 1001
Et comme libapache2-mod-php5 dépend également de php5-common, il va nous falloir faire de même:
Package: libapache2-mod-php5 Pin: version 5.1.6-0.dotdeb.2 Pin-Priority: 1001
Voilà, désormais APT n'installera que la version 5.1.6-0.dotdeb.2 de ces deux paquets, quoiqu'il arrive. Un simple apt-get install php5-pdo-mysql suffit désormais pour que tout rentre dans l'ordre !
A noter: le tutoriel qui m'a tout appris.
Monday 18 September 2006
By Geoffrey on Monday 18 September 2006, 11:42
Suis-je le seul à trouver stupide d'avoir un wikitag comme <tt> ? Il me semblait que la syntaxe wiki avait pour but de formatter du texte en faisant abstraction des balises HTML, celles ci étant considérées trop compliquées pour les simples d'esprits utilisateurs finaux, or, on peut trouver dans la syntaxe mediawiki tout plein de balises compliquées, telles que <tt> donc, mais aussi <small>, <br>, <strike>, <u>, <b>, etc.
Un peu déçu là quand même.
Thursday 31 August 2006
By Geoffrey on Thursday 31 August 2006, 00:44
Ça tente quelqu'un d'ouvrir un blog collaboratif francophone qui parlerait du Zend Framework ?
Saturday 12 August 2006
By Geoffrey on Saturday 12 August 2006, 21:36

No comment.
Tuesday 25 July 2006
By Geoffrey on Tuesday 25 July 2006, 10:40
Aussi connue sous le nom de L'entrée a changé de statut spécial de façon inattendue si vous avez le malheur d'avoir une machine en fr_FR, cette erreur subversion est pour le moins windowsesque, puisqu'elle n'explicite en rien (a première vue du moins) le problème rencontré. Je suppose qu'il peut intervenir dans plusieurs cas, mais dans le mien, j'avais tout simplement changé le status d'un fichier symlink en vrai fichier :-) Manip simple pour réparer (disons que le fichier s'appelle index.php et qu'il était un lien vers blog.php):
$ mv index.php index.php.new $ ln -s blog.php index.php $ svn rm index.php $ mv index.php.new index.php $ svn add index.php
Et voilà, vous pouvez maintenant commettre (oh oh oh) votre working copy.
Wednesday 12 July 2006
By Geoffrey on Wednesday 12 July 2006, 12:50
Ne vous attendez pas a trouver un guide exhaustif de la gestion des encodages de caractères sous VIM dans ce billet, d'autres sites et surtout la doc fait ça beaucoup mieux que moi. Je m'en vais juste vous présenter le minimum vital pour vous dépatouiller dans ce foutoire que sont les charset. Le saint graal est consistué de deux variables de configuration: encoding et fileencoding. Les plus perspicaces auront déjà compris les quelques explications qui suivent.
encoding est la variable qui détermine l'encodage des caractères en cours d'édition, tandis que fileencoding contient l'encodage qui sera utilisé à la sauvegarde du fichier.
Concrétement, si vous tapez:
:set encoding=utf-8 :set fileencoding=iso-8859-15
Vous pouvez copier/coller du texte en UTF-8, et quand vous sauvegarderez votre fichier (:w par exemple), vos données seront automatiquement convertie et sauvegardée en ISO-8859-15.
Monday 26 June 2006
By Geoffrey on Monday 26 June 2006, 10:58
geoffrey@PROD000005:~$ ls bin Desktop helloworld.jpg openvpn tmp xml code Documents Network public_html tmp2 dc2 Extractions OnRefaitMatch.xml tests :w
Ce n'est pas un fake. Et pour ceux qui ne comprennent pas, tant pis pour vous.
Friday 23 June 2006
By Geoffrey on Friday 23 June 2006, 13:04
Copié collé de: http://blog.hosmoz.net/post/2006/06/23/Premieres-impressions
Cela fait une bonne dizaine de minutes que je farfouille dans l'interface d'administration, et franchement, j'hésites sur l'impression que cela me donne. D'un côté, c'est clairement bluffant. L'interface a complètement changé, mais de toute façon, c'est une interface Gandified (logo gandi, couleurs gandi, etc), donc je pense qu'on peut encore s'attendre a quelques surprises du coté graphisme.
Pour ce qui est du coté fonctionnel, voilà mes premières remarques (bonnes ou mauvaises):
Bon donc, le gestionnaire de medias est sympa, et surtout la fonction d'intégration d'image via la toolbar :-) Seul point noir que j'y vois, le lien parent directory, qui est un peu léger et qui rend la chose un peu vide, mais on peut toujours cliquer sur l'icone ou sur le chemin (en haut) donc ça va.
Bref, ça a l'air d'etre du bon boulot (on s'en doutait un peu), mais tant qu'on aura pas accès aux sources et a la doc pour tripatouiller dans le cambouis, ça restera quand même assez frustrant :-)
Monday 12 June 2006
By Geoffrey on Monday 12 June 2006, 14:40
Alors là, c'est l'extension du siècle. A vrai dire, c'est le genre d'extension que je voulais développeur pour Firefox, en conjonction avec NODE, pour ceux qui s'en souviennent.
Alors oui je sais, Google déploie ses tentacules, maintenant en plus de lire mes mails, de savoir ce que je cherche sur internet, de connaitre mon emploi du temps, de savoir ce que je lis sur internet (oui, j'utilises tous ces services), il va également connaitre mes bookmarks, mes mots de passe, mon historique, et mes tabs ouverts.
Et là j'ai envie de dire: And so what ?. Ca m'est égal en fait.
Sunday 11 June 2006
By Geoffrey on Sunday 11 June 2006, 23:29
...mais c'est quand même légèrement too much. Quand on cherche juste un package pour installer une plate-forme AMP rapidement, je déconseille XAMPP. Maintenant si vous voulez un AMP plus un ftpd, plus un serveur de mail, avec des stats, etc, alors oui, pourquoi pas.
Monday 22 May 2006
By Geoffrey on Monday 22 May 2006, 15:29
En SQL (tout du moins avec MySQL, je ne sais pas si c'est du SQL standard), on peut mettre un IF() dans une clause WHERE:
SELECT users.id FROM users, groups WHERE IF(users.group_id > 5, users.group_id = groups.id, 1)
Cette requête retourne les users dont le groupe existe s'il son id (au groupe) est supérieur a 5, plus ceux dont l'id du groupe est inférieure a 5, qu'il existe dans la table des groupes ou non.
« previous entries - page 2 of 8 - next entries »