insideIT.fr : le blog des architectes IT de SFEIR

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

samedi 4 avril 2009

SharePoint Designer Gratuit.

SharePoint Designer 2007[2] C’est un peu la technique de l’hameçon. Dans cette époque, où le mot “gratuit” fait office de slogan marketing, mieux vaut offrir au client ce qui lui semble coûteux à lui et qui ne rapporte finalement pas grand chose. Un IDE ou un outil de design n’a jamais donné un retour sur investissement énorme en lui-même. C’est la raison pour laquelle Eclipse a toujours été gratuit. Ce qui rapporte vraiment ce sont les licences serveurs, bien entendu. Et des outils de développement gratuits, ce sont des développeurs qui testent l’outil, montent en compétences dessus, prennent des habitudes, des réflexes et deviennent les meilleurs ambassadeurs de la marque. Et les managers sont souvent plus influencés qu’on ne croit par leurs développeurs ou designers, surtout si ceux-ci sont enthousiastes.

Cette offre, c’est donc une façon de promouvoir l’outil SharePoint dans son ensemble, en courtisant les développeurs. De la même manière, Windows SharePoint Services est fournit gratuitement avec Windows Server et vise cette fois les administrateurs. On l’utilise, on y prend goût et puis on s’aperçoit des améliorations réelles qu’apporte MOSS, qui lui, est facturé au processeur. Il y en a pour tout le monde et tout le monde est gagnant.

Alors, à quand Visual Studio ou la gamme Expression gratuits ?

A télécharger sur : http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42

Q&A sur ce changement : http://office.microsoft.com/en-us/sharepointdesigner/HA103607621033.aspx

vendredi 27 mars 2009

Les vidéos du MIX 09 sur votre IPod !

mix_on_ipod Non, ne rêvons pas, nous ne trouverons pas le podcast du dernier salon Microsoft directement sur ITunes. Mais sur la liste du site visitmix, on peut télécharger les mp4 des sessions. Donc vous pourrez visualiser toutes les sessions sur IPod ou sur Zune ! Et quel temps record pour publier des sessions vieilles d’à peine quelques jours. Comme si on y était, à peine un petit décalage horaire. Alors c’est sûr cette année je me gave de vidéos sur mon IPod mais l’année prochaine, je prends mon billet d’avion ;-)

 

Il faut fouiller un peu pour trouver l’ensemble des sessions. Mais voilà quelques liens qui pourront vous occuper quelque temps :

La liste complète : http://videos.visitmix.com/MIX09/All

La liste visuelle : http://videos.visitmix.com/

Le flux RSS : http://videos.visitmix.com/MIX09/Feeds/MP4/RSS

Le billet de Mike Swanson (précieux conseils) : http://blogs.msdn.com/mswanson/archive/2009/03/26/mix09-keynote-and-session-videos.aspx

mercredi 18 mars 2009

SharePoint Object Model et Performances

logo_win Un très bon article sur InfoQ écrit par Andreas Grabner revient sur un des problèmes récurrents dans l’usage de SharePoint : les mauvais usages du model objet de SharePoint qui peut entrainer de vrai pertes de performances. Dans cet article, il insiste bien sur un trait classique dans beaucoup d’outils riches comme SharePoint, à savoir que ce n’est pas parce que les possibilités sont nombreuses, qu’elles sont toutes bonnes. En particulier, il faut toujours s’assurer qu’un choix technique est en adéquation avec le cas d’utilisation considéré. SharePoint propose souvent beaucoup de moyens d’arriver au même résultat, tout comme le framework .NET. Pour autant, chacun des moyens proposé a été conçu dans une optique précise, qu’il ne faut pas oublier. Finalement, ces considérations sont valables pour la plupart des outils, frameworks, langages etc. C’est pourquoi il est bon lorsque l’on cherche à améliorer les performances sur un projet quelconque, de regarder ce qui se fait et de ne pas se jeter bille en tête sur le code. Quand-on dit qu’il ne faut pas réinventer la roue, c’est flagrant ici.

Le premier exemple est simplissime mais tellement parlant. Il rappelle que pour compter les items d’un liste, on a deux possibilités : utiliser la propriété “Count” de la collection “Items” de la liste ou directement la propriété “ItemCount” de la liste. Quelle différence ? Dans le premier cas la liste est effectivement parsée entièrement en base et retournée à SharePoint qui va faire le comptage lui-même. Dans le second cas, SharePoint demande le chiffre à la base, qui ne renvoie que lui, créant donc infiniment moins de trafic, et assurant un traitement instantané. Si l’on ajoute à cela que la valeur retournée est une valeur stockée dans la base elle même et non le fruit d’un calcul fais par la base à l’instant T, on comprend d’autant mieux le gain de cette option.

Voici donc une bonne occasion de voir ce que sait faire un expert et de l’appliquer. Il ne parle que des listes sous SharePoint et de leur lenteur fréquente, dû à chaque fois à un défaut de programmation. En 6 cas d’utilisations, il fait le tour des écueils fréquent dans l’implémentation des listes sous SharePoint. De quoi faire le tour de la question. A lire absolument !

L’article sur InfoQ : http://www.infoq.com/articles/SharePoint-Andreas-Grabner;jsessionid=DAC9303433D5783F94BA3BBDB01F611C

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)

vendredi 5 décembre 2008

Silverlight et Expression vus par un designer

Hier avait lieu chez Microsoft France, dans les magnifiques locaux du Microsoft Technology Center, rue de l'Université, la formation "Quickstart Silverlight". Elle était organisée par Regart.net et animée par Eric Ambrosi. Très heureux d'y avoir été invité in extremis, ça m'a permis déjà de voir cette vitrine de Microsoft à l'attention des partenaires. J'avais déjà eu droit aux salles de présentations en sous sol, lors des mercredis du développement mais là c'est autre chose ! Des bureaux avec des 40" au mur pour les démos, des salles de conf etc. Il y avait là quelque clients de hautes volée dont je tairai le nom, venus se faire accompagner dans des projets un peu "touchy". Personnellement, j'aimerais bien tester un jour... Je suis passé à côté de la belle table "Surface" dont on a failli avoir une démo en fin de journée (dommage). Mais parlons plutôt de la formation.

Déjà premier point d'importance, le formateur, Eric Ambrosi n'est pas de Microsoft. Pire encore, il a travaillé majoritairement sous flash ou Flex. Or donc me direz-vous, ils l'ont laissé entrer ? Mieux que ça : riche de sa vision critique, impartiale et extérieure, il participe activement à l'amélioration de la gamme Expression notamment, de part ses contacts chez Microsoft. Il est super calé sur Flash, Flex, AS1 etc. Il a d'ailleurs donné pas mal de points de comparaison ou d'accroche avec ces outils, qui moi m'étaient un peu étrangés mais qui ont fait tilt chez d'autres auditeurs.

Second point, vous l'aurez compris, le bonhomme n'est pas un hard codeur mais un designer qui sais coder. En tout cas c'est comme ça qu'il a abordé la formation. L'auditoire était majoritairement du côté design. C'est ce qui a été le plus sympa dans l'histoire. J'avais assisté à une formation Silverlight avec Christophe Lauer et à pas mal de démos dont le ReMix. Autant de choses passionnantes pour moi parce que assez techniques. Là, dès le départ on est vite parti dans Expression Blend et Expression Design. Moi qui ai toujours eu envie mais jamais vraiment le courage de m'y attaquer, ça a été comme un déclic ! Je joue de loin en loin avec Photoshop et compagnie, mais n'étant pas designer à la base, c'est plutôt souvent un calvaire ! Et là, j'ai eu un vrai cours ! J'ai enfin compris comment marchait ce bidule. Attention, Blend n'a plus de secret pour moi !

Les discussions étaient du coup très rafraîchissantes pour un sharpiste comme moi. Pensez donc : on a fait en tout et pour tout, une dizaine de lignes de code c#. Et encore, Eric était sur un Visual Studio sous VMWare sur son mac plus blanc que blanc (alors là par contre je me demande comment il est passé à l'accueil ;-), sacré provocateur ! Il a pas mal insisté sur les points primordiaux des objets graphiques sous Expression et des différences et similarités avec les outils d'Adobe. Vous voulez ne retenir qu'une chose aujourd'hui ? La voici : dans Expression, tout est user-control ! Le moindre bouton, la moindre liste est un user-control. C'est évident pour tous ceux qui pratiquent Blend, mais c'est un résumé qui claque je trouve. Il y a effectivement deux types d'objets sinon, qui sont les "path" (plume et ligne) et les "primitives" (rectangle, ellipse), ces deux types héritant de shape pour leur comportement. Tout le reste, absolument tout se retrouve dans la catégorie user-control. Du coup les éléments de la librairie de base sont éditables et personnalisables à fond. Amusez-vous à décomposer un bouton par exemple, vous verez : ce n'est qu'une collection de rectangles superposés avec des effets. Mais je ne vais pas reprendre ici le contenu du cours.

Le plus drôle c'est que je suis sorti de là avec plein de noms de sites de design à voir absolument. Histoire de se donner envie de s'y mettre. Si ça vous intéresse je les mettrai en ligne... bon allez, je suis sympa, je vous mets l'essentiel  :

www.tweened.org (c'est le blog to be sur silverlight et expression :-)

www.flashexpress.net

www.flight404.com

www.leprojecteur.fr

tout ça c'est que du beau, ça vaut le détour, alors n'hésitez pas !

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 !

mardi 28 octobre 2008

Microsoft PDC 2008

Les développeurs travaillant autour des technologies Microsoft sont en effervescence depuis hier. Les annonces pleuvent. Et l'épicentre est à Los Angeles, au Convention Center. C'est là que se déroule pour quelques jours la Professional Developers Conference. Alors on tend l'oreille,frenetic_multi_1920x1200 on prend des notes et pour ceux qui comme moi n'ont pas la chance de pouvoir aller jusqu'à Los Angeles pour cet événement, on se rue sur le site qui transmet heureusement l'intégralité des conférences : http://www.microsoftpdc.com/

Le World Wide Telescope qui reprend un peu la présentation du Windows Media Player vous réconciliera avec l'espace qui n'est pas qu'un amas de tâches blanches sur fond noir et même si avouez-le vous n'avez plus mis le pied dans un planétarium depuis l'âge où vous avez su dire non à vos parents. De belles heures d'exploration en perspective en tout cas. A essayer!

La plateforme de parallel computing présentée par Lynne Hill et plein de présentations autour de Windows Azure.

Pour Windows Azure, nous reviendrons dessus dans un prochain billet plus complet car le sujet est vaste.

Alors: tous à l'heure américaine, et c'est pas la malheureuse heure d'hiver qui va nous aider... on est pas couchés.

vendredi 24 octobre 2008

jQuery, une des premières facettes du Microsoft 2.0 ?

jQuery-Map Alors qu'il s'apprétait à sortir un framework javascript propriétaire, le géant de Redmond a soudain fait volte face et a annoncé le mois dernier la distribution de jQuery, "tel quel" (soit sous licence MIT jQuery) au sein de Visual Studio. Ce qui est plutôt sage, jQuery étant éprouvé et étant devenu la plus populaire des librairies javascript/html sur le web, déjà adoptée par Google et donc maintenant par Nokia et Microsoft.

Une fois n'est pas coutume, Microsoft adopte un outil open source externe, tel un quasi standard. C'est une stratégie pragmatique qui l'honore. L'annonce a été faite le 28 du mois dernier par Scott Guthrie et confirme la nouvelle orientation affirmée et résolument ouverte au dialogue avec les développeurs professionnels, utilisateurs de Visual Studio. La bibliothèque intègre donc dors et déjà Visual Studio et supporte l'intellisense ce qui une bonne nouvelle. Elle intégrera bientôt l'ASP.Net AJAX Control Toolkit, ce qui est une excellente nouvelle.

mercredi 15 octobre 2008

Silverlight 2 enfin disponible

Silverlight2PosterMIX08_thumb La version 2 du plugin multi-plateforme multi-navigateur de Microsoft pour les applications riches et multimédia est disponible depuis hier (ça fait beaucoup de multi je vous l'accorde).

Côté solidité, plus rien à prouver, en effet on se souviendra du site http://www.nbcolympics.com et de ses 70 millions de vidéos sur les jeux olympiques de Beijing cet été.

Côté plateforme et navigateurs, cette version est compatible avec Firefox, Safari, Internet Explorer et Chrome, sous Windows, Mac et Linux. Le seul qui résiste c'est l'Iphone car Apple n'y est pas favorable. En revanche, on a de bon espoir de voir Silverlight tourner sous Android.

Côté développeurs, rien que du bonheur: les langages sont plus nombreux: C#, VB.Net, Iron Ruby, Iron Python, Javascript. Et toujours la puissance des IDE de Microsoft: Visual Studio, Blend, Expression Studio, Visual Web Developper et même Eclipse !

Côté grands acteurs, ils ne manquent pas ceux qui succombent aux charmes de la belle: Toyota, NBC, CBS Sport, Blockbuster Video, Yahoo Japan.

Dans les nouveautés on notera : la cryptographie (System.Cryptography), la sérialisation, JSon, Linq to XML, la syndication (Atom10FeedFormater, Rss20FeedFormater), les Sockets.

A voir donc : http://www.microsoft.com/SILVERLIGHT/default.aspx

A ne surtout pas manquer: http://www.toyota.com/toyotafishing/

Et si la photo vous plait, elle existe en format deep zoom : http://joestegman.members.winisp.net/DeepZoom/

Et à suivre, Silverlight sous Eclipse.

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 ?

mercredi 9 juillet 2008

Microsoft...Voilà comment je vois le monde RIA!

Pas de code à taper ni de programme à exécuter dans ce billet promis;) ... Une recette de la ratatouille niçoise ?! ! :)..Non même pas mais un petit tour à Redmond pour comprendre la stratégie RIA (Rich Internet Application) de Microsoft et si la solution Silverlight répond sérieusement à cette stratégie.
Le marché des interfaces riches intéresse Microsoft, ce qui explique les mouvements du géant pour garantir ses parts de marché.Les besoins des utilisateurs se manifestent à titre d'exemple dans :
- Plus d'interactivité
- Ergonomie plus intéressante
- Gestions de contenus multimédias plus riches
- Optimiser la communication Client/serveur
Les secteurs et les applications les plus clientes de RIAs sont principalement :
- La gestion et la diffusion des contenus multimédias Vidéo/Image
- La formation à distance
- Le E-commerce
- La représentation graphique riche du reporting et des statistiques d'entreprise
- Toutes applications d'entreprise même les plus basiques (ex : des formulaires HTML...)
Le marché est donc prospère mais la concurrence est rude, avec au premier rang : Adobe qui équipe 95% des agences Web avec Photoshop, Illustrator ou encore Flex. Il suffit de rappeler que les outils Expresion de Microsoft sont encore loin derrière ces homologues d'Adobe...Mais Microsoft n'a pas joué toutes ses cartes et qui peuvent faire bouger la balance, la vidéo HD (exemple de projet en cours: NBC pour la retransmission des J.O) et les applications d'entreprise (des technologies DotNet qui cohabitent parfaitement avec les infrastructures DotNet. Donc pas d'apprentissage d'un nouveau langage ni de surprises d'intégration).
Il est difficile de parler de la stratégie RIA sans parler de "Live Mesh" qui représente l'objectif Microsoft pour déployer la même application sur plusieurs environnements différents (PC fixe, portable, mobile, Mac, ...) Dans ce contexte, il semble que Silverlight constitue la plateforme de développement idéale puisqu'un runtime Silverlight est en cours de réalisation sur l'ensemble de ces équipements.
Le document suivant préparé dans le cadre de l'évènement Happy Hour organisé par SFEIR présenté les grandes lignes de Silverlight ici.
La solution Silverlight est la réponse concrète de la stratégie RIA de Microsoft, il ne reste qu'à renforçer la vague d'évangélisation et à multiplier les tentations de séduction du marché... Si vous avez des grains sel à rajouter n'hésitez pas.

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 20 juin 2008

Conférence Technique Silverlight 2

touareg_logoDans la lignée des "Mercredis du développement" sponsorisés par l'université Microsoft s'est tenue ce jeudi (sic) une conférence technique sur Silverlight 2, dans les locaux de l'EPITECH. Le niveau un peu léger au début s'est vite intensifié. De nombreuses notions ont été abordées dont certaines assez pointues et j'y ai eu la réponse à quelques questions pour lesquelles internet ni la MSDN ne m'avait été d'aucun secours. Merci donc à Christophe Lauer et Pierre Lagarde. Bravo aussi au petit collectif de l'école EPITECH et du projet Touareg qui ont fait une démonstration très convaincante. Mais entrons sans plus attendre dans le vif du sujet.

1ère partie : Généralités et nouveautés de la version 2 Beta 2 de silverlight.

Présentation générale de Silverlight

Silverlight 2 s'affirme plus que jamais comme la plateforme RIA par excellence. C'est une plateforme .Net dont le but est de permettre à tout développeur .Net de devenir un développeur RIA efficace, sans effort.

Bénéfices de Silverlight

Nouveautés de la Beta 2

  • UI Framework
  • Rich Controls
  • Networking Support
  • Rich Base Class Library
  • Deep Zoom

DeepZoom

Une idée assez excellente a été abordée lors de la présentation: celle de pouvoir considérer Deep Zoom comme fondement applicatif. Une application peut être portée par Deep Zoom et construite autour de lui. Un exemple existe déjà : le site du ReMix Corée.

Par ailleurs Deep Zoom a été utilisé de façon massive sur le site de lancement de la nouvelle Laguna (site réalisé intégralement en silverlight).

SandBox

Silverlight est "SandBoxé". Petit rappel sur les implications :

  • Safe isolated storage
  • Control: File Upload client.
  • Support des requêtes cross domain

Isolated Storage

Ce nouveau concept est assez pratique et permet pas mal de choses. On peut gérer des données en local, sans accéder aux ressources de la machine, donc pas de danger de ce côté là. Le storage est persistant hors session, comme les cookies. L'application peut être très autonome. Mais cela permet aussi l'upload de fichiers très volumineux en toute sérénité puisque celui-ci peut-être interrompu et repris de façon transparente.

Un exemple a été donné d'un magasin de photos en ligne dont l'application profite de l'isolated storage. L'application permet de préparer son album photo en local avant envoi de fichier. Les photos ajoutées à l'album sont d'abord recopiées dans l'isolated storage afin de ne pas toucher aux originaux et le traitement est fait à partir de là. Cela diminue le volume à transférer au serveur et on profite de la puissance de la machine client. Les variantes ne vont sûrement pas tarder à pleuvoir.

Notions de programmation

  • Petit rappel de la notion de classes partielles utilisées particulièrement dans Silverlight. En effet, le fichier XAML et le fichier de code behind sont basés sur ce principe. Le fichier XAML faisant office de déclaration des éléments de design. C'est le compilateur qui recole les morceaux. Donc pas de troisième fichier ni de gros pâté de déclarations en en-tête de fichier.
  • Ne pas oublier que les appels au serveur sont obligatoirement asynchrone, ce qui est une bonne chose.

Notions de design

On a bien distingué la différence entre "Styling" et "Skinning".

  • Le style s'applique a un élément à partir de propriétés d'affichages.
  • Le skin lui permet de modifier l'arbre visuel d'un élément. On peut par exemple modifier complètement l'apparence d'une liste box, en allant chercher ses différents sous-élément, comme l'ascenceur pour le déplacer ou le transformer intégralement. C'est assez impressionnant.

A ne surtout pas manquer :

Le blog de la designeuse officielle : UX Musing de Corrina B, qui présente tout ça avec des exemples de skin excellents.

2nde partie : Présentation du projet Touareg

Un seul mot : enthousiasmant !
Le site du projet est à voir absolument. Il s'agit d'un projet de plateforme applicative ou autrement appelé bureau nomade comprenant pas moins de 8 modules. Un projet titanesque, réalisé par des étudiants. Chapeau bas messieurs !

Après-midi Labs :

2 labs étaient proposés pour faire le tour de la programmation en silverlight. Cela valait largement une journée de formation.

Les slides des présentations :

http://blogs.msdn.com/clauer/archive/2008/06/19/les-slides-de-la-journee-d-ateliers-silverlight-2-a-l-epitech.aspx

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

jeudi 29 mai 2008

Après le DDD, après le TDD, le SDD ?

Je vais vous faire part ici d'un article évoquant le SDD. Qu'est-ce que le SDD ? C'est le Stress-Driven Development.
Cette méthode de développement n'est malheureusement pas nouvelle, et consiste à faire des choix qui vont à l'encontre de l'intérêt du projet à moyen terme, mais qui permettent d'être tranquille vis-à-vis de son chef, qui voulait que ce soit fait "rapidement", ou "pour ce soir" (par exemple)
Je laisse Jean-Baptiste vous expliquer tout ça : http://www.bodysplash.fr/index.php?2008/05/26/47-pilote-par-le-stress

- page 2 de 4 -