Archives mensuelles : avril 2010

Le principe de précaution

“Quelqu’un peut il m’expliquer pourquoi il arrive fréquemment, dans une équipe
projet, d’avoir une ou deux personnes qui ne peuvent écrire une classe sans écrire,
systématiquement, une ou plusieurs interfaces ou classes abstraites qui, en fin de
projet, ne sont finalement implémentées que par une classe voir pas du tout ?”

Voilà en substance un mail qui a lancé un débat intéressant entre collègues. Et je
dois dire que je suis d’accord avec ce constat et qu’il est vrai que j’ai parfois
l’impression que certains développeurs pensent que savoir développer proprement et
professionnellement signifie devoir implémenter 9879798 interfaces et classes abstraites
et ajouter 98770754 niveaux d’abstractions. Après tout, rajouter de l’abstraction
est le premier réflexe que l’on peut avoir lorsque l’on essaie d’atteindre l’objectif
premier de tout développeur qui se respecte :

Ecrire du code maintenable

Cet objectif est en effet primordial afin de réduire le coût de développement (et
de maintenance) d’un projet. Mais il mène parfois vers le travers évoqué ci-dessus.

Cette
mauvaise habitude appelée “le syndrome du “ocazou”” par David,
se rapproche beaucoup du principe de précaution dont on parle beaucoup en ce moment.
Adapté au développement logiciel celui-ci pourrait se traduire par :

“ l’absence de certitudes, compte tenu des connaissances techniques du moment,
ne doit pas retarder l’adoption de mesures effectives et proportionnées visant à prévenir
un risque de dommages graves et irréversibles au projet de développement à un coût
économiquement acceptable ”

Seul problème avec ce genre de principe de précaution, il est très souvent difficile
d’arriver à proportionner correctement son action afin d’éviter les problèmes par
la suite. L’actualité récente l’a montré, le principe de précaution incite souvent
à exagérer la menace, et a dans quasi tous les cas une certaine faculté à faire exploser
les coûts pour un résultat… souvent peu mesurable.

En réalité, la maintenabilité doit certes être basé sur du code propre et bien structuré,
mais il repose également sur deux principes fondamentaux :

  • Le principe KISS (Keep
    It Simple and Stupid)
    : Plus un code est simple et plus il sera facilement
    compréhensible et maintenable. Ajouter de la complexité en ajoutant des niveaux d’abstractions
    inutiles ne fait… qu’ajouter de la complexité.
  • Le principe
    YAGNI
    (You aren’t going to need it)
    : Ce principe indique qu’il
    ne faut pas ajouter des fonctionnalités ou du code tant que l’on n’en a pas réellement
    besoin.

Ces deux principes sont d’autant plus valables que nous avons à présent des outils
efficaces (comme ReSharper) permettant
de refactoriser intelligemment son code afin de faire évoluer son architecture quand
on a en besoin
. Inutile donc de rajouter de la complexité en prévision
du futur, il ne sera pas trop tard pour le faire par la suite…

News de la semaine #17

imageCommençons
comme chaque semaine par l’actualité de Windows Azure. Cette
semaine Steve Marx nous explique comment activer la compression HTTP du serveur IIS
pour vos instances Windows Azure
.

Je vous indiquais la semaine dernière que Visual Studio 2010 était disponible, et
bien cette semaine Brian
Harry annonce la disponibilité des versions localisées de Visual Studio 2010.

Avec la sortie de VS 2010, plusieurs ressources sont publiées afin de monter rapidement
en compétence telle que le
Silverlight 4 Training Kit qui nous est présenté par Scott Guthrie.

Je vous avais indiqué en février que Lucas Bolognese quittait Microsoft, et bien cette
semaine c’est
une autre figure connue qui quitte le géant de Redmond puisque Brad Abrams a annoncé
son départ.

Quant à l’actualité produits, l’équipe de Novell propose
la preview 6 de Moonlight 3
, ainsi
que la version 3.0 de MonoTouch
.

Du côté des publications françaises, Jb
Evain nous propose un post qui traite des arguments nommés et des arguments par défaut
en C# 4
et Jeremy
Jeanson nous indique comment avoir une version Express de Visual Studio qui ressemble
fortement à une édition complète
.

Crypter les chaines de connexions est inutile

En
me rendant sur la page d’accueil de la plate-forme WordPress, je suis tombé sur le
dernier post de blog de l’équipe de développement de ce logiciel. Ce post intitulé
Secure File
Permissions Matter
” indique de manière censée qu’il est toujours nécessaire de
configurer les permissions d’accès à vos fichiers afin d’éviter tout problème de sécurit”,
notamment liés à votre hébergeur.

Ce qui est plus que surprenant, c’est de voir Matt Mullenweg créateur
de WordPress et une des personnes les plus influentes
du web
commencer son post par une banalité (qu’il est néanmoins toujours utile
de rappeler) pour continuer en s’improvisant expert en sécurité en affirmant que, comme
toutes les autres applications,
WordPress doit stocker
les informations de connexions à la base données en clear text et qu’il est inutile
de vouloir crypter ces informations puisque les clés de cryptage seraient facilement
accessibles puisque stockés sur le système de fichiers…

Voir http://awurl.com/rROy45oeC pour
la citation exacte.

Je sais bien que WordPress est développé en PHP mais bon, ASP.net permet de crypter
des sections de configurations depuis ASP.net 2.0 c’est à dire depuis près de 5 ans,
de plus pour éviter les problèmes d’accès aux clés de cryptage, il
est possible d’utiliser DPAPI
qui résous complètement ce problème potentiel.

Donc bon, peut être que crypter ses chaines de connexions n’est pas aussi inutile
que ça et qu’il est techniquement possible de le mettre en place efficacement…

BDC 2010 d’Aix en Provence le 18 Mai

Evenement développeur - nouvelles technologies paca, aix en provence

Après l’édition de Toulouse qui fut une année encore un succès, vous pourrez participer,
si vous êtes dans le Sud-Est de la France, à l’édition d’Aix en Provence de la Bewise
Day Conference organisée par Bewise Sud-Est !

Cet évènement aura lieu au Pasino d’Aix en Provence, et vous permettra d’assister
des sessions sur Silverlight 4, Sharepoint 2010, Windows Phone 7, Team System 2010,
etc.

Pour vous inscrire (c’est gratuit !) : http://bse.bewise.fr/BDC2010

News de la semaine #16

imageCette
semaine est certainement la “Release Week” de l’année !

Première sortie d’importante, celle
de Visual Studio 2010
et du
framework .net 4
.

Quelques articles sont déjà publiés à propos des nouveautés de .net 4.0 avec en vrac
: les
nouveautés du Client Profile du framework .net 4.0
, une
synthèse des nouveautés d’Entity Framework V4
, les
améliorations de performances de WPF 4
les
améliorations de performances du ThreadPool
, les
breaking changes à considérer lorsque l’on passe de la V 3.5 à la V4
.

Silverlight
4 est également disponible en RTW
. A noter que les outils d’intégration à Visual
Studio ne sont pas encore disponible
en version finale mais uniquement en RC2
.

Du côté des langages, Don
Syme nous annonce la disponibilité de F# 2
et IronRuby
est désormais disponible en version 1.0
.

En plus de ces sorties, Jetbrains
a annoncé la disponibilité de ReSharper 5
, l’équipe
de Pattern & Practices annonce la disponibilité d’Entreprise Library 5
et
l’équipe
de la table de Microsoft Surface sort la version beta du Microsoft Surface Toolkit
pour Windows Touch
.

Du côté du projet Mono de Novell, Jb
Evain nous présente l’évolution du projet Cecil et les nouveautés apportées par la
version 0.9
. Jeremy
Laval nous annonce que son implémentation de PLinq a été intégrée dans le trunk de
Mono !

Je
m’interrogeais il y a peu sur le projet Sandcastle
, cette
semaine Jon Skeet nous propose un article décrivant son utilisation
, et Richard
nous annonce que non, le projet n’est pas mort
!

Et enfin la polémique de la semaine concerne les
changements de conditions d’utilisation du SDK de l’iPhone et de l’iPad qui pourrait
avoir un impact fort sur le projet MonoTouch
. L’équipe de la CLR quant à elle
souhaite calmer celle qui entoure régulièrement le site web Connect et indique précisément quel
est le process de gestion des suggestions/bugs soumis sur ce site
.

News de la semaine #15

imageDébutons
comme chaque semaine, avec l’actualité de Windows Azure. L’épisode
8 de Cloud Cover est disponible et traite du sujet des Shared Access Signatures
.
Steve Marx nous parle de l’utilisation
des verrouillages pour l’accès aux blobs.

A propos de Visual Studio 2010 et du framework .net 4.0,  Soma
Somasegar nous parle des tests effectués en interne (le “dogfooding”) de ces deux
produits
. Scott
Guthrie évoque les améliorations apportées à l’IntelliSense pour le langage javascript.

Une question qui revient de temps en temps concerne le support (à un moment incertain)
de Crystal Reports dans la prochaine version de Visual Studio. L’équipe
de Visual Basic nous en dit plus à ce sujet.

Patrick
Smacchia nous propose un post intéressant à propos de différentes infos/astuces qui
permettent d’éviter le syndrome “It works on my machine”.
 

Du côté de l’actualité française, Richard
Clark nous parle des modifications des termes d’utilisations du SDK d’iPhone qui pourrait
avoir un gros impact sur MonoTouch
.

Quant à Lionel Limozin, il
nous invite à l’édition d’Aix en Provence de la Bewise Day Conference
. Si vous
êtes dans le sud-est de la France n’hésitez pas à vous y rendre si vous souhaitez
être up-to-date sur les technologies Microsoft.

News de la semaine #14

imageComme
souvent, débutons avec l’actualité de Windows Azure et plus particulièrement de SQL
Azure puisque Thomas Conte nous
annonce la future disponibilité des instances de 50Go
(pour le moment uniquement
disponible 1Go et 10Go).

L’équipe de la Task Parallel Library propose des extensions à la TPL proposée avec
.net 4.0 via le projet ParallelExtensionsExtras.
Afin de faciliter l’accès à ce projet annexe une
série d’articles est en cours de rédaction
.

Toujours à propos des projets annexes au framework, l’équipe
de la BCL
publie sur Codeplex un projet contenant
des previews et prototypes susceptibles de se retrouver dans les prochaines versions
.

InfoQ propose un article synthétique mais néanmoins intéressant sur les
arguments permettant de choisir entre REST et SOAP
.

Du côté de l’actualité Produits, JetBrains annonce dotCover
un nouvel outil d’analyse de couverture de code
. Comme tous les outils JetBrains,
il va falloir surveiller ça de très près !

Michael G. Lehman annonce le
Feature Builder Power Tool pour Visual Studio 2010
, qui est le successeur des
projets GAT et BluePrints. Espérons que celui-ci sera un peu plus stable et aura une
durée de vie plus importante que ses prédécesseurs !

image

Compte rendu de la BDC 2010

Comme je vous l’avais indiqué, nous avons organisé Jeudi 1er Avril l’édition
2010 de la Bewise Day Conference
. Cette demi-journée fut l’occasion de réunir
près de 500 personnes autour des technologies Microsoft dans un lieu culte toulousain
: le stade Ernest Wallon !

Cette édition fut particulièrement riche puisque nous avons pu proposer à l’ensemble
des visiteurs plusieurs annonces et présentations en avant-première :

  • L’équipe responsable des Communications Unifiées a présenté OCS
    14. Cette version majeure d’OCS propose
    une toute nouvelle UI
    (pour la première fois réellement extensible) ainsi que
    des fonctionnalités vraiment en avance par rapport à la concurrence.
  • Le développement d’applications mobiles pour Windows Phone 7
    Series fut présenté pour une des premières fois en France par Pierre
    Cauchois
    , responsable mobilité à Microsoft France.
  • Nous
    avons également lancé la version azurée de nopCommerce
    . Si vous créer votre site
    d’e-commerce tout en bénéficiant des avantages de Windows Azure, n’hésitez pas à y
    jeter un oeil.

En plus de toutes ces annonces/présentations en avant-première, plusieurs sessions
ont été présentés sur des sujets aussi variés que : Windows Azure, Silverlight 4,
Sharepoint 2010, SQL Server 2008, la virtualisation et les communications unifiées.

Si vous souhaitez en savoir plus vous pouvez visionner les photos que j’ai prises
durant l’évènement :

>>>

ou consulter les différents tweets qui ont été postés tout au long de la journée : http://twitter.com/#search?q=%23bdc10

image 

A l’année prochaine pour la BDC 2011 !

image

Votre site d’e-commerce sur Windows Azure !

image J’ai
le plaisir de vous annoncer que nous lançons aujourd’hui, jour du Bewise
Day Conference
qui se tient à Toulouse et qui réunit plus de 500 personnes, une
version azurée du projet nopCommerce
!

Ce projet open source vous permet de créer rapidement votre site d’e-commerce et de
le personnaliser facilement puisque celui-ci a été développé en ASP.net.

Afin de bénéficier des fonctionnalités de ce projet et de la puissance de la plate-forme
Windows Azure. Vous pouvez dès à présent télécharger la version Azurée de nopCommerce
que nous venons de publier sur CodePlex : http://nopcommerceazure.codeplex.com/

Nous publierons très prochainement quelques informations concernant la migration de
ce projet vers Windows Azure. Je vous recommande en attendant de consulter les articles
de Sebastien Pertus, expert Windows Azure à Bewise : Plateforme
Azure : Migrer !
et Plateforme
Azure : Migrez ! Part II