insideIT.fr : le blog des architectes IT de SFEIR

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 9 octobre 2009

Azure : Prepare to be a part of it

Sun Rise On ISSPourquoi donc un titre en anglais ? C'est la phrase de David Chappell concluant sa magnifique présentation de la plateforme Azure et du cloud computing en général, qui a eu lieu hier au palais des sport d'Issy les Moulineaux pour les Microsoft Days.
David Chappell est un orateur et un visionnaire hors pair, jusque-là rien de nouveau. Le cloud computing est un sujet brûlant, jusque-là rien d'étonnant. Microsoft mise beaucoup sur Azure, sa plateforme Cloud et ce n'est pas un scoop. Mais le mélange des ingrédients tient de l'alchimie parfois et peut offrir un plat rafraichissant et pimenté à la fois. Je me permets cette image, lui même ayant démarré sur une apologie de la cuisine française. Car en bon orateur il est arrivé en courant et a commencé par une plaisanterie (deux en fait). La présentation s'est déroulé ensuite comme un combat de boxe, ne laissant pas un instant de répit aux auditeurs, suivant un plan simple et efficace : description; scénarii, comparaisons. Je n'ai vu personne bailler. Franchement, si le sujet n'avait pas été captivant en soi, il fallait venir juste pour le jeu d'acteur. Une vraie leçon de communication qui n'avait rien à envier de celle de l'avant veille par un orateur hors norme lui aussi, Steve Balmer. Mais passons: assez parlé du flacon, attaquons tout de suite l'ivresse, enfin je veux dire le contenu.

A new world is unfolding!

(ça devient une habitude!) Quel est donc ce monde nouveau en train d'émerger ? Le Cloud. La 6ème révolution informatique: après le Mainframe dans les années 60, le PC dans les années 70, les PC en masse dans les années 80, les serveurs dans les années 90 et la technologie mobile dans les années 2000, voici l'ère du nuage.

Alors qu'il y a quelques mois encore tout le monde était plus ou moins dubitatif sur la rapidité d'adoption, chacun attendant que l'autre se lance et se casse les dents éventuellement, aujourd'hui il n'est plus possible de douter de l'ampleur du phénomène et la courbe d'adoption parle d'elle même (selon Gartner qui est plutôt fiable en général). En clair: la course est lancée et ceux qui sont assis seront en retard. Je parle ici des éditeurs, car pour eux les places seront chères. Et ce n'est rien de le dire, un data-center pour le cloud, c'est au bas mot un demi milliard de dollars, mais surtout c'est un pari qui ne peut reposer que sur une vrai capitalisation technologique et d'image qui ne s'improvise pas. Ne pourra pas ouvrir un "cloud" qui veut. Amazon a pu se lancer parce qu'il était le premier. Et c'est d'ailleurs une première dans l'histoire des technologies de l'information et sans doute une anomalie sympathique. Mais il y a peu de chance que le phénomène se reproduise à présent.

It's here !

Pour les entreprises, l'urgence est moindre. Mais les opportunités sont énormes et les manquer serait une erreur stratégique. Le cloud computing est une réponse à beaucoup de blocages insurmontables jusque là. Les exemples sont innombrables. De la start-up qui n'a pas les moyens de se payer un service IT, à l'équipe d'une grande entreprise qui préfère éviter d'y faire appel, à son service IT. Des pics de charge journaliers d'une entreprise moyenne ouverte le jour mais finalement pas la nuit (comme beaucoup d'entreprises on en conviendra), à l'envolée brutale à la Twitter, en passant par les montées en charges saisonnières au fil des campagnes marketing, des rencontres sportives, des élections. De ceux voulant des espaces de stockage à des prix défiant toute concurrence, à ceux qui souhaitent exporter des calculs très gourmands mais limités dans le temps. Les raisons sont toutes bonnes pour tâter du nuage. Et quant au pricing, la difficulté qu'il y a à comparer les services entre eux et avec les solutions on-premise (chez soi en somme) démontre une chose, c'est qu'il n'y a pas d'écart délirant et que le choix ne portera vraisemblablement pas sur ce critère.

De nouvelles menottes ?

Certains y voient un nouvel emprisonnement. Une fois dans le cloud, qui pourra assurer que l'on peut en revenir. C'est une question pertinente mais qui a déjà ses réponses. Tout d'abord, si SalesForce a clairement fait le choix de l'enfermement, par un système très propriétaire, Amazon, Google et Microsoft jouent plutôt la carte de l'ouverture et de l'interopérabilité. Les uns sont en Java ou en python, les autres en .NET, PHP ou autres, sur des plateformes connues. Il est facile de porter une application sur ces plateformes, il sera facile de les en retirer. Ensuite, du fait de cette compatibilité "raisonnable", les prix sont assurés de ne pas s'envoler une fois la courbe d'adoption jugée suffisante par les éditeurs.

Certains y voient la mort des fournisseurs. Mais ceux-ci restent la source de revenus principale d'éditeurs comme Microsoft, qui n'aurait aucun intérêt à tuer cette manne. Il y a donc plus probablement à prévoir une cohabitation serrée mais possible.

Et revenons aux start-ups. Comme l'a joliment fait remarquer David Chappell, qu'est-ce qui caractérise le plus souvent une start-up ? L'échec. "Je plaisante bien sûr" a dit M.Chappell (il a dit "je plaisante" au moins une douzaine de fois, à chaque fois en glissant des vérités plus sensibles les unes que les autres). Mais le fait est: la très grande majorité des Start-up échoue avant de rapporter la queue d'une cerise. Le rapport avec le Cloud ? Allez, encore une phrase dans le texte : "with the cloud, if it fails, it fails fast". Quitte à sombrer, autant que ce soit rapide et sans frais supplémentaire. Ca donne plus envie de prendre des risques non ? Alors que la crise financière a plombé indubitablement les velléités des business angels, le cloud va donner un coup de fouet aux créations d'entreprise, c'est un pari que je suis prêt à prendre.

Facile et pas cher !

Pour les aspects techniques, je vous laisse consulter le livre blanc sur Azure du même David Chappell, qui est déjà disponible en anglais et en français et qui a servi de fil conducteur pour la partie technique de la présentation. Je ne m'amuserai pas à parodier ici un plan assuré et efficace. Mais un bref résumé laconique et simpliste : à moins que votre application ai besoin de droits administrateurs pour tourner (auquel cas passez votre chemin et orientez-vous vers Amazon ou SalesForce), le portage se fera en un clin d'oeil.

Pourquoi hésiter, alors ? Oui, pourquoi. La question n'est plus tant de savoir si l'on prend le train que de savoir à quelle heure. Et admettons, ce qu'on apporte avec soi pour le premier voyage. N'allons pas tout déménager en une fois. Laissons la confiance venir avec le temps. Mais ne manquons pas un beau voyage. Il faut faire partie de l'aventure. Be a part of it !

Alors une petite dernière pour la route :

It's up to you

Quelques livres blancs (dont celui cité) : http://www.microsoft.com/azure/whitepaper.mspx

Le blog du maître : http://www.davidchappell.com/blog/

jeudi 19 février 2009

Rencontre d'un néophyte avec ALT.NET Paris

AltNetMercredi avait lieu une réunion du groupe ALT.Net pour présenter Aspectize. 

Une présentation dans les locaux de Winwise à Opéra, assurée par Fréderic Fadel et Nicolas Roux (Co-fondateurs d'Aspectize) qui proposent via une plateforme de développement, une nouvelle approche pour développer les applications .NET.

Une approche: Sans objets ni ORM! Le mot clé dans cette nouvelle architecture est : «relation»…En d’autres termes et en bref, on ne s’intéresse pas aux types de données ni aux objets mais à la relation qui existe entre ces données et ces objets…

Grâce à cette architecture on peut par exemple binder les données d’une application web ou d’une application lourde… avec la même fonction!

L’intérêt réel de cette rencontre n’était pas seulement de découvrir cette plateforme (pour cela il suffit de regarder la vidéo) mais d’aborder plusieurs aspects : architecture, modèles et autres apects relatifs à ce sujet….

Et je peux vous dire que c’était très enrichissant !

Enfin et pour terminer ce billet, félicitons Alt.Net pour la création de leur site officiel... A découvrir sans attendre.

Le site Alt.Net : http://www.altnetfr.org

La vidéo : http://www.dailymotion.com/video/x4l91r_videoaspectize_business

mardi 10 février 2009

Déploiement et cycle de vie d'une application SharePoint...TechDays2009

techdays2009Un labyrinthe de stands, un labyrinthe de salles et surtout un véritable labyrinthe de présentations…Des sessions pour tous les goûts et dans tous les domaines, dans ce billet j’aimerai récapituler une session très intéressante autour du déploiement et cycle de vie d’une application SharePoint, une session présentée par Stéphane Palluet (Senior Consultant Chez Microsoft France).

Tout d’abord une définition d’une application SharePoint :

Une application SharePoint se devise en trois parties :

     1) Le code : Les assemblies .Net(Page Aspx, WebParts…)

     2) La configuration : Les fichiers manifest XML (pour les définitions des sites et des listes…)

     3) Le contenu

Les outils pour mettre en place un environnement SharePoint :

     -Power Users : Pour les sites et les templates SharePoint

     -Designer&Analysts : Office Designer, Office Excel, Office Accès,…

     -Developpers Pro : Visual Studio comme environnement de développement (avec les extensions nécessaires)

Une remarque par rapport au SharePoint :

Un très bon outil pour réaliser les workflows et pour avoir des vues sur les listes et les sites SharePoint mais pas pour éditer le code !

Et comment déployer une application SharePoint ?

Après le développement de l’application (avec la construction de l’arborescence de répertoires à la main!…Pas très pratique!), le reste est simple, il suffit d’installer au sein de Visual Studio l’outil : WSPBuilder comme générateur des solutions WSP (ou installer les extensions Visual Studio pour Windows Sharepoint). L’application SharePoint est un package avec l’extension «.wsp» (et pour voir le contenu, il suffit de remplacer .wsp par .cab). Ce package contient des composants, des «Features», des fichiers de configuration et le fichier DDF.

Le déploiement de la solution wsp peut se faire via :

     - Une ligne de commande

     - Un installer (SharePointInstaller http://www.codeplex.com/sharepointinstaller).

Avant de terminer ce billet, il me semble intéressant de rappeler la définition de «Features».

Un Feature est une unité de conception et de déploiement, les Features nous permettent de créer des solutions modulaires et d’étendre les sites existants.

J’ai oublié de vous dire que je n’ai pas encore trouvé la sortie de mon labyrinthe…Alors j’y retourne ;)

vendredi 23 janvier 2009

Création d'un groupe utilisateurs français de .NET sur LinkedIn

logo.net.max3 Il existe de nombreux groupes sur LinkedIn qui portent sur les technologies de Microsoft. Ces groupes sont en général très intéressants quand il s’agit de la technologie elle même. Mais un constat s’impose : il n’existe pas de groupe local sur le sujet. Et sur LinkedIn les contacts world wide présentent peu d’intérêt côté business. En effet les groupes donnent l’opportunité de faire passer des offres de prestation, de partenariat ou de collaboration, et dans ces cas là, la proximité est un critère de choix.

D’où l’idée de la création de ce groupe “.NET France”. Il date de ce mardi et il compte 124 membres à cette heure. Et force est de constater la diversité des profils entrants : développeurs, chefs de projets, architectes, chefs d’entreprises… Un vrai bonheur. Et last but not least, Sami Jaber de DotNetGuru a bien voulu le manager et a publié un billet à cette occasion. linkedin

Ce groupe permettra d’échanger sur nos expériences de praticiens .NET dans l’hexagone. C’est aussi un bon moyen de montrer qu’il se passe des choses en France sur .NET, qu’il y a des passionnés, des projets qui tournent. Et une chance qui sait, de rapprocher les énergies et de créer des synergies.

Alors, comme l’a dit Sami, si vous recrutez, si vous cherchez à faire connaitre un produit, ou si vous êtes en quête d’experts du domaine, n’hésitez plus:

L’article de Sami Jaber

Repris pas ASP MAGAZINE

Rejoindre le groupe ".NET France" sur LinkedIn (un compte LinkedIn est requis)

lundi 24 novembre 2008

Silverlight 3...Si si 3 !

microsoft_silverlight_c Une nouvelle version de Silverlight va voir le jour l’année prochaine...On connaît pas tous les détails sur cette nouvelle version mais selon le responsable .net chez Microsoft Scott Guthrie(voir le blog), Silverlight 3 apportera :

- Améliorations Médias : Le support des formats vidéo H.264
- Améliorations Graphiques : Le support de la 3D et l'accélération matérielle du GPU
- Améliorations des contrôles et ajout de contrôles supplémentaires
- Un designer Visual Studio et Visual Web Developer Express éditable et interactif

Selon Scott Guthrie, plus d’un ordinateur sur 4 connecté à internet possède une version Silverlight Chapeau !

On ne parle pas assez de Silverlight Streaming et pourtant il y a de quoi puisque ce dernier est compatible maintenant avec Silverlight 2.0 (RTW) et pour rafraîchir nos neurones ;), Silverlight Streaming propose principalement:

- 10 GB d’espace gratuit pour héberger les applications silverlight
- Convertir les vidéos pour les rendre aux formats compatibles Silverlight
- Avoir des liens directs et statiques vers les vidéos
- Un espace d’administration

Et pour terminer cet article, un extrait aux amateurs des dessins animés…A vous de deviner le titre et la technologie utilisée ;)…Ici

Silver Anim

vendredi 21 novembre 2008

Enfin on peut aller plus loin avec Silverlight 2 !

microsoft_silverlight_c Avant d’attaquer le vif du sujet, j’ai remarqué qu’on perd un peu les pédales avec les différentes versions des outils et SDKs pour développer une application Silverlight 2.

Certes, cela montre une dynamique forte de la part de Microsoft mais pour les développeurs, cela signifie aussi des mises à jour de leurs travaux et des réinstallations permanentes!

La liste suivante représente les dernières versions des outils et SDK pour développer des applications Silverlight 2:

Microsoft Visual Studio 2008 Service Pack 1

Microsoft® Silverlight™ Tools for Visual Studio 2008 SP1

Microsoft .NET Framework 3.5 Service Pack 1

Microsoft® Silverlight™ 2 Software Development Kit Documentation

Microsoft Expression Blend™ 2 Trial

Microsoft Expression Blend™ 2 Service Pack 1

Maintenant votre machine respire mieux ;)

Enfin on peut manipuler des contrôles Silverlight 2 plus puissants et plus intéressants.

Exemple :

 Silverlight Toolkit

On parle de Silverlight Toolkit, développé par l’équipe des AjaxControlToolkit, il s’agit d’une boite à outils open source qui contient de nouveaux composants Silverlight regroupés en quatre niveaux de «qualité» : Experimental, Preview, Stable, Mature (pour plus de détails).

Exemples de contrôles :

Preview :

- AutoCompleteBox
- NumericUpDown
- Viewbox
- Expander
- ImplicitStyleManager
- Charting

Stable :

- TreeView
- DockPanel
- WrapPanel
- Label
- HeaderedContentControl
- HeaderedItemsControl

Silverlight Toolkit contient également une gamme de «thèmes professionnels» afin d’améliorer la présentation des contrôles (détails et démos).

Et comment je peux mettre en place Silverlight Toolkit?
La première des choses est de le télécharger! (Ici) et après avoir décompressé le répertoire «SilverlightToolkit_Nov08_Source», on rajoute les Dlls (du sous répertoire «Binaries») dans notre projet Silverlight et le tour est joué ! On peut manipuler les nouveaux composants avec Blend 2 :

Silverlight Toolkit Blend

Deux autres projets à retenir (qui peuvent être les sujets de prochains blogs !) :

- Silverlight Extensions (SLExtensions) - il s'agit d’une bibliothèque développée par Pierre La Garde, Thierry Bouquain d’UCAYA, Romuald Boulanger d’UCAYA, Simon Ferquel de Winwise. Cette bibliothèque contient : Des contrôles, Une librairie riche de classes ou de helpers et 3 Players skinables génériques (pour plus de détails)

- Eclipse4sl (Microsoft et Soyatec) - une sortie finale est prévue au printemps 2009, les objectifs sont :

- Créer un IDE fonctionnel pour réaliser des applications Silverlight

- Faciliter l’intégration des sites web et des services basés sur JAVA dans les applications Silverlight (pour plus de détails)

dimanche 9 novembre 2008

TechDays 2009 - avant goût

TechDaysLogo Pour ceux qui comme moi n'ont pas pu se déplacer jusqu'à Los Angeles et il parait qu'on est un certain nombre ;-) , un peu de patience suffira pour voir de près toutes les belles démos et les nouveaux concepts évoqués lors du PDC et qui sait, peut-être de nouvelles choses. Alors pour patienter justement, un petit détour sur le site tout neuf des TechDays 2009, ou mieux, s'abonner au flux RSS, histoire de ne rien louper et d'être parmi les premiers à s'inscrire. Allez, plus que 93 jours !

mercredi 8 octobre 2008

VS 2010 et .Net 4.0 surfent sur la vague des plateformes Next gen

die_hard_4_1 Si vous vous souvenez (ce dont je doute), nous avions ici même annoncé un 1 avril la sortie imminente du framework 4.0. Le canular était gros ? La réalité le dépasse. Un certain "Rosario", nom de code de la future version de Visual Studio s'annonce tonitruant. Son optique est plus que jamais de faciliter l'interaction entre architectes, designers d'applications, programmeurs, testeurs, chefs de projets et commerciaux, de briser les silos. Et pour cela qu'offre-t-il ?

- Un outil de gestion du cycle de vie des applications (ALM pour Application Life-cycle Management).

- Des interfaces graphiques de design métier et système à base d'UML et de DSL: les "modeling tools". Ce n'est donc pas un hasard si Microsoft a rejoint l'OMG il y a peu.

- Un vrai effort a été fait du côté des outils de tests (qui manquaient un peu jusque là) pour apporter enfin une alternative aux sempiternels tests manuels.

- Une plus forte adhérence aux méthodes agiles avec TFS (le Team Foundation Server) qui devient un vrai Hub de collaboration entre acteurs du projet.

- Des outils permettant de travailler sur les bugs non reproductibles.

Cette nouvelle version est la confirmation d'une nouvelle stratégie entamée dans le passage de la version 2005 vers 2008 qui est celle d'un dialogue réel avec les utilisateurs de Visual Studio. Et l'ouverture à l'open source qui se confirme comme pour l'intégration de jQuery, le framework javascript open source pour l'AJAX.

Qu'apporte le framework 4.0 de son côté ? Il surfe sur le Cloud Computing, vise plus que jamais le "developer delight", confirme la percée du parallel computing, des traitements distribués, de l'exploitation des processeurs multi-coeur, il améliore la partie SOA (notamment avec REST pour WCF), augmente les interactions entre WF et WCF. Et ce n'est qu'un début. Le reste sera annoncé à la PDC (Professional Developers Conference), à suivre donc.

Maintenant, pour désamorcer les moqueries que l'on sent déjà venir sur la vitesse des sorties de nouveau framework, rappelons que depuis le Framework 2.0, chaque nouvel opus vient compléter le précédent et non le remplacer. Donc pas de panique. Pas la peine de tout remettre en cause dans les applications existantes, votre plan d'action visant à convaincre votre chef de projet de la nécessité de passer au framework 3.5 (et qui vous promet déjà de longs débats) ne vole pas en éclat.

Je préfère laisser la conclusion au Senior Vice President de la division développeurs de Microsoft, S. Somasegar :

"With Visual Studio 2010 and the .NET Framework 4.0, we are focussed on the core pillars of developer experience, support for the latest platforms spanning client, server, services and devices, targeted experiences for specific application types, and core architecture improvements. These pillars are designed specifically to meet the needs of developers, the teams that drive the application life cycle from idea to delivery, and the customers that demand the highest quality applications across multiple platforms. You can expect to hear a lot more about Visual Studio 2010 and the .NET Framework 4.0 in the coming months."

Plein de promesses en perspectives et pourtant c'est pas encore Noël ! Alors à votre avis, en avril prochain, on vous fait le coup du Framework 5.0 ou il faudra taper plus haut ?

vendredi 27 juin 2008

Isolated Storage..Merci mais c'est quoi?!

Pour des raisons de sécurité, l’exécution des applications Silverlight se fait dans un environnement très restreint (impossible d'accéder à la base de registre, au système de fichiers, etc.), on parle alors d’une "sandbox" (bac à sable).
Et comment faire pour gérer un cache?
Silverlight nous offre un emplacement d’1Mo(extensible) pour stocker des informations sous forme de textes ou de fichiers (ex : les paramètres de login, les préférences utilisateurs…), on parle de "Isolated Storage" ou stockage isolé.
C’est comme des cookies d’un navigateur web finalement ?! Oui et non: le principe est le même, mais les caractéristiques pas vraiment ! à titre d’exemple :
Un cookie est lié forcément à un navigateur,l’Isolated Storage est lié à l’environnement, pas au navigateur (il ne faut pas oublier que Silverlight est multi-navigateur).
Un cookie ne peut pas dépasser 4ko, l’Isolated Storage propose 1Mo par défaut (extensible).
Un cookie contient des caractères alphanumériques, l’Isolated Storage peut contenir des fichiers(textes, images…)
Maintenant, mettre un peu la main à la pâte ça vous dit?
Tout d'abord, les gens qui ont déjà testé le fonctionnement d’Isolated Storage avec la beta 1, je tiens à leur dire qu’il ya eu quelques relooking avec la beta 2. Exemple:

  • System.IO.IsolatedStorage.IsolatedStorageFile.TryIncreaseQuotaTo(Int64) renomée: System.IO.IsolatedStorage.IsolatedStorageFile.IncreaseQuotaTo(Int64).
  • System.ApplicationException supprimée.
  • IsolatedStorage.ApplicationSettings renomée: IsolatedStorage.IsolatedStorageSettings.

La liste complètes des changements (Silverlight 2 Bêta 1 vers Silverlight 2 Bêta 2).

L’Isolated Storage est implémenté dans la mscorlib.dll (le namespace est System.IO.IsolatedStorage).

Un exemple concret vaut mieux qu’un long discours:
L’objectif et de savoir stocker des informations dans un IsolatedStorage et de les affichées à la demande.
Le formulaire en Xaml :
<Grid Background="Azure" Height="444" HorizontalAlignment="Stretch" Margin="82.9160003662109,8,4,0" VerticalAlignment="Top" Grid.Column="1" Width="415.584">
<TextBlock HorizontalAlignment="Left" Margin="34.0839996337891,12,0,0" VerticalAlignment="Top" Width="57" Text="Entrez text:" TextWrapping="Wrap" Foreground="#FF3A392F" Height="22"/>
<TextBox HorizontalAlignment="Stretch" Margin="111,8,8,0" VerticalAlignment="Top" TextWrapping="Wrap" x:Name="text" Height="26"/>
<Button Height="19.333" HorizontalAlignment="Stretch" Margin="8,84.6669998168945,147.167999267578,0" Click="Affiche_String" VerticalAlignment="Top" Content="Afficher IsolatedStorage" x:Name="affiche" d:LayoutOverrides="Height"/>

La classe à utiliser est IsolatedStorageSetting (les informations à manipuler ici sont de type : string et bool) :
IsolatedStorageSettings test = IsolatedStorageSettings.ApplicationSettings;
test.Add("test", text.Text);
test.Save();
text_result.Text = (string)test["test"];
test.Clear();
Comme vous pouvez le constater le principe est très simple : une hash-table (association clé-valeur).

L’objectif de cet exemple est de stocker des données dans un fichier dans l'IsolatedStorage et de les afficher à la demande. Pour cela on utilise entre outre la classe IsolatedStorageFile (pour plus de détails, voyez le code source).
Donc et comme vous avez constaté, l’utilisation de l'IsolatedStorage est relativement simple…bonne pratique ;).

Le code source(ExempleIsolatedStorage.zip)

Silverlight 2
Silverlight 2 msdn
IsolatedStorage

 

mardi 24 juin 2008

Web Development Helper

Caractéristiques :

WebDevHelperLogo Cet outil s'adresse aux développeurs Web utilisant Internet Explorer, tout comme FireBug permet aux développeurs de page web de faire du debug sous FireFox. L'outil est porté par Nikhil Kothari, architecte Microsoft, aussi responsable du Script#.

Page :

  • Inspecteur DOM
  • Screen-shot
  • Informations de la page (meta-data, tags, resources)

Réseau :

  • Log des flux HTTP (page web, ou ajax)
  • Visualisation du détail des requêtes et réponses
  • Filtres sur URL

Scripts :

  • Analyse des erreurs de script (call stack comprise)
  • Console script
  • Immediate window (permet d'écrire et tester immédiatement du script)
  • Explorateur de classes pour les scripts

ASP.Net :

  • Visualisation du view state (raw ou décodé)
  • Visualisation et édition du cache (on peut ainsi enlever certains éléments au vu de tests)
  • Visualisation de la trace, et interception de celle-ci pour qu'elle ne soit pas directement dans le layout de la page

A l'usage

L'outil s'avère très orienté ASP.Net et Ajax.

Face à FireBug

firebug_logoLa plupart des développeurs Web faisant de l'ASP.Net disposent sur leur poste de travail simultanément de IE et de FireFox. La question n'est pas d'une course entre explorateurs web mais bien de tirer parti des outils à disposition. Dans ce cadre, a-t-on intérêt à utiliser l'un ou l'autre ou bien les deux à la fois ?

FireBug est bien plus abouti même pour débuguer de l'ASP.Net. Il est notamment d'une aide incroyable pour débuguer les css. Il permet en effet de voir l'arborescence des définitions css influent sur un élément mais permet aussi de voir dans le navigateur lui même les zones concernées. Et pour ce qui est de l'arbre DOM ou du javascript, rien à dire, c'est parfait.

Firebug est disponible depuis assez longtemps maintenant et bénéficie de cet historique.

Et les autres ?

Dragonfly (anciennement Opera Developer Tools), encore en version alpha possède déjà un débuggeur javascript, un inspecteur CSS, un utilitaire en ligne de commande, une console d'erreur, des onglets call stack, Thread log, Frame inspection, et le support Proxy. Un outil très joli et très prometteur. A quelques détails près, on est très proche de Firebug.

Web developer Toolbar est une autre extension pour firefox. Sous forme d'une barre d'outil, elle offre pas mal de possibilités. Comme un outil de désactivation (Cache, Java, Javascript, Meta redirect, Minimum font size, Page colors, popup blocker, referrers). Mais aussi des validateurs (CSS, Feed, HTML, Links, Section 508, WAI). Un Dom inspector, une console javascript, et un ensemble d'affichages d'informations (anchors, DIV, Tab etc.). Plus la manipulation des cookies (y compris par domaine). Assez pratique et offrant une interface différente de Firebug. Parfait pour du debug plus ponctuel.

 

Conclusion

Pour débuguer précisément des pages ASP.Net et de l'Ajax, mieux vaut avoir les deux. Firebug est clairement incontournable. Mais Web Development Helper est complémentaire et pourra vite s'avérer indispensable.

 

Télécharger Web development Helper :

http://projects.nikhilk.net/WebDevHelper/

Ou Firebug :

https://addons.mozilla.org/fr/firefox/addon/1843

vendredi 13 juin 2008

Silverlight reprend la parole!

C'est noël pour Silverlight!...Je vous cache pas, c'est le cas pour moi aussi ^^...Alors de quoi s’agit-il ?
Pourtant, nouveau née, Silverlight2 ne cesse de grandir, après la beta 1 c'est le tour de la beta 2. «Commercial Go Live license» est le label commercial de Silverlight 2 beta 2.
Encore quelques bugs à corriger et un petit morceau de framboise bien sucré sur l'assiette et ça doit être prêt avant les JO.
Une première version de Silverlight pour Linux(Moonlight)...Et ça marche ? Où et Comment ? Des bugs ?...Bref un sujet intéressant, pour les plus patients, je prépare un article sur ce sujet et qui va être publié prochainement ;).
Une nouvelle version d’Expression Blend 2.5: June 2008 Preview.
Une nouvelle version "Silverlight Tools Beta 2 for Visual Studio 2008".
Et même le DeepZoom Composer a une nouvelle version.
Dans cet article, je vais essayer de vous citer brièvement les nouveautés de la version beta 2:
                  Des contrôles intégrés dans Silverlight (boutons, boites de listes, etc.).
                  Nouvelles fonctionnalités pour le: Calendar, DataGrid et TextBox.
                  Plus de templates WPF intégrées dans Silverlight beta 2.
                  Un nouveau concept de VSM (Visual State Manager) qui facilite la gestion des états des contrôles.
                  Silverlight 2 beta 2 autorise l'automatisation des tests des interfaces graphique grâce au framework d'UI Automation.
                  Silverlight 2 beta 2 est compatible avec WPF.
                  Un Streaming qui prend en compte les conditions du réseau.
                  Silverlight 2 beta 2 supporte JSON (au passage, Linq to JSON est possible avec cette nouvelle version) et les services REST.

Le label commercial de Silverlight déclenche une phase «sérieuse» de la mise en production de cette technologie…Bref c’est l'oiseau qui quitte son nid ;). A suivre…

Une nouvelle version de DeepZoom Composer + Une nouvelle version d’Expression Blend 2.5: June 2008 Preview

Silverlight

FAQ Silverlight2 beta 2

Moonlight

jeudi 12 juin 2008

Microsoft et Alt.Net

RWS2-Big3 Je reviens sur l'article de Florent sur le sujet, alors que s'est tenue la seconde rencontre Alt.Net à Paris, parce que je pense que l'on tiens là quelque chose de fondamental.

 

Si vous êtes fans du language C# et de Visual Studio, emballés par la MSDN et par les paterns & practices mais toujours soucieux de trouver la meilleure solution pour vos développements et de garder le recul et l'indépendance nécessaires, voici un mouvement qui va vous intéresser. Alt.Net est né de cette envie de profiter du meilleur des différents outils tournant autour de .Net, qu'ils soient propriétaires ou indépendants. Le mot d'ordre qui donne son nom au mouvement est l'alternative. Dans le sens de l'ouverture et de l'efficacité et pas du rejet. Cela se veut une approche pragmatique de la programmation. Accepter que la solution que l'on a élaboré est toujours perfectible et convient à un cas particulier mais pas forcément à tous. Faire en sorte que le choix d'un outil ne soit dicté que par des éléments objectifs de satisfaction de l'utilisateur et de productivité du développeur. Ce sont des aspirations que l'on a tous, qui sont légitimes et qui nous poussent au progrès.

Cette démarche passe par des choix de solutions toujours plus performante, quitte à abandonner les chemins tout tracés. Ce qui implique aussi de faire passer la connaissance et la pratique avant les outils. Ce n'est pas une démarche confortable, au contraire, il faut faire violence à sa résistance au changement. On a tous une tendance plus ou moins forte à se reposer sur les méthodes et les outils connus et éprouvés. Mais comme disait Albert Einstein : "La vie, c'est comme une bicyclette, il faut avancer pour ne pas perdre l'équilibre".

Le credo : Agile + Orientation Objet + design patterns + TDD + DDD (comme le rappellent Martin Fowler et l'article Values and Practices du wiki altnetpedia)

Soutenus par de grands noms comme Martin Fowler (cf son très bon article sur AltNetConf), ce mouvement ne va pas à l'encontre des intérêts de Microsoft et revendique même une entente cordiale avec le géant dont le regard est, avec raison, plus attendri que craintif. Nombre de personnes de Microsoft participent au mouvement (dont Scott Guthrie). Un article est paru dans la MSDN ("What is ALT.Net ?" par Jeremy D. Miller) qui reprend le manifeste en quatre points déjà exposé sur le wiki du mouvement (article : http://altnetpedia.com/OverviewWhatIsIt.ashx) ou le site THE .NET FROG (article : http://www.thedotnetfrog.fr/2008/04/30/altnet-premiere-rencontre-francaise/).

Et de fait la communauté qui émerge là n'est pas hostile à Microsoft. Elle est critique mais dans le bon sens. Elle est volontaire et se veut active. Pour ouvrir le débat. Pour favoriser l'innovation. Pour encourager les meilleures pratiques. Elle peut donner une nouvelle dimension au monde .Net et au monde Microsoft en général, à l'image de la communauté Java connue pour son indépendance. Et Microsoft a tout intérêt à soutenir ce genre de mouvements. Mais c'est un choix, il leur faut accepter de perdre le contrôle, de lâcher la bride. Le début d'une nouvelle ère ? En tout cas une nouvelle image envoyée de Redmond.

Initié par Dave Laribee le mouvement commence à avoir un certain succès au Etats-Unis.  Il est relayé en France depuis quelque temps. Et le principe des conférences annoncées dans le site parisAltNet gagnera à s'étendre.

Comme l'a écrit Ralph Waldo Emerson "il y a toujours deux parties: l'ordre établi et le mouvement". Si vous êtes Alt.Net, vous êtes dans le mouvement. Vous stimulez l'innovation. Quand le mouvement échoue, cale ou doit s'améliorer, vous êtes là pour lancer/trouver/supporter le prochain bond en avant. (traduction éhontée de la fin de l'article de Laribee)

Finalement, Alt.Net, c'est plus qu'un mouvement, c'est une école. Et comme toute école, c'est le début de quelque chose et on l'espère, de quelque chose de grand. Alors, révolution ? ou bulle de savon (voir l'article polémique de Héctor Echavarría) ?

 

PS : La liste des liens de sites et de blogs est sur mon univers Netvibes et je la tiens à jour régulièrement :

http://www.netvibes.com/laurentcapin#Alt.Net

vendredi 23 mai 2008

Le plein de logiciels pour .Net !

ZzzzzzzzzOyé, oyé !

Me voilà de retour sur votre blog préféré après une petite période d'hibernation.

Pendant tout ce temps, j’ai constaté qu'il y avait pas mal d'activité sur les logiciels du monde .Net. Au delà de la mise à jour des "classiques" projets Open Source dont je vous fait régulièrement l'éloge sur ce site, de plus en plus d'éditeurs de logiciels payants proposent une version gratuite, limitée en fonctionnalités, ou afin d’être utilisée dans une application non commerciale. Je vais donc vous faire profiter de toutes mes découvertes.

  • Tout d'abord, quelques mise à jour :

NUnit 2.4.7 (30 mars 2008)
Apparition de nouveaux attributs RowTest et RowAttribute, suppression de log4net pour le log interne (ce qui pouvait poser des problèmes lors de l'utilisation d'une version différente avec l'application testée), et des corrections de bugs. http://www.nunit.org/index.php?p=releaseNotes&r=2.4.7
NUnitA noté qu'une version 2.5 alpha 2 (7 mai 2008) est également disponible. Elle apporte une extension "pNUnit" permettant de faire des distribués en parallèle, l'attribut RowTestExtension (alpha 2) TestCaseAttribute (alpha 1) et DataSourceAttribute (alpha 1). Il y a encore de nombreuses autres nouveautés.
http://nunit.com/index.php?p=releaseNotes&r=2.5

Spring.Net 1.1.2 (7 mai 2008)
http://www.springframework.net/docs/1.1.2/changelog.txt

Enterprise Library 4.0 (mai 2008)
http://msdn.microsoft.com/en-us/library/cc512464.aspx

Unity 1.1 (16 mai 2008)
http://blogs.msdn.com/agile/archive/2008/05/16/unity-refresh-v1-1.aspx

Logo monoMono (13 mai 2008)
4 ans après le début de Mono, l'API Winforms est maintenant complète (12776 méthodes quand même !)
http://jpobst.blogspot.com/2008/05/big-finale.html

Moonlight 0.6 (13 mai 2008)
Première release publique de Moonlight supportant Silverlight 1.0 sous Linux. Attention, toutes les fonctionnalités ne sont pas encore supportées, mais c'est déjà un grand pas !
http://tirania.org/blog/archive/2008/May-13-1.html

ReSharper 4.0 beta
L’excellent plugin ReSharper arrive en version 4. Au menu des nouveautés, le support de C# 3.0 et LinQ. Comme d’habitude, les mises en garde de l’utilisation d’une version béta sont de rigueur.
http://www.jetbrains.com/resharper/beta/beta.html.

  • Voici maintenant quelques "offres spéciales" de quelques éditeurs commerciaux :

NCache Express
NCache est un cache distribué qui permet également de répartir des sessions ASP.NET sur plusieurs machines. Il existe maintenant une version « Express », aux fonctionnalités limitées par rapport à la version entreprise.
http://www.alachisoft.com/ncache/ncache_express.html

40 composants DevExpress
DevExpress vend des composants graphiques de relativement bonne qualité. JetBrains utilise d’ailleurs certains d’entre eux dans ReSharper. Je viens de découvrir que DevExpress fournissait gracieusement 40 de leurs composants (XtraEditors Library, XtraNavBar, ASPxMenu and ASPxSiteMapControl), dans le cadre d’une utilisation non commerciale.
http://www.devexpress.com/free

Xceed WPF DataGrid
Xceed propose, tout comme DevExpress des composants graphiques à la vente. Il propose néanmoins un de leurs composants gratuitement : une DataGrid en technologie WPF.
http://xceed.com/Grid_WPF_Intro.html

Voilà de quoi agrémenter vos applications .Net !
N’hésitez à nous faire part de vos expériences sur l’utilisation de ces produits, et à nous faire connaître d’autres librairies de qualité.

vendredi 9 mai 2008

LINQ

Le projet Linq(Language INtegrated Query) n'est finalement qu'une extension du C# 3.0...
Linq offre des fonctionnalités de requêtage sur des sources de différentes natures(base de données relationnelles, document XML, collection d'objet) tout en gardant la même syntaxe, plus pratique pour les développeurs, en une phrase : le compilateur corrige la syntaxe de la requête et IntelliSense aide à en coder.

Donc Linq se divise en trois parties comme le montre ce schéma:

Linq to Ado.Net:
Linq to sql: le mapping objet-relationnel simple.
Linq to Entities: le mapping objet-relationnel plus complexe.
Linq to Datasets: requêter sur les Datasets.

Linq to objects:
Requêter sur une collection( possibilité de récupérer un graphe d'objet).

Linq to XML:
Pour les documents XML(tout en rendant accessible des notions potentiellement complexes telles que XPath, XQuery, XSLT...).
L'idée et l'objectif principale de Linq est claire à savoir : Manipuler des types de données différentes de manière plus simple, intuitive et unique. Personnellement je pense que c'est réussit!
Pour plus d’information :
msdn microsoft

vendredi 25 avril 2008

DeepZoom, Silverlight 2

DeepZoom est la nouvelle technologie intégrée dans Silverlight 2, grâce à cette technologie on peut piloter, naviguer et zoomer nos images d’une façon très fluide sans perdre la qualité de l’image …L’implémentation de DeepZoom est très facile (une ligne de code, <MultiScaleImage> comme élément dans le fichier XAML )…
Dans ce billet je vous liste les démos les plus impressionnantes…
Analyser une image aérienne

Gestion photos 1
Gestion photos 2
PicturePuzzle

une liste sur le site officiel
Cool…Et techniquement ?
En C#, c’est possible et c’est facile
Introduction DeepZoom Silverlight en vidéo

vendredi 18 avril 2008

Et Moonlight, ça en est où ?

Logo monoJe ne sais pas si ça vient de moi, mais on n'entend plus trop parler de Moonlight en ce moment. Je rappelle que Moonlight est l'implémentation open source de Silverlight, et est basé sur Mono. Qu'à cela ne tienne, je me suis dit "allons voir s'il se passe quelque chose"
Ca tombe bien, car Miguel de Icaza a effectué la semaine dernière une présentation sur l'état d'avancement du projet. On apprend par exemple qu'il estime que le projet a environ 9 mois de retard par rapport à Silverlight lui-même.
Miguel a également montré comment Moonlight pouvait être utilisé pour créer des applications riches sous Linux.
Le travail actuel se focalise sur une compatibilité Silverlight 1.1, la compatibilité avec la version 2.0 sera en chantier ultérieurement cet été.
Tous les détails de cette présentation sont disponibles sur ArtsTechnica, et c'est ici.

Soyez createur de differences

cadre_imgTitre2En quelques heures de présentations, assumées comme un écho de la grand-messe de Las Vegas, c'est tout le nouveau visage du web qui a été dessiné. La toile de fond c'est internet bien sûr. Mais le support lui, devient multiple. Les applications riches sont à la fois sur internet mais aussi sur le poste de travail ou sur le mobile. Et la même information doit être disponible partout avec un mot d'ordre : la continuité. On doit pouvoir regarder le début d'une émission à la télé et la fin sur son PC ou son mobile. Il en va de même pour tous les services disponibles ou envisageables.

Parallèlement, l'enjeu n'est plus d'être présent sur internet mais d'y être vu, d'y être "trouvé" (selon l'expression de Dick Lantim). Tous les moyens sont bons pour entraîner les gens (de leur plein gré) sur votre site. Facebook est omniprésent ? Faites des mashups qui reprennent les points clé de votre site et feront de véritables appels d'air vers lui (Popfly). Google est incontournable mais n'aime pas beaucoup les sites multi-média ? Silverlight devient scrawlable (Quand l'agent détecté est un robot ou scrawler, le contenu renvoyé est du pur html, c'est le Silverlight SEO pour Search Engine Optimisation). Vous communiquez via MSN Messenger mais vous aimeriez envoyer autre chose que du texte ? Vous pourrez sous peu envoyer en guise de message des extraits de vidéos glanées sur les web tv (sous forme de cue point).

Enfin, la fidélisation devient primordiale. Après avoir fait venir l'utilisateur, le client, il faut qu'il reste, il faut qu'il adhère (dans tous les sens du terme). Il faut trouver les bonnes affordances (le gros mot n'est pas de moi mais d'Amélie Boucher de People Square). Là est mis en exergue la différence fondamentale entre utilité et utilisable. Si votre site est utile, les gens viendront, si il est "utilisable" (ergonomique) ils resteront. Et il ne faut pas négliger cela. Car à quoi servirait de déployer tant d'efforts et de budget pour sortir ce site dont vous rêviez, dont le marketing rêvait, que vos clients attendaient avec impatience, si après une heure de tentatives infructueuses, les-dit clients repartent insatisfaits, n'ayant pas compris comment ça marchait.

Allez, je ne résiste pas à une petite formule choc offerte pour l'occasion :

RDA + RIA* = RIA**

(* Rich Internet Application, ** Rich Interactive Application)

Cette formule est lourde de sens. Eh oui le focus n'est plus sur internet, il est sur l'interactivité.

vendredi 4 avril 2008

Altaide Dev Drink III, Silverlight 2

Il s’agit d’une occasion de réunir des développeurs, décideurs et curieux autour d’un sujet portant sur le développement.
Après les deux premières sessions qui avaient évoqué les technologies PHP SOA et Flex, c’était donc au tour de Silverlight 2.
SFEIR était présente et dans ce billet je vous en livre ici les grandes lignes.

Cette présentation était assurée par Pierre Lagarde et Christophe Lauer, en charge des Relations Techniques avec les Développeurs chez Microsoft France.

La conférence a durée 2 heures, les points essentiels abordés ont été:
- Les nouveautés de Silverlight 2 par rapport au Silverlight 1.0
- Les possibilités offertes par Silverlight 2
- Les contraintes techniques (portabilité, espace mémoire… )
- Quelques démonstrations pour montrer la puissance de Silverlight 2
- Quelques scoops sur la version Beta 2

Support de la présentation: http://cid19b56d5eabe30104.skydrive.live.com/self.aspx/PresentationsPubliques/Altaide%20Dev%20Drink%20III.zip

En moyenne c’était une bonne présentation de Silverlight 2 (la première du genre en français !)…Une remarque pour l’organisateur : attention au climatiseur, il fait pas mal de bruit ;-).

Quelques liens sur la conférence:

http://blogs.msdn.com/clauer/archive/2008/03/28/support-de-la-pr-sentation-silverlight-2-l-altaide-dev-drink-de-hier-soir.aspx

http://blogs.msdn.com/pierlag/

http://blogs.msdn.com/clauer/

http://www.flickr.com/photos/altaide/sets/72157603865307468/

http://blogs.msdn.com/clauer/archive/2008/03/18/alta-de-dev-drink-iii-silverlight-2-en-exclusivit-paris-le-27-mars-en-soir-e.aspx

lundi 31 mars 2008

NHibernate 2.0 alpha 1 est sorti !

Logo NHibernateL'équipe de NHibernate vient de mettre à disposition une préversion alpha 1 de la prochaine évolution majeure du projet, la branche 2.0.
Enormément de nouveautés sont au programme, ainsi que de nombreux changements. Il serait trop long de toutes les citer, je vous invite donc à vous rendre sur la page suivante pour tout savoir sur ces nouveautés : http://ayende.com/Blog/archive/2008/03/31/NHibernate-2.0-Alpha-is-out.aspx
Le code est quant à lui disponible sur SourceForge : http://sourceforge.net/project/showfiles.php?group_id=73818
Même si cette version n'est pas "stable", elle est déjà utilisée en production par certains membres du projet.
En publiant cette version, l'équipe souhaite avoir un retour d’expérience plus large sur son utilisation. Afin d'encourager les personnes à l'essayer, le support est assuré par l’intermédiaire de la mailing list disponible sur GoogleGroups (http://groups.google.com/group/nhusers)

jeudi 27 mars 2008

Microsoft Silverlight2 pour Linux (Moonlight)

Miguel de Icaza et son équipe travaillent depuis plusieurs mois sur le projet
Mono, un projet qui remplit les objectifs suivants:

- Permettre aux applications Silverlight de fonctionner dans un navigateur au-dessus de Linux.

- Mettre un kit de développement à disposition des développeurs.

- Réutiliser Moonlight pour créer des applications de bureau.

Notre directeur technique Didier Girard a rencontré le leader de ce projet qui détaille les objectifs en vidéo :

1) Les motivations pour réaliser le projet Mono, et quelques détails sur le projet... :

http://blog.dgirard.eu/post/2007/05/09/5-mn-avec-Miguel-de-Icaza-figure-du-monde-opensource

2) Miguel de Icaza nous livre entre autres une démonstration remarquable (par rapport au délai de la réalisation) :

http://www.tv4it.net/permalink/2991/Default.aspx

3) Le site officiel de Moonlight :

http://www.mono-project.com/

4) Tout ce qu'il faut savoir sur Moonlight :

http://www.mono-project.com/Moonlight

5) Articles et tutoriaux :

http://www.mono-project.com/Articles

Avec le projet Mono, Microsoft confirme encore une fois sa volonté de conquérir toutes les plates formes... Mais est-ce que cette volonté est toujours valable pour tous ses nouveaux produits ?!... à suivre...

- page 1 de 2