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

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

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

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

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;
}

16aoû

Lightbox ou comment attirer l'attention

Pour ceux qui se demande comment réaliser un effet de boîte de dialogue rendant inaccessible ce qui est derrière lui, autrement dit un comportement basique de n'importe quel système de fenêtres, une solution en javascript se nomme Lightbox.

Il s'agit d'une bibliothèque javascript qui permet d'afficher une boîte de dialogue de façon élégante et rapide de façon très simple. On peut l'utiliser en lui donnant une url ou charger ses données ou alors les lui donner directement.
Pour ceux qui ont déjà fait de jolis formulaires on peut aussi très facilement les relier au système lightbox.
Seul bémol en ce qui me concerne : le code n'est pas écrit en objet.

15aoû

Zend Framework

J'ai longtemps cherché un framework intéressant à utiliser en php.

Tous les framework que j'avais pu trouvé ne me plaisaient pas : ils étaient ou trop lourd ou trop simple et dans les deux cas compliqués à mettre en oeuvre dans un projet industriel.

Mais voilà que Zend a répondu à mon besoin !
Ce framework est conçu sur le modèle MVC et est très modulaire.
Le fait qu'il soit supporté par Zend lui donne un côté pérenne qui n'est pas fait pour me déplaire !

26jan

Travailler avec des fichiers .po

Les fichiers .po sont les fichiers utilisés par les systèmes de traduction utilisant gettext. Un exemple de fichier .po pourrait être :
# message à traduire
msgid "Hello world!"
# message traduit
msgstr "Bonjour monde !"

Ce n'est pas les fichiers .po qui sont utilisés à proprement parler par gettext mais une version binaire du fichier en extension .mo.

Un tel fichier est généré par une commande du type : msgfmt -o mon_fichier.mo mon_fichier.po

Comme d'habitude, se réferer à la page de manuel de la commande msgfmt pour de plus amples informations sur ses possibilités.