Symfony2 : créer un admin sécurisé


Non je ne suis pas mort ! Une grosse année qui arrive à son terme et qui m’aura un peu éloigné du blog ces derniers mois, mais me voilà de retour aux affaires avec la sortie imminente de Symfony2. J’ai donc décidé de monter un petit site pour tester en conditions réelles ce nouveau framework. Et tant qu’à débroussailler le terrain, autant faire partager mes difficultés.

L’idée dans le tuto d’aujourd’hui est de faire un petit point sur la partie « security » très bien documentée sur le site officiel mais qui change assez des habitudes de symfony 1 et donc semble un peu déroutante au début.

Lire la suite de Symfony2 : créer un admin sécurisé

Tips : Configuration de serveurs #2

Suite à quelques demandes, notamment de @Ouark lors d’une soirée sur Paris, je vais essayer de publier régulièrement quelques petites astuces que j’ai trouvé et qui m’ont bien aidé/dépanné.

Voici donc la partie #2 des Tips concernant la configuration de serveurs et le développement.

Lire la suite de Tips : Configuration de serveurs #2

Ma boîte à outils de développeur (web)


Dans notre métier, il est très important de se tenir au goût du jour, et pour ça il faut être curieux. Un vieil adage dit que c’est un vilain défaut, pas si sûr. C’est cette curiosité qui m’a fait découvrir beaucoup de choses cette année. J’avais envie de vous en faire partager quelques unes, après tout, c’est des autres qu’on apprend, moi le premier. Attention, geek tools inside : Vim, Git, ArchLinux et Firefox4.

Lire la suite de Ma boîte à outils de développeur (web)

symfony 1, Symfony2 et Django sont dans un bateau


Je développe sous symfony 1 depuis quelques temps et jusqu’ici j’en étais plutôt content. La dernière version majeure date de novembre 2009, nous en fêtons les 1 an ce mois-ci. Alors certes c’est un bel anniversaire un an, mais quand on sait que la prochaine version majeure sera Symfony2, prévue pour Mars 2011, ça peut faire peur. Petit avis personnel.

Lire la suite de symfony 1, Symfony2 et Django sont dans un bateau

Dedibox V3 ou Kimsufi ?


Si vous suivez un peu l’actualité de l’hébergement français, vous n’avez pas pu passer à côté de la nouvelle offre d’Online : la Dedibox V3 à 14,99 € HT (donc 17,93 € pour le commun des mortels). Peut être un peu moins connu que la Dedibox, mais une autre offre concurrente existe chez OVH : le Kimsufi à 14,99 € HT (voir la remarque plus haut pour le commun des mortels). Outre le concours du nom le plus douteux qui est remporté haut la main par OVH, y a-t-il de réelles différences entre ces deux offres ? Possédant les deux modèles depuis quelques mois, je vous fais un rapide tour d’horizon.

Lire la suite de Dedibox V3 ou Kimsufi ?

La Ferme du Web – Web Event #2

Le weekend dernier, 29 Mai 2010, avait lieu le Web Event #2 organisé par La Ferme du Web. J’ai donc quitté ma région nantaise pour me rendre à Lyon afin de participer à l’évènement mais aussi revoir quelques connaissances ;)

En attendant les photos, les discussions détaillés et les vidéos, voici un bref résumé de ce petit weekend lyonnais.

Lire la suite de La Ferme du Web – Web Event #2

Twitter et Facebook sont has-been, utilisez Github !


Alors oui ce titre est racoleur et débile, et alors ? ;-) Pour ceux qui ne connaissent pas encore Github, c’est ce qu’on appelle une « forge ». La plus connue étant Sourceforge, qui permet d’héberger des projets opensource (code, wiki, bug tracker, …).
Comme Sourceforge, Github propose d’héberger gratuitement des projets opensource, et met à disposition tous les outils pour gérer son projet. Mais la ressemblance s’arrête là, Github, c’est bien plus que ça.

Lire la suite de Twitter et Facebook sont has-been, utilisez Github !

Symfony, les forms et les forms embarqués

Tout d’abord admirez, dans le titre, cette traduction d’embedded forms , qui est digne d’un Nelson (ou d’un ubermuda) en pleine forme.

Maintenant que c’est fait, nous allons parler ici d’un des aspects de symfony les plus intéressant, mais aussi d’un des moins bien documenté. Pas que les forms « basiques » ne soient pas documentés, mais dès que vous voulez faire autre chose qu’un form qui représente tel quel (ou presque) un objet de la base de données, ça se complique un peu.

Je vais essayer de vous faire un petit tour d’horizon de ce qu’on peut faire avec les embedded forms.

Lire la suite de Symfony, les forms et les forms embarqués

Symfony Live 2010 : Les coulisses

Pour les retardataires, la semaine dernière se tenait le Symfony Live 2010 à Paris, auquel, Vince et moi avons assisté pendant 2 jours. Malheureusement, ce genre d’évènement n’est pas toujours à la portée de tous.

Après, vous avoir résumé à notre façon, les 2 jours, il nous semblait pertinent de vous faire un petit topo des coulisses, histoire de vous mettre encore plus dans l’ambiance et vous donner envie (ou pas) de nous y retrouver la prochaine fois!

Lire la suite de Symfony Live 2010 : Les coulisses

Symfony Live 2010 : 2eme journée

Après une première journée, un peu éprouvante – levé 5h30, couché 2h – on est reparti au front, avec dans la ligne de mire la preview de Symfony 2. Forcément, ca motive.

Lire la suite de Symfony Live 2010 : 2eme journée

PHVsPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTEuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS0zLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTQuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzQ8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hbHRfc3R5bGVzaGVldDwvc3Ryb25nPiAtIGN1c3RvbS5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19hdXRvX2ltZzwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9hcmNoaXZlczwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9ob21lPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fZmF2aWNvbjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfdXJsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSBodHRwOi8vd3d3LmFtaWNhbGVtZW50LXdlYi5uZXQvd3AtY29udGVudC93b29fdXBsb2Fkcy8zLWxvZ28ucG5nPC9saT48bGk+PHN0cm9uZz53b29fbWFudWFsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tLzwvbGk+PGxpPjxzdHJvbmc+d29vX25hdl9leGNsdWRlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIFR5cGViYXNlZDwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX2hlaWdodDwvc3Ryb25nPiAtIDEwMDwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX3dpZHRoPC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fdXBsb2Fkczwvc3Ryb25nPiAtIGh0dHA6Ly93d3cuYW1pY2FsZW1lbnQtd2ViLm5ldC93cC1jb250ZW50L3dvb191cGxvYWRzLzMtbG9nby5wbmc8L2xpPjwvdWw+