( the tools )

web 2.0 developper toolbox

This page is a way to give credits to the great opensource tools i daily use in my work.

I usually work with the GLAMP everwinning server software pack (gnu+linux+apache+mysql+php). In addiction to that, I use Subversion, an excellent open-source revision control system, to keep every changes undoable.

GNU

GNU's not Unix but is to linux what linux is to my personnal computer, and I so include it there to please RMS with his little recursive acronym next to the Linux name.

Linux

On my servers as well as on my development boxes, I can't stand any other operating system. I started with redhat, then switched for a while to debian, taking short pauses with slackware and ubuntu (which is a very good desktop distro btw) and i now mostly work with fedora, the redhat's successor.

I won't debate the fact I don't like windows. If you like windows, go on and use it, but don't come with useless comments about this...

Apache

Well... most of the time. I also use lighttpd to serve medias, which comes with the excellent mod_sec_download (predictible-key based anti hotlinker), and thttpd.

MySQL

After a year of sticking to propel, the first ORM provided along with the Symfony Framework, i definately won't recommend to use it, due to the long codes you'd have to write if you want to write some (not-so?)simple database requests like a JOIN accross several tables (more than two). Its many to many relations support is not very good too, maybe it'll become better in v.2.0, but the experience left a bitter taste. Hopefully, then zYne came and started the development of Doctrine, a much better thought ORM imho, that I use now more months and that keeps improving everyday. I'll write Doctrine samples in some section.

PHP

I started php a while ago (php3 beginnings), at the time nobody was speaking of object-oriented scripting with it, and when the code writen with it was about unreadable, even and mostly for the one who was writing it. It was a marvellous language, but still unreadable. To improve that I wrote what we'd call today 'framework', mostly based on uggly eval-ed code and strings manipulation to do some pre-MVC like separation. I now found the Symfony Framework, written with well thought design patterns and 100% case tested that suits perfectly my needs, and I use it since December 2005 (0.4 at the time).