Bubble Sweat Bubble

Les périgrinations d'un mec normal dans un monde qui ne l'est franchement pas

Aller au contenu | Aller au menu | Aller à la recherche

11nov. 2007

Dissimuler les liens mailto des pages html

Vu sur http://www.alistapart.com/comments/gracefulemailobfuscation/ :

Une technique intéressante pour supprimer les liens mailto sur une page html et donc empêcher la détection des adresses emails par les robots des spameurs.... La technique n'est toute fois pas parfaite (elle ne permet pas de gérer le caractère '+' des adresses emails) mais l'idée est là...

09nov. 2007

Classe php5 pour l'API Fotolia utilisant le Zend Framework

Dans la lignée de mon post précédent, voici le code d'une classe implémentant de façon simple l'API XML-RPC de Fotolia avec le Zend Framework.

Je précise à tout hasard que ce code est livré tel quel et que je ne suis pas responsable de tout problème pouvant survenir de son utilisation.
La licence du code est la licence BSD.
Pour ceux que ça intéresse, cette classe fait l'objet d'une proposition pour intégrer le framework.
Vous pouvez suivre son évolution ici : http://framework.zend.com/wiki/display/ZFPROP/Zend_Service_Fotolia

Lire la suite

08nov. 2007

Utiliser l'API XML-RPC Fotolia en php5

Afin d'utiliser l'api de Fotolia il est nécessaire d'obtenir une clé API.
Si vous n'en avez pas déjà une, il suffit d'aller dans votre compte, section "outils" puis de cliquer sur l'onglet "api".
Une fois que votre clé API aura été validée par l'équipe Fotolia vous pourrez commencer à utiliser leur service xml-rpc.
Lire la documentation sera bien sûr bienvenue !

Lire la suite

07juin 2007

sprintf en Javascript

Javascript ne propose pas en standard de fonction sprintf pourtant si pratique.... Voilà le code de cette fonction trouvée sur http://jan.moesen.nu/ :
// This code is in the public domain. Feel free to link back to http://jan.moesen.nu/
function sprintf() {
if (!arguments || arguments.length < 1 || !RegExp) {
return;
}

var str = arguments[0];
var re = /([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X)(.*)/;
var a = b = [], numSubstitutions = 0, numMatches = 0;
while (a = re.exec(str)) {
var leftpart = a[1], pPad = a[2], pJustify = a[3], pMinLength = a[4];
var pPrecision = a[5], pType = a[6], rightPart = a[7];

numMatches++;

if (pType == '%') {
subst = '%';
} else {
numSubstitutions++;
if (numSubstitutions >= arguments.length) {
alert('Error! Not enough function arguments (' + (arguments.length - 1) + ', excluding the string)\nfor the number of substitution parameters in string (' + numSubstitutions + ' so far).');
}

var param = arguments[numSubstitutions];
var pad = '';
if (pPad && pPad.substr(0,1) == "'") {
pad = leftpart.substr(1,1);
} else if (pPad) {
pad = pPad;
}

var justifyRight = true;
if (pJustify && pJustify === "-") {
justifyRight = false;
}

var minLength = -1;
if (pMinLength) {
minLength = parseInt(pMinLength);
}

var precision = -1;
if (pPrecision && pType == 'f') {
precision = parseInt(pPrecision.substring(1));
}

var subst = param;
if (pType == 'b') {
subst = parseInt(param).toString(2);
} else if (pType == 'c') {
subst = String.fromCharCode(parseInt(param));
} else if (pType == 'd') {
subst = parseInt(param) ? parseInt(param) : 0;
} else if (pType == 'u') {
subst = Math.abs(param);
} else if (pType == 'f') {
subst = (precision > -1) ? Math.round(parseFloat(param) * Math.pow(10, precision)) / Math.pow(10, precision): parseFloat(param);
} else if (pType == 'o') {
subst = parseInt(param).toString(8);
} else if (pType == 's') {
subst = param;
} else if (pType == 'x') {
subst = ('' + parseInt(param).toString(16)).toLowerCase();
} else if (pType == 'X') {
subst = ('' + parseInt(param).toString(16)).toUpperCase();
}
}

str = leftpart + subst + rightPart;
}

return str;
}

11janv. 2007

Mon iPod ne joue pas la musique transférée via Amarok !

Grosse surprise ce matin après avoir transféré l'album de Dean Gray sur mon iPod avec Amarok : les fichiers étaient bien présents mais le iPod refusait obstinément de les lire !

Je vais donc travailler la mort dans l'âme en me disant que je m'en occuperais ce soir et par chance j'ai trouvé la solution !
Le problème vient d'un conflit entre les différentes versions disponibles de la bibliothèque libgpod. Si comme moi vous utilisez le dépôt debian-multimedia.org afin d'avoir mplayer sous debian vous êtes concernés par ce billet....
Pour faire simple le dépôt officiel de la debian propose la version 0.3.2 de la bibliothèque tandis que debian-multimedia.org offre la version 0.4. Le problème est que cette version provoque des dysfonctionnements avec amarok....
il faut donc revenir à l'ancienne version du paquet et le marquer comme "gelé" ou "hold" afin d'empêcher le système de le mettre à jour....

voilà la manip :
apt-get install libgpod0=0.3.2-1.1 libgpod-common=0.3.2-1.1 && \ echo -e "libgpod-common hold\nlibgpod0 hold" | dpkg --set-selections

Il suffit ensuite de réparer la base de données de l'iPod puis de relancer Amarok pour que tout rentre dans l'ordre....
Pour ceux qui ne savent pas comment réparer l'iPod il y a deux solutions :
- supprimer le contenu de l'iPod afin de repartir d'une base vierge
- lancer gtkpod afin qu'il le fasse tout seul

En espérant que cela aide certains ;)

23nov. 2006

Enregistrer une vidéo de son écran avec Istanbul

Istanbul est un petit programme qui permet d'enregistrer facilement une vidéo de tout ou partie de l'affichage écran généré par X11.

Très facile à utiliser, tout se fait via le clique droit sur l'icône de l'application dans le systray.
L'enregistrement se fait via un simple clique gauche.
Enfin, atout non négligeable, il permet aussi de redimensionner à la volée la taille de la vidéo de sortie au format 1/2 ou 1/4 ce qui permet de s'assurer une vidéo fluide en sortie quelque soit la puissance de la machine hôte.

Bref que du bon !

23nov. 2006

Extension Firefox : FaviconizeTab

Avis à tous les déçus du nouveau système de gestion des onglets dans Firefox 2.0 !
Une extension est là qui va vous sauver la vie ! J'ai nommé FaviconizeTab.

FaviconizeTab

C'est petite extension va vous permettre de réduire la taille des onglets en n'affichant que la favicon du site. Il suffit de configurer l'extension afin de lui dire comment passer du mode complet au mode court est c'est fini.

Personnellement le double clique me va très bien...
Dans le genre de chose sympa il est même possible de lui donner une série d'urls en gérer en mode réduit par défaut ou des groupes d'urls avec * :)

Bref j'adore et je pense que je vais plus pouvoir m'en passer désormais...

30oct. 2006

Astuce Firefox pour KDE

Pour ceux utilisant KDE et Firefox le gestionnaire de fichiers GTK peut parraître rebutant....pour revenir à un gestionnaire de fichier on peu plus pratique, il suffit (sous firefox 2.0) d'éditer la variable de configuration ui.allow_platform_file_picker et de la mettre à false.
Le tout étant effectué via about:config bien sûr ;)

21oct. 2006

Installer Xgl sous Debian Sid

Vu sur : http://sonique54.free.fr/xgl/xgl_fr.htm via http://sonique6784.blogspot.com/.

Il suffit donc de télécharger le script setupxglfr.sh puis de le lancer (en root bien sûr). Les utilisateurs de gnome n'auront pas grand choses à faire de plus...

Pour les utilisateurs de kde, il faut modifier le fichier /etc/kde3/kdm/kdmrc et remplacer la ligne :
ServerCmd=/usr/bin/X -br
par la ligne
ServerCmd=/usr/X11R6/bin/Xgl :0 -ac -accel glx:fbo:0 -accel xv:fbo -fp /usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType

Enfin histoire d'être sûr de ne pas avoir de problèmes de mapping de clavier en passant à XGL, il faut vérifier que la ligne
Option "XkbOptions" "altwin:super_win" existe bien dans la section InputDevice associée au clavier.

De même, il faut bien sûr mettre en place les accélérations graphiques dans la section Device de la carte graphique :
Option "RenderAccel" "true"
Option "backingstore" "true"
Option "AllowGLXWithComposite" "True"


Enfin, toujours pour les utilisateurs de KDE, il faut lancer les gestionnaires xgl au démarrage de kde :
cp /etc/compiz.start /home/$USER/.kde/Autostart/

Et voilà ce que ca donne :

XGL sous Debian Sid

14sept. 2006

problème de démarrage sur la sid

Depuis ce week-end le paquet sysvinit a été mis à jour et peut entrainer des problèmes de démarrages sur un certains nombres de services (udev, alsa, ...).

Afin de corriger le problème il suffit de lancer le petit script suivant :
for p in `dpkg -S /etc/init.d/*|cut -d: -f1|sort -u`; do
    apt-get --reinstall install -y $p
done

Attention néanmoins ce script réinstallera les paquets supprimés mais non purgés !
La solution est donc de lancer d'abord dpkg -S /etc/init.d/*|cut -d: -f1|sort -u
puis de purger les paquets indésirables et enfin de lancer le script complet.

- page 2 de 4 -