Jobeet: Une vision convaincante

Posté par Cedric, le 21/12/2008 - Technologie

T_bf7b2130de16cc7a4649c0e36ece40dfJobeet est un tutorial en 24 parties, destiné à couvrir l'ensemble des fonctions offertes par le framework symfony dans le contexte de réalisation d'un projet réel. Alors que la série touche à sa fin, on peut faire quelques observations:

#1 L'ordre des cours

L'équipe symfony a choisi de partir du cahier des charges (sous formes de stories, respectant les principes de l'XP), pour ouvrir les hostilités par le design, juste après la conception du modèle de données, avant de s'attaquer en profondeur à la couche métier.

C'est précisément l'ordre par lequel nous avons également eu le moins de surprises. Juste après la conception de données, nous nous attardons même sur le conception visuelle de l'ensemble des parties où l'utilisateur peut entrer des données. Généralement, donc, le back office. En plus du design des formulaires (très utile pour repasser ensuite aux formulaires objets, faire les bons empilements de formulaires et développer les bons widgets), on peut également designer les différentes listes proposées à l'administrateur, ainsi que les interactions qu'il devrait être en mesure de faire à partir de là (et les implémenter basiquement, y compris l'éventuelle couche javascript).

Il s'agit en fait d'un bon moyen pour se rendre compte des éventuelles incohérences de conception, puisqu'en partant de toutes les possibilités d'entrées de données, il est facile d'adapter le modèle de données au mieux, l'affichage en front n'étant très souvent qu'une simple exploitation de données entrées par ailleurs (ou alors, si ce n'est pas le cas, il convient dinclure ces interactions utilisateurs en front dans ce prototypage graphique du début). Commencer par l'aspect visuel permet aussi de rapidement traduire vos scénarii d'utilisation en modules, actions, et routes correspondantes.

#2 L'importance des plugins

Nous avons beaucoup aimé le retour appuyé sur l'utilité des plugins. En effet, les plugins ne sont pas uniquement des packages publics prets à l'emploi. Ils sont aussi peut être le meilleur moyen de développer la véritable intelligence de votre projet. En effet, leur réutilisation est extrêmement simple, et se résume souvent à copier/coller un répertoire, qui lui reprend l'ensemble de votre travail.

Ainsi, dans les traitements de la couche modèle que nous faisons, nous travaillons par itérations succsessives:

1/ définition du comportement souhaité (exemple, un modèle Article doit etre taggé par un modèle Tag)

2/ qualification selon le critère "besoin ponctuel" ou "fonctionnalité réutilisable". Si la fonctionnalité doit être réutilisée, soit sur un autre modèle du même projet (ex: modèle Video), soit sur un autre projet, nous pensons "plugin".

3/ Comme nous travaillons désormais uniquement sur Doctrine, nous avons le bonheur d'utiliser très régulièrement les Templates, natifs à l'ORM. Pour chaque template que nous créons, nous créons un plugin correspondant.

4/ Si des interactions utilisateurs sont propres à cette fonctionnalité, nous les ajoutons au plugin. Par exemple dans notre cas, nous pouvons y intégrer une interface d'administration pour voir la liste des tags et en supprimer, ou encore un widget spécial qui étend une fonctionnalité jQuery qui va puiser dans notre liste de tags pour auto-alimenter un champs text avec suggestions AJAX (qui lui même pourrait étendre ce widget déja existant).

Ainsi, l'application pure de notre système se résume à définir le comportement dans le modèle de données (actAs: Taggable), puis de définir notre nouveau widget dans notre formulaire (sfForm::setWidget('field' => myWidgetFormInputWhatever)). En bref, une fois que le plugin est développé, deux minutes de travail réutilisables sur tous nos modèles.

#3 L'ouverture sur le monde

Le move stratégique le plus intéressant de cette série de tutoriaux est d'avoir inscrit clairement symfony non comme une solution s'opposant aux autres offres du marché, mais comme une solution complémentaire, et en particulier un produit complémentaire du framework Zend.

C'est également une pratique que nous apprécions. En effet, de si nombreuses librairies ayant été développées pour Zend, qu'il serait contraire au principe DRY de vouloir réinventer la roue. De plus, symfony permet d'intégrer facilement n'importe quelle librairie externe. Zend_Rest, Zend_Gdata, Zend_Amf, Zend_Search_Lucene, et bien d'autres encore sont des librairies magnifiques tant elles vous font gagner du temps de développement.

En bref, ces tutoriaux nous ont fait découvrir le symfony que nous pratiquons et que nous aimons: une plateforme complète et fiable qui s'intègre avec toute l'intelligence créée par ailleurs, et qu'on peut vraiment développer de manière modulaire et incrémentale en réutilisant systématiquement chaque entité développée.

C'est en programmant de cette manière (avec des tests systématiques et complets) que l'ont peut beaucoup gagner en productivité, à mesure que l'expérience s'accumule.

tags: doctrine, symfony

A lire aussi: Comments Commentaires
Come on! It sould be there...

Posted by cv writer on 02/03/2010

Full Lace Front Wig, Long & Short Hair Wigs: 80% OFF at Celebrity Wigs. We ensure 100% customer satisfaction with our Long & Short Indian Remy Hair Wigs.
cheap wedding dresses
cheap evening dresses
cheap prom dresses
cheap evening dresses
cheap prom dresses

Posted by lacewigs on 12/06/2010

Dresses, evening, cocktail, prom dresses, formal gowns from eiDress. Homecoming dresses and bridesmaid.
discount Evening Dresses
Prom dresses, evening wear, daywear and accessories from celebrity designers and exclusive ranges. Buy online or visit our prom dresses stores
prom dresses
discount prom dresses
New Style Moncler,Moncler jackets,Moncler coats online
Moncler coats
Moncler
Moncler jackets,Moncler,Moncler coats,Moncler vest,discount Moncler outlet, moncler polot shirt Moncler Men Moncler Women Moncler Children Moncler Hats.
Moncler Jackets
UK Moncler

Posted by evening dresses on 17/06/2010

tiffany jewelry is your best Tiffany & Co sliver jewellery provider.
tiffany and co a discount Tiffany jewelry online store, everybody can afford
tiffany jewellery as a memorable jewelry gift.Tiffany & Co specialises in quality handcrafted designer stering silver jewelry,
Tiffany jewelry arrived! Top quality, sterling silver, mystique design Tiffany jewellery are on sale
Tiffany Bracelets
Tiffany Earrings
Tiffany Necklaces
Tiffany Rings
Gucci sale, italy gucci handbags, gucci bag, gucci shoes, up 50% off, 100% money back guarantee, wholesale and retai gucci handbags, gucci bag
Gucci handbags
Gucci sale
Gucci handbags, shoes, purses, wallets and other collection. Our outlet store online offer you the cheap Gucci sales.

Posted by dahai on 20/06/2010

wedding dresses,wedding gowns,bride dresses,bridesmaids dresses,evening dresses,bridal gowns,
flower girl dresses.
Evening Dresses
wedding Dresses
discount wedding dresses
Prom Dresses: Find Online fashionable prom dresses,homecoming dresses from top USA prom gowns designers,
Evening dresses, sexy Tops , casual dress ,sexy
discoun prom prom dresses
Elegant couture designer evening gowns, sexy dresses, inexpensive on sale prom dresses,
discoun evening dresses
Nationwide bridal salon offers bridal and wedding gowns, bridesmaid dresses,
flower girl dresses, tuxedos, and other special occasion apparel. Site includes a bridal
links london
links of london
discoun prom dresses


Posted by xiaoxiao on 20/06/2010

The Lingerie Store,The lingerie and nightwear SALE at Style Lingerie. All lingerie sale garments marked 30% to 70% off. Sexy lingerie, ladies underwear and designer nightwear
lingerie store
lingerie sale
sexy lingerie
Sexy Clubwear
Sexy Sexy Lingerie is an online lingerie store selling designer lingerie including Shirley of Hollywood, Dreamgirl and Hustle
Sexy Costumes
sexy nurses costume
sexy Sports costume
Vinyl Lingerie
lingerie sale

Posted by lacewigs on 07/07/2010

thank you! I like this news, I also have information to share, here is my message.
mbt mbt mbt 靴 mbt 靴 mbtシューズ mbt シューズ

Posted by mbt on 08/07/2010

Cosplay Costumes Cosplay Wigs Movie TV Cosplay School Uniform Uniform Cosplay Cosplay Accessories .
cosplay costumes
cosplay
sexy lingerie
The Lingerie Store,The lingerie and nightwear SALE at Style Lingerie. All lingerie sale garments marked 30% to 70% off.
Sexy lingerie, ladies underwear and designer nightwear
lingerie store
lingerie sale
sexy lingerie
Sexy Clubwear
Lingerie, sleepwear and intimate apparel is our specialty, ranging from sexy lingerie to bridal lingerie,
including corset, bras, thongs and stockings.
Sexy Costumes
sexy nurses costume
sexy Sports costume
Vinyl Lingerie
lingerie sale

Posted by cosplay on 30/07/2010

Shop the latest styles juicy couture handbags, juicy couture tracksuit.
Juicy Couture
An online shop specializing in Herve Leger, Herve Leger Dress, Herve Leger Skirt,
Herve Leger
FashionStyleOnsale offer high quality Moncler Jackets at low price.
Moncler Jackets on sale, shop more discount Moncler Vest, Moncler Coats at FashionStyleOnsale
Moncler

Posted by juicy couture on 30/07/2010

Ajouter un commentaire