50 outils extrêmement utiles au développement PHP

January 21st, 2009

Voici un lien à mettre de toute urgence dans vos favoris.

L’excellent Smashing Magazine nous sors une liste de 50 outils concernant le développement PHP. Au programme les outils de debug, d’optimisation, de sécurité, de contrôle de version, les IDE, etc.

Je relaie le lien car j’ai trouvé dans cette liste des ressources que je ne connaissais pas et qui ont l’air intéressantes.

C’est par ici.

Sortie de Mootools 1.2.1

October 17th, 2008

Tom vient d’annoncer la sortie de Mootools 1.2.1 sur le blog.

Au programme, surtout des bugfix, et le support des tout derniers Browsers, tout comme le montre le changelog :

MooTools 1.2.1 – October 16th, 2008

[ADD] Element.set(‘html’) now allows to set the innerHTML of all Elements (including tables and selects)
[ADD] Browser.Features.query to check if the Browser supports the new querySelector method on the document object
[ADD] Browser.Engine detection for WebKit version 525
[ADD] Browser.Engine detection for Opera 9.6
[ADD] Element.removeEvents now also accepts an object
[ADD] Class.removeEvents now also accepts an object
[ADD] Element.match now also accepts an Element
[CHG] Element.js has been refactored to make use of private variables wherever possible
[CHG] $unlink now returns an unlinked Hash instead of an object when a Hash is passed in
[CHG] Faster Element.hasChild
[CHG] The domready event for WebKit version 525 (or later) uses the native DomContentLoaded event
[FIX] Fixed getPosition in Internet Explorer to be faster and more reliable
[FIX] Selector [attribute!=val] now matches elements with empty attribute
[FIX] Element.clone is now much faster and retains state of form elements
[FIX] Fixed memory leaks related to IFrame unloading
[FIX] Fixed memory leaks related to Element storage
[FIX] Custom Events no longer stop the event when the condition returns false
[FIX] Documentation fixes and improvements
[FIX] :checked pseudo now works properly in Internet Explorer
[FIX] Class.js works in Safari 2 again, and contains no more eval hack
[FIX] Element text setter/getter is now working in Safari 2
[FIX] $exec is now working in Safari 2

Ils ont également inclus mon fix pour Request.HTML, yay ça y est j’ai contribué au best framework JS ever ;-)

Comment désactiver les appels à console.log() si firebug n’est pas présent

August 14th, 2008

Si vous développez en JS, vous utilisez certainement la fonctionnalité très utile de firebug permettant d’afficher un message dans la console, console.log(). Le problème, c’est que chaque appel à cette fonction va produire une erreur si firebug n’est pas présent, et donc interrompre l’exécution JS. Pas top sur un site en prod’ si vous laissez par mégarde des console.log() dans le code.

Voici comment désactiver tous les appels à console.log() si firebug n’est pas présent :

if (typeof console != "object") {
	var console = {
		'log':function(){}
	};
}

Vous pouvez bien sur adapter le code pour désactiver console.log() si on est sur le domaine de prod’ même si firebug est présent, ou bien encore ne l’activer que si parliament cigarettes uk un certain paramètre est présent dans l’URL, etc …

Emuler l’attribut CSS :first-child sous IE6

June 12th, 2008

L’attribut CSS :first-child est bien utile dans de nombreux cas. Pour rappel, il permet de cibler le premier enfant d’un élément.

Par exemple, via le code suivant, vous aurez le premier div enfant du div “monDiv” qui sera rouge, et les deux autres verts :

HTML :

<div id="monDiv">
	<div>Hello</div>
	<div>Crazy</div>
	<div>World</div>
</div>

CSS :

div#monDiv div {
	background-color:green;
}

div#monDiv div:first-child {
	background-color:red;
}

Ca qui donnera :

Hello
Crazy
World

IE6 ne gérant pas l’attribut first-child, nous allons l’émuler via du javascript directement dans le CSS via la propriété expression :

div#monDiv div {
    background-color: expression(this.previousSibling==null?'red':'green');
}

Comme vous avez sans doute compris, la propriété expression permet de mettre du code JS dans la feuille de style CSS, en ayant le keyword this associé à l’élément. Cela ouvre pas mal de possibilités (welcome to the dark side).

Ce code ne valide pas, donc est a mettre dans une feuille de style à part via des conditional comments.

A noter que ce code ne fonctionnera pas si le javascript n’est pas activé. Néanmoins, à l’heure actuelle, AMHA on est est plus a faire des sites devant buy cigarettes online fonctionner parfaitement sur IE6, mais simplement des sites fonctionnant convenablement, donc cette solution est acceptable.

Le hack CSS Safari !

April 22nd, 2008

J’avais un peu galeré pour le trouver celui là ;-) En fait il cible les moteurs KHTML et WebKit, c’est à dire toutes les versions de Safari, et Konqueror.

html[xmlns*=""] body:last-child ... { ... }

Testé avec Konqueror 3.5, Safari 1.2 Mac, Safari 1.3 Mac, Safari 2.0 Mac, Safari 3.1 Mac, Safari 3.1 Win, IE6, IE7, IE8, FF1.5, FF2, FF3

Ce hack est valide CSS3, mais pas CSS2.

Source : BTreeHugger’s Blog

Mise à jour de Better Netvibes

March 30th, 2008

Depuis le passage à Ginger, mon script ne fonctionnait plus. J’ai fait le nécessaire pour que cela marche de nouveau, apparemment ils ont fait quelques changement dans le code JavaScript.

Pour downloader la nouvelle version, c’est par ici.