Dot.Blog

Windows, UWP, C#, XAML, Xamarin

Le blues du générateur d'état (sous titré: Et si RDL était la solution ?)

Il n'y a pas que le "Set of" de Delphi qui peut donner le blues (voir ce billet pour comprendre), non, il y a pire, sous tous les langages, depuis toujours, sous tous les OS, l'informaticien a toujours eu le blues des générateurs d'état, et le blues, c'est peu dire...

[EDIT: Voir ce billet plus récent qui propose un tutor complet] 

Les delphistes ont pesté contre QuickReport et ses bugs après avoir ronchonné sur ReportSmith (qui s'en souvient?), Borland l'a remplacé un jour par RaveReport, encore pire, Microsoft intègre de longue date Crystal Report qui n'a jamais eu les faveurs des développeurs (comment peut-il encore exister d'ailleurs si personne ne l'aime ? un mystère), sans trop rien dire tout en le disant sans le dire, Microsoft propose un service de génération d'état dans Sql Server. Quelle drôle d'idée que de le lier au serveur (même s'il y a une logique compréhensible) plutôt que d'en faire un produit à part réellement intégré à VS. Mais peu de gens s'en servent et MS ne semblent pas non plus le promouvoir avec force et vigueur...

Je suis convaincu que les Java-istes, les C-istes, et même les cobolistes (heeuu non, eux ils faisaient les états à la main avec des petites étoiles pour dessiner les cadres), enfin à part les cobolistes donc, je suis convaincu que tous les développeurs du monde ont toujours été déçus par les générateurs d'état.

La faute à qui ? A la nature même des états... Un état cela peut être tout et n'importe quoi. D'un simple "listing" à l'ancienne, jusqu'à la mise en page d'une ordonnance ou d'un rapport d'activité annuel, d'une facture à une liasse fiscale, d'un chèque à un mailing publicitaire... Une vraie liste à la Prévert ! Et chacun de ces documents a ses propres exigences, ses priorités, ses "non négociables". Un mailing avec enveloppe à fenêtre ou une liaisse fiscale pré-imprimée devront se reposer sur un outil très précis au niveau du placements des zones, pour un listing c'est la facilité et la rapidité de mise en page en colonnes, les sous-totaux, les regroupements, les ruptures qui seront essentiels..

Bref, le générateur d'état idéal et parfait n'existe pas. Il en existe de très mauvais (non, je te citerai pas de noms !), d'autres meilleurs, mais aucun n'est adapté à tous les besoins.

RDL vous connaissez ?

Report Definition Language. Une norme de description d'état dérivée de XML, voilà ce qu'est RDL. C'est sur ce langage d'ailleurs que repose le service générateur d'état de SQL Server 2005 et 2008, mais RDL existe en dehors de cette base de données. Et c'est tout là son intérêt !

La description de la norme de novembre 2005 se trouve ici, une lecture édifiante, mais peu passionnante il faut l'avouer.

Le site suivant (ici) regroupe des informations complémentaires sur RDL ainsi que le composant ReportViewer de Microsoft qui s'intègre à Visual Studio (une version VS 2005 et une pour VS 2008 existent).

On trouve même ici un moteur RDL autonome ainsi qu'un designer visuel évitant de trop mettre les mains dans XML. Gratuit et avec les sources, accompagné d'un serveur d'états, il s'agit là d'une base intéressante.

RDL et ses trops rares outils restent encore trop confidentiels, la puissance descriptive du langage est pourtant plus qu'intéressante, la possibilité de requêter des sources SQL mais aussi des services Web, des flux RSS, etc, n'est qu'une des facettes de cette puissante alternative aux générateurs d'état classiques.

RDL est-t-il le générateur d'état idéal ?
Difficile à dire car c'est avant tout un langage, mais justement, là est sa force : les états deviennent descriptifs, "générables" par programmation (fabriquer un fichier XML à coup de WriteLine dans un fichier texte est d'une simplicité enfantine), partageables (RDL est un format ouvert et publié), et les moteurs traitant RDL savent exporter les états en PDF, HTML, CSV, MHT, Texte, RTF, etc..

Il n'y a pas à l'heure actuelle (à ma connaissance) de superbes designers hyper sexy pour RDL (mais VS 2008 intègre un designer visuel, le saviez-vous ?!), l'information est difficile à trouver, c'est le côté "underground" de RDL.. Mais si comme tous les informaticiens de la planète (et peut-être même de quelques exoplanètes!) vous avez le blues du générateur d'état, alors jetez un oeil à RDL, il y a des chances que cela vous séduise. Dans tous les cas vous aurez au moins gagné un sujet de conversation hyper branché pour la machine à café !

Merci qui ? ... Laughing

Alors stay tuned !

Les bonnes adresses Microsoft : Tout sur Visual Studio 2008

Le monde Microsoft est tellement vaste que retrouver certains téléchargements peut s'avérer difficile. Pour vous simplifier la vie voici une liste de bonnes adresses !

Visual Studio 2008

  • Version Express gratuite ( ici )
  • Version payante [ abonndés MSDN seulement ] ( ici )
  • Version d'essaiici )

Visual Studio 2008 SDK 

Kit de développement officiel.
Download Visual Studio 2008 SDK ( Version 1.0  beta 1.1)

Visual Studio 2008 - Exemples

"ASP.NET

  • Exemples et starter kits ici.
Visual Basic Visual C#

Outils VS pour Microsoft Office system 3.0

  • Download Microsoft Visual Studio Tools for the Microsoft Office system ( x86 )

Microsoft Report Viewer Redistributable 2008

  • Microsoft Report Viewer Redistributable 2008 ( ici

Visual Studio 2008 Training Kit

  • Visual Studio 2008 Training Kit ( ici   

Visual Studio 2008 Shell (isolated mode) Redistributable Package

  • Download Visual Studio 2008 Shell (isolated mode) Redistributable Package ( ici )

Visual Studio 2008 Shell (integrated mode) Redistributable Package

  • Download Visual Studio 2008 Shell (integrated mode) Redistributable Package ( ici ) 

 

 

ADO.Net Entity Framework pour VS 2008, comment en profiter ?

La question m'a été posée plusieurs fois alors un petit billet s'impose : Comment installer l'Entity Framework pour Visual Studio 2008 ?

L'Entity Framework je vous en ai déjà beaucoup parlé ici, j'ai même puplié il y a quelques temps un long article sur la question (voir sur le blog dans le menu "pages" à droite, les articles à télécharger). C'est une fantastique révolution, une façon réellement nouvelle de marier le monde des données SQL et celui des objets. Mais encore faut-il avoir les outils pour "jouer" avec !

Et quand on n'est pas un spécialiste de la recherche sur le Web ou que l'on n'est pas anglophone (ce qui est hélas le cas en france, pays lanterne rouge en langues étrangères...) c'est un peu difficile de se dépatouiller, c'est vrai. Mais je suis là :-) Alors voici ce que vous devez installer et où aller le chercher :

  1. Le Framework .NET 3.5 (installé avec VS 2008 normalement)
  2. L'ADO.NET Entity Framework beta 3 (à ce jour la plus récente)

 Ca, c'est le minimum vital (pour VS 2008).

Ensuite vous pouvez compléter par les téléchargements suivants :

Complétez le tout par mon article sur Linq et l'Entity Framework en le faisant précéder par celui que j'ai écrit sur les nouveautés syntaxiques de C# 3.0 (indispensable pour comprendre certaines tournures de Linq). Vous pouvez aussi consulter les billets de ce blog consacré à cette question :

Avec tout ça je pense que serez parés pour cette nouvelle aventure !

Merci qui ? .. Allez pas la peine, je le fais de bon coeur, alors Stay Tuned !

 

 

 

Le coin des bonnes adresses Microsoft

La nouvelle année est l'occasion de mille nouvelles promesses et bonnes résolutions qui seront souvent fort peu suivies d'effet ! Ainsi va la nature humaine.

Si se former, s'intéresser aux nouveautés, rester au top de la technologie fait partie de votre liste de bonnes résolutions pour 2008 alors soyeux heureux, j'ai un bon moyen pour qu'au moins vous puissiez tenir cette promesse ! Comment ? En suivant les liens de cette collection d'adresses indispensables !

Bonne lecture !

ThèmesDescriptionAdresse
Architecture Une vision des dernières technologies et applications, donnant des idées et des exemples sur la manière de les intégrer avec succès dans la mise en oeuvre des architectures. www.microsoft.com/architecture/
Framework Centre d'information .NET Framework msdn.microsoft.com/netframework
Micro Framework Vous connaissez le Compact Framework, mais le Micro Framework (ou embedded framework) ? Vous saurez tout en suivant ce lien ! msdn2.microsoft.com/en-gb/embedded/bb267253.aspx
ASP.NET Centre d'information et de ressources ASP.NET www.asp.net/
IIS Centre d'information et de ressources MS Internet Information Services www.iis.net
Learning center Le centre de formation MS sur toutes les technos de l'éditeur www.microsoft.com/learning
Sécurité Centre d'information sur la sécurité (articles, webcasts...). A ne pas négliger ! msdn2.microsoft.com/en-us/security/aa973363.aspx
SQL Server Toute l'information sur SQL Server www.microsoft.com/sql/default.mspx
Sync Framework ADO.NET Entity Framework, ADO.NET Data Services (Astoria), que des choses importantes ! msdn2.microsoft.com/en-us/data
MS United Communication Microsoft UC offre une palette de choix dans la manière dont les communications et la collaboration des logiciels sont implémentées, gérées et maintenues.
www.microsoft.com/uc/default.mspx
VS 2008 L'IDE star a aussi son site ! msdn2.microsoft.com/en-us/vstudio/default.aspx
Windows Server 2008 Le nouveau serveur Windows www.microsoft.com/windowsserver2008/
Vista Toute l'info sur cet OS www.microsoft.com/windowsvista/businesses/default.mspx
MSDN L'incontournable site d'information de Microsoft www.msdn.com

Présentation des différentes facettes de LINQ (article à télécharger)

Le voilà enfin ! [Updated ! Version 1.1 en ligne]

un PDF de 32 36 pages et 5 6 projets exemples sous VS 2008 pour vous présenter les différentes facettes de LINQ. Je n'en voyais plus le bout de cet article ! Non par lassitude, bien au contraire, mais parce que LINQ est d'une incroyable richesse et que je voulais vous en dire la maximum.

Sans entrer dans les détails trop techniques de la syntaxe (la doc Microsoft est très complète et n'a nul besoin d'une redite), cet article présente le pourquoi et le comment de LINQ au travers d'explications et d'exemples de code.

  • LINQ to Objects
  • LINQ to SQL
  • LINQ to Dataset
  • LINQ to XML
  • LINQ to Entities

Sans prétendre que toutes ces versions de LINQ n'auront plus de secret pour vous après avoir lu l'article, vous en saurez certainement plus pour mieux comprendre pourquoi il y a eu un avant LINQ et qu'il va y avoir un après LINQ...

Pour télécharger l'article cliquez ici !

Avant de lire cet article il est préférable de connaître les nouveautés syntaxiques de C# 3.0, si ce n'est pas votre cas vous pouvez télécharger mon précédent article.

Pour la liste de tous mes billets sur LINQ cliquez ici.

Note de la version 1.1 : table des matières ajoutée + plus de détails sur Linq to Entities et un projet utilisant la bêta 3.

Les nouveautés syntaxiques de C# 3.0

Les expressions Lambda vous connaissez ?

Et l'inférence des types locaux, les méthodes d'extension, les expressions d'initialisation des objets ou les types anonymes ?

Si tout cela sonne bizarrement à vos oreilles, n'hésitez plus une seconde : téléchargez le nouvel article que j'ai mis en ligne gratuitement !

Voici le lien, il n'y a qu'à cliquer ici !

Vous êtes encore là ?

... Alors ne loupez pas le tout dernier article "Présentation de LINQ avec C#", un papier de 32 pages riche en exemples !

Kit gratuit d'entraînement pour Visual Studio 2008 et le framework 3.5

Microsoft a mis en téléchargement public un kit d'entraînement pour VS 2008 et le framework 3.5.

Le fichier pèse environ 120 Mo, vous pouvez le télécharger en cliquant ici.

Le contenu

Ce training kit est en fait le contenu de formation qui a déjà été donnée sur 5 jours à un certain nombre de partenaires Microsoft ces mois derniers. Il contient 20 hands-on-lab, 28 présentations et une vingtaine de démos scriptées pour se former au produit et à ses nouveautés.

Le contenu a été mis et jour pour refléter la réalité de la version finale (distribuée aux abonnées MSDN depuis ce mois-ci en attendant la mise sur la marché en février prochain - vous pouvez donc utiliser la bêta 2 en téléchargement gratuit dans ce laps de temps si vous n'êtes pas abonné MSDN).

Les sources d'info complémentaires

Le petit supplément de Monsieur Plus : je vous rajoute en prime les liens de plusieurs vidéos complémentaires au kit :

Rien que du bon, mais en anglais. Pour les francophiles/phones anglophobes il faudra attendre mes articles à venir.. Alors : Stay Tuned !

Le journal des TechEd : Jour 4

L'avant dernière journée de cette course folle s'achève...

Sélectionner les bonnes conférences est toujours délicat. Je vous parlais dans un précédent billet de l'excellente idée de Microsoft de filmer toutes les breakout sessions qui se retrouveront ainsi en video sur le DVD de la conf et dans l'attente de ce dernier qui seront téléchargeables sur le site des TechEd.

Mais il y a une autre façon de présélectionner les conférences, en téléchargeant les slides sur la page "My event" (à laquelle tout participant a accès avec son login). Les slides sont souvent "légers", beaucoup de speakers n'y mettent qu'un minimum préférant la démo en live au texte des diapos. Malgré tout cela permet de se faire une idée plus précise du plan que suivra le conférencier et d'affiner sa sélection.

Parmi les conférences de la journée, TLA403 "Loose coupling in practice - Composite UI Application block (CAB) in the real world" a retenu mon attention. Elle présentait notamment le "Smart Client Software Factory" dont la V2 est sortie en mai dernier, un ensemble de classes et d'outils facilitant la conception d'applications modulaires. La V2 intègre la gestion des CAB pour la distribution des modules. Vous pouvez télécharger la SCSF et ses sources sur Codeplex ou sur la page officile chez Microsoft: http://msdn2.microsoft.com/en-us/practices/bb190387.aspx .

La session présentée par David Platt était doublée dans l'après par une autre conf sur le même sujet présentée par Mario Szpuszta (TLA406). Je n'ai pas assisté à cette dernière qui, selon les slides, faisait intervenir Workflow Foundation dans les patterns proposées. Une conférence qu'il sera bon de visionner lorsque sa video sera mise en ligne donc...

La conférence TLA303 présentait le Visual Studio 2008 Shell et la façon de créer son propre IDE en se basant sur ce noyau. je n'ai suivi que le tout début préférant voir ce contenu en video plus tard car au même moment se tenait la TLA407 "Dealing with concurrency and multi-core CPUs with today's developement technologies", ou bien en français "comment gérer la concurrence et les microprocesseurs multi-coeurs avec les technos actuelles". Une conférence dense, très intéressante qui méritera une seconde écoute au calme quand la vidéo sera en ligne...

Bref, une journée encore bien chargée... Après 4 jours de conférences en anglais on se surprend à retrouver dans ses notes des paragraphes entiers notés en anglais sans s'en être aperçu.. L'immersion linguistique, c'est aussi un autre avantage des conférences internationales comme les TechEd !!

A demain pour le dernier jour !

 

Le journal des TechEd : Jour 1

ça y est ! La ruche bourdonne !

C'est parti pour 5 jours infernaux, des centaines de conférences, des cameramen pour chaque grande session pour préparer le DVD des confs, des partenaires exposants, bref, une grand messe réglée à la Microsoft : ultra pro.

Tout y est, du beau sac garni (voir le billet d'hier) au plan de Barcelone accompagné d'un plan de métro/tram/bus et de deux passes de dix voyages (l'équivalent de deux carnets de métro parisien). Microsoft a pensé à tout pour que ce séjour soit aussi studieux qu'agréable.

 

Tout est prévu pour un accueil sympathique malgré la foule, espace de repos, espace de travail avec connexion Wifi, distributeurs gratuits de bouteilles (eau, sodas divers), thé et café à tous les étages, pommes, donuts, fruits secs espagnols, toilettes impeccables (vu la foule il faut vraiment le souligner), bref le participant finirait par se prendre pour un GM au club med..

J'utilise le conditionnel, car si le GM ne pense qu'à la bronzette et à la détente, le participant aux TechEd lui, pense boulot ! Parmi toutes les conférences difficile de faire son choix, on voudrait toutes les voir !

Heureusement, Microsoft a la aussi pensé à tout puisque, comme je le disais, tout (ou presque) est filmé. D'abord c'est une retransmission en direct à l'extérieur de nombreuses salles: on se promène et on peut voir et écouter ce qui se passe sans entrer... démarche intéressante. Ensuite les vidéos seront disponibles aux participants sur le net, et enfin elles seront gravées sur le DVD envoyés dans 6 semaines. On pourra donc tout voir, ce qui est génial. De fait on peut fonctionner "au coup de coeur", suivre son envie de l'instant en étant presque certain qu'on ne loupe rien. Certaines sessions non enregistrées peuvent être ainsi visitées, même si on leur porte un intérêt moindre car les "breakout sessions" seront elles sur le DVD. Une approche réellement séduisante laissant une plus grande liberté de choix, sans stress d'avoir fait le mauvais.

Les adeptes de la nicotine se retrouvent dehors lors des breaks :

Beaucoup de choses intéressantes donc, les nouveautés de VS 2008, LINQ ou bien le développement avec Silverlight ne sont qu'une petite partie des thèmes abordés. Que des bonnes choses à venir...

Impossible bien entendu de faire le rapport détaillé des conférences , et puis cela ne serait pas loyal pou ceux qui ont fait le voyage jusqu'ici, je vous le dit depuis le début : il fallait venir ! Durant ces quelques jours je vais tenir un journal des techEd, je dirais même "mon petit journal égoïste des TechEd". Pour les grands papiers techniques où UML remplacera Picasso, et où la rigueur du fond tranchera avec la légèreté des courbes des maisons de Gaudi, il faudra attendre mon retour !

Il n'y a pas que les conférences bien entendu, il y a aussi Barcelone, belle le jour, belle la nuit. Picasso, Miro, Gaudi, de pures merveilles à voir et à revoir partout, mais je vous en reparlerai demain..