Keen work
Sat 26 August 2006 — JavaScript, Job, Firefox, Web 2.0
I’ve spent the last 3 days working on a very cool Web 2.0 project with technos like PHP, MySQL,
XHTML, CSS and JavaScript with the frameworks Prototype
and Scriptaculous and I’ll continue it on Monday. That’ll
be great.
A vital extension for Mozilla Firefox, you obviously need if you’re working with JavaScript and Ajax, is
FireBug. Having a solid framework
like Prototype or jQuery can gain you a lot of time. And last point,
Database normalization is
always good for you.
I’ve met some famous
people of the
Swiss French blogosphere.
Voilà, j’ai passé les trois derniers jours à faire du PHP, MySQL, XHTML, CSS et JavaScript
(Prototype,
Scriptaculous) sur un projet vraiment intéressant
et complétement Web 2.0. Et lundi, c’est reparti !
Pour ce genre de dév, l’extension FireFox FireBug
est vitale voire indispensable. Et se choisir un framework JavaScript peut faire gagner un temps non négligable.
Mangez-en c’est bon.
Dernier point, les formes normales de
la grande théorie des bases de données, ce n’est pas du pipeau.
En passant, j’ai fait un peu de people en faisant la connaissance de
stars
romandes.
Digg it!,
so del.icio.us,
blogmarks,
reddit.
JavaScript frameworks and some news
Tue 22 August 2006 — JavaScript, DoSimple
Weblogger pointed recently a very interesting
issue about Why jQuery's Philosophy is Better
in which jQuery is faced to Prototype.
Prototype is included into RoR and
required for the delicious scrip.aculo.us but jQuery need some
attention because it seems very powerful too.
I just wanna warn you about these magical toolboxes. They made JavaScript much more functionnal I think
but no easier and playing this them without knowing the basis of how JavaScript (and probably
DOM) works can be harmful.
At the time at Vera Cruz, my old-dude Batiste works
hard on a little son to the templating system
(with Python or
a better way)
that mades doContent so famous (I swear).
If you’re interested by this CMS system just
contact us.
Ce cher Weblogger a pointé récemment un article
très intéressant ventant les mérites de jQuery intitulé :
Why jQuery's Philosophy is Better.
Vis-à-vis est décortiqué Prototype (Using prototype.js v1.4.0), l’autre et non moins célèbre framework JavaScript.
Ces boites-à-outils là ont l’avantage d’offrir un JavaScript plus fonctionnel, je dirais. Et non pas
plus simple. Ne pas connaître les mécanismes sous-jacents me semble périlleux pour affronter ces molosses.
Pendant que je vous écris, Batiste
prépare un petit enfant au système de templates
(en Python ou
en mieux) qui a fait le bonheur de
doContent. D’ailleurs si quelqu’un
est intéressé par ce dernier, il peut sans autre nous contacter.
Digg it!,
so del.icio.us,
blogmarks,
reddit.
Freelance
Thu 17 August 2006 — Job, Real Life
As I’m waiting for an answer of the mysterious company of Dublin, a very
funky Swiss company offered me to do some job for it. At the moment,
it’s some integration but who knows. It’s very similar with what I’ve done
to Bikini
Test’s website.
I’ll reject the opportunity at Moutier because they cannot lie to them about my future.
Alors que j’attends des nouvelles imminantes de la probable future
place à Dublin, une petite boite locale me propose de faire pour
eux un peu d’intégration XHTML/CSS en freelance. C’est assez proche
de ma tâche pour le site du Bikini
Test sauf que les délais sont là.
Et je vais rejeter le poste à Moutier car les chances que je leur sois
disponible sont devenues très faibles et la boite locale est plus
attractive si toutefois ça tombait à l’eau.
Digg it!,
so del.icio.us,
blogmarks,
reddit.
Unobtrusive JavaScript
Wed 09 August 2006 — JavaScript, Web Application, Object Oriented Programming
I was a bad user of JavaScript, and I’ve recently learned cool things (many thanks
to a Dubliner).
First of all, I probably abused of the window.onload = myFunction
that is
really intrusive. A better solution would be to use the addEventListener
(W3C) or
the attachEvent
(Microsoft). But there are both incompatible (bad news).
Another homemade solution
comes from Simon Willison and this rocks.
Read it!
Second thing, encapsulation. The OOP is everywhere
and it’a great way of doing things that are reusable. You may read this article :
JavaScript
Object-Oriented Programming Part 1 from SitePoint. Most of JavaScript toolkits or frameworks
made today are written this way.
I’ve made a little script that takes the queried words in the q
parameter of the
query string in the given page or in the referrer (if the visitor came from Google for example)
and highlight them. You can try it there.
Warning, this script shouldn’t be used, it may break your website.
Je pense avoir été un utilisateur de JavaScript avec de vieux défauts ce qui fait
que le résultat est difficilement réutilisable et n’est pas à l’abri d’erreurs.
Voici quelques points que j’ai récemment appris d’un dubinois (merci à lui).
Premier point, le chargement automatique d’une fonction au démarrage. Beaucoup de
monde peut désirer faire une opération à ce moment là. Éviter le window.onload = maFonction
et permettre à chacun de mettre sa fonction est assez vital. La solution fournie par
JavaScript est double et c’est la le problème. Microsoft et le W3C spécifie différentes choses
incompatible entre elles. Une solution publiée par Simon Willison permet de contenter tout un chacun.
Autre point, passer à un style orienté objet devient également vital dès que la question de
la réutilisation intervient. Un article SitePoint traite le sujet en profondeur :
JavaScript
Object-Oriented Programming Part 1, à lire donc. À l’heure actuelle, les frameworks
JavaScript sont écrits de manière orientée objet, donc pas de raison d’y couper.
Et comme, j’ai toujours besoin de mettre en pratique les choses que j’acquiers (sinon j’oublie),
voici un petit outil, très imparfait, qui va mettre en évidence les mots recherchés dans la page.
Le script va prendre en compte soit le paramètres q
dans l’URL ou ce même paramètre
dans le référant (si, par exemple, le visiteur vient de Google).
Testez-le ici.
Digg it!,
so del.icio.us,
blogmarks,
reddit.
Better Web App Development
Thu 03 August 2006 — Video, Web Application, Ruby on Rails, Django, Zope/Plone, TurboGears, J2EE
Batiste pointed me, a
really interesting video (Quicktime, 379MB)
about Web Application and Frameworks (Ruby on Rails, Django, J2EE, TurobGears, Zope/Plone)
and what worth.
Django just hits 0.95. And remember, J2EE gives, at least two, headaches.
Une vidéo (Quicktime, 379MB)
faisant le tour des Frameworks web dans le vent (désolé pas de PHP) avec démo,
avantages et inconvénients, fonctionnalités, usage, ...
Digg it!,
so del.icio.us,
blogmarks,
reddit.
Convolution Matrix
Tue 01 August 2006 — PHP, ImageMagick
The website of the Bikini Test move to
a new and most powerful server with GD2. Hurray, we can resize our pictures from PHP.
The first essay of resizing this pretty picture (of William White).
turns into a nightmare.
The result isn’t really pretty. So I tried to apply some convolution matrix like : a Gaussian blur or emboss.
A Gaussian blur :
1 3 1
3 27 3
1 3 1
divisor : 43
Emboss :
1 1 -1
1 15 -1
1 -1 -1
divisor : 15
The result can be better but not perfect like flickr can. Bellow the emboss result :
Last try is to call ImageMagick with exec
.
convert input.png -resize widthxheight -quality 90 output.jpg
And the result is really good.
The bad side of this is that the exec
command is allowed everywhere (thanks to Azylog) and that you depend of the imagemagick installation to work. I should be
only an alternative to GD.
And, of course, don’t miss the great William White Saturday the 7th of October 2006.
Le site du Bikini Test a
changé d’hébergeur dernièrement et comme il y a enfin GD2 (la bibliothèque
de manipulation d’image) et bien il est enfin possible de redimensionner via PHP
leurs images.
Une belle image (depuis le site de William White (photo)) redimensionnée et hop, bof bof, le résultat n’est vraiment pas terrible.
Les premiers essais ont été d’appliquer des matrices de convolution sur l’image destination afin de réaliser des effets comme un flou (blur) ou emboss. Le résultat du flou, est peut-être un peu moins sale et celui du emboss donne un peu de relief. C’est peut-être mieux, mais loin des bons résultats que,
par exemple, Flickr fournit.
Ultime solution, non mécontent d’en avoir appris un peu plus sur les matrices de convolution, faire appel
à ImageMagick.
convert input.png -resize widthxheight -quality 90 output.jpg
Avec PHP, il faut passer par la fonction exec
, malheureusement pas autorisée partout (vive Azylog, qui n’est pas pour autant le nouvel hébergeur du site de Bikini Test).
C’est ce par quoi il faut passer pour obtenir un résultat “professionnel” lorsque l’on fait des miniatures
avec PHP. Un peu dommage.
Et venez nombreux le samedi 7 octobre 2006 pour assister au concert de Monsieur William White.
Digg it!,
so del.icio.us,
blogmarks,
reddit.