Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

L'impression 3D est une technologie en plein essor qui permet de produire des objets réels à partir de modèles 3D.

Ces modèles 3D sont généralement réalisés manuellement au moyen de logiciels de CAO (CAD). La communication entre l'ordinateur et l'imprimante 3D se fait généralement par fichier, le format STL (STereoLithography) étant le plus répandu.

WPF permet de réaliser des modèles 3D. La bibliothèque Perspective est une surcouche de WPF qui facilite le développement 3D. L'impression de modèles 3D issus de WPF et de Perspective présente un atout par rapport à l'utilisation manuelle de logiciels de CAO : les modèles peuvent être générés dynamiquement par programmation.

J'ai donc enrichi la bibliothèque Perspective d'une fonctionnalité d'export de modèles 3D dans un fichier STL. Les essais d'impression 3D ont été réalisés à Cambridge (Angleterre), dans les locaux de la communauté makespace, que je remercie, en particulier Kim Spence-Jones, Nicholas Johnson et la famille Brice ;)

Les détails dans mon nouvel article.

 

C++/CX est une extension du langage C++ destinée à exploiter le Windows Runtime (WinRT) pour réaliser des applications Windows Store, ou des composants réutilisables dans les différents langages supportés : JavaScript, .NET (C#, VB.NET, etc.) et C++.

WinRT est une API native qui exploite une version simplifiée de la technologie COM. Cette technologie est basée sur les interfaces, et ne supporte pas l'héritage de classe, sauf pour ce qui a trait à XAML. De ce fait, cette particularité s'applique à C++/CX, langage dans lequel on privilégiera l'utilisation des interfaces, sauf dans certains cas d'utilisation de XAML.

Les détails dans mon nouvel article.

Sessions vues ce jour :

Les TechDays ont commencé ce matin avec une plénière savamment orchestrée - comme toujours - pour introduire les axes majeurs de la conference : Azure, développement Web, Windows 8, Windows Phone 8 et design.

Voici les sessions que j'ai suivies ensuite :

Les TechDays offrent aussi une bonne occasion de faire du networking et de découvrir l'écosystème Microsoft.

La bibliothèque Perspective offre un framework qui permet de construire des scènes 3D au moyen de modèles géométriques prédéfinis. Dans ce tutoriel, j'ai décrit la construction statique de scènes au moyen de XAML. Dans ce nouvel article, je présente la construction dynamique de scène par le code.

Encore une bonne session du W3C aujourd'hui au www2012 pour présenter les bonnes pratiques du développement d'applications Web mobiles avec HTML5. D'ailleurs, la variété des formats d'écrans est telle aujourd'hui que ces conseils s'appliquent au développement HTML en général. L'animatrice, Frances de Waal, utilisait un support original réalisé avec prezi.

MobileWebApp presentation
A la conférence www2012 cet après-midi, Michel Buffa, enseignant à l'université de Nice, a animé avec des étudiants un atelier sur HTML5. Là encore, ce fut très intéressant. Au-delà des caractéristiques de base, l'accent était mis sur des fonctionnalités avancées ou rarement évoquées : la création dynamique de bitmap, les effets et l'incrustation d'image en vidéo, la nouvelle Web Audio API (API audio évoluée permettant l'analyse et la synthèse sonore), les WebSockets pour la communication "temps réel" avec le serveur et entre utilisateurs, etc.
Web Audio API
www2012, la conférence internationale du Web, se tient cette année à Lyon Smile. Et le 1er tutoriel W3C, animé par Bert Bos et Eva Kasal, était une réussite (malgré quelques problèmes de forme). Les caractéristiques de CSS3 y ont été présentées de façon détaillée et illustrées avec de nombreux exemples, principalement pour Safari ou Chrome, tout en faisant le point sur l'avancement du support par les différents navigateurs. Le contenu de la session était très riche : images de fond, dégradés, bordures, polices, nouveaux sélecteurs, adaptation à la cible, agencement spatial (layout : grid, flexbox, regions), exclusions, transformations 2D et perspective 3D, transitions et animations. Une référence. Chapeau bas !

Présentation et démos




En XAML/.net comme en HTML5/CSS3/JavaScript, les contrôles d'une page peuvent être agencés en coordonnées absolues, en piles ou de façon tabulaire. Les techniques utilisées varient selon le langage mais reposent sur des principes similaires. La Flexbox de CSS 3 permet par exemple d'empiler automatiquement les contrôles HTML et WinRT :

Dans ce nouvel article, je compare les systèmes d'agencement de XAML/.net et HTML5/CSS3/JavaScript.

Je viens de publier la version 3.0 de Perspective pour Silverlight, qui regroupe un portage sous Silverlight 5.0 des fonctionnalités de Perspective 2.0, le framework 3D de haut-niveau introduit récemment et de nouveaux exemples de code. En voici la liste des fonctionnalités.

Suite à la sortie de la version finale (? l'avenir nous le dira ;-) de Silverlight 5, j'ai mis à jour mes travaux sur la programmation 3D avec la bibliothèque Perspective.

Perspective 3D

Voici 2 articles pour en savoir plus :

Je l'ai pas fait exprès (en cette période d'euphorie pour la nouvelle IHM de Windows 8 :) mais ma première application Windows Phone 7 s'appelle Metro blues. C'est une application pour les musiciens qui génère des grilles d'accord (dans toutes les tonalités), et qui est particulièrement adaptée au blues.

La version 5 de Silverlight permet de réaliser des scènes 3D qui exploitent l'accélération matérielle (c'est à dire qui délèguent les calculs d'affichage au processeur graphique ou GPU). Il s'agit en fait d'une intégration de XNA au sein du runtime Silverlight. Comme le souligne Don Burnett dans son article XNA for Web Browsers or Silverlight 5 3D from Mix11, l'accent est mis sur la portabilité du code XNA et non sur la compatibilité avec l'API 3D haut-niveau de WPF. XNA est une API bas-niveau, destinée au programmeur, et à priori inadaptée à un langage déclaratif comme XAML et aux outils associés. Quid de la collaboration designer / développeur ?

Fort de mon expérience d'encapsulation de l'API 3D de WPF, j'ai créé au sein de la bibliothèque Perspective un jeu de classes pour amener la programmation 3D avec Silverlight 5 à un niveau proche de celui de l'API 3D de WPF et de Perspective pour WPF.

Perspective 3D for Silverlight 5 beta

Voici 2 articles pour en savoir plus :

Télécharger Perspective 3 for Silverlight 5 [mis à jour le 07/02/12]

Le moteur 3D de Silverlight 5 a été présenté au MIX lors d'une session très pédagogique animée par Aaron Oneal, et dont les premiers exemples de code viennent d'être publiés.

Remarque : la beta de Silverlight 5 requiert une version US de Visual Studio 2010 SP1.

Mise à jour du 17/08/11 : j'ai créé au sein de la bibliothèque Perspective un jeu de classes pour amener la programmation 3D avec Silverlight 5 à un niveau proche de celui de l'API 3D de WPF - En savoir plus

Une nouvelle API a été introduite dans .NET 4.0 pour piloter MSBuild. Malheureusement, à ce jour, je n'ai trouvé aucun exemple de mise en oeuvre, ni dans la documentation, ni sur le Web. J'ai donc procédé à des investigations, et rédigé une synthèse dans la foulée.

Lire l'article

Je viens de publier la version 2.1 de Perspective FX, outil qui permet de générer des effets graphiques et de faire des programmes de retouche d'images sous WPF 4 ou Silverlight 4. Perspective FX exploite un système d'assemblage de filtres, qui est simple à utiliser et qui ne requiert pas la maîtrise de HLSL...

La 2e édition de mon livre sur Silverlight est sortie aujourd'hui Smile

J'y présente de façon approfondie les fonctionnalités de Silverlight 4 :

  • les deux modèles applicatifs : application navigateur (plug-in) et mode hors navigateur,
  • XAML,
  • la mise en oeuvre des ressources, styles et templates,
  • le graphisme vectoriel, les animations, les transformations et les effets Pixel Shader (HLSL),
  • les différents types de présentation et de saisie : interface utilisateur à base de contrôles interactifs, support des écrans tactiles multitouch, visualisation et saisie de données (databinding, architecture MVVM), multimédia (texte, image, son, vidéo),
  • le développement de bibliothèques de contrôles personnalisés,
  • etc.

Dans cette nouvelle édition, le texte et les exemples de l'ouvrage ont été modernisés. L'ouvrage a été enrichi avec les principales fonctionnalités introduites dans la version 4 : multimédia (contenu HTML, texte riche, documents, impressions, Webcam et microphone), support des écrans tactiles, commandes, applications approuvées, etc.

Et pour l'occasion, j'ai publié la version 2.0 des bibliothèques open-source Perspective pour Silverlight (outils génériques) et Perspective FX (générateur d'effets Pixel Shader / HLSL pour Silverlight et WPF).

Pour acheter le livre ou télécharger les fichiers exemples depuis le site de l'éditeur

Le chargement depuis un serveur Web d'une grosse application Silverlight monolithique peut s'avérer très long, trop long pour l'utilisateur. Il est alors nécessaire de mettre en place un mécanisme de chargement progressif des assemblys de l'application. Le principe consiste à découper l’application en plusieurs paquets, qui sont chargés à la demande en fonction des besoins.

Le Framework MEF (Managed Extensibility Framework), intégré à Silverlight 4, offre une solution à cette problématique au moyen de la classe DeploymentCatalog. Mais son implémentation ne couvre pas certaines fonctionnalités attendues en mode hors navigateur.

Sur la base de travaux similaires réalisés pour Silverlight 2, j'ai donc développé un mécanisme alternatif dans le framework Perspective 2.0 pour Silverlight avec les fonctionnalités suivantes :

  • Chargement de modules d'extension.
  • Chargement des pages de ces modules (pour affichage dans un élément Frame par exemple).
  • Support du chargement tardif (!i!"lazy loading").
  • Fonctionnement en mode navigateur et hors navigateur. En mode hors navigateur, les modules d'extension sont chargés depuis le stockage isolé (isolated storage), où ils auront été installés automatiquement.

Ce système d'extension n'est pas générique : il se limite au chargement de modules et de pages. Mais il reste simple et peut servir d'exemple à l'élaboration d'un système plus évolué, en attendant la prochaine version de MEF.

Sa mise en oeuvre est présentée de façon détaillée dans cet article.

A la PDC10, Rob Relyea a clarifié le positionnement de WPF et de Silverlight, et annoncé en avant-première quelques fonctionnalités de la prochaine version de WPF.

En résumé, WPF est prévu pour des projets d'applications riches devant exploiter sans limite les ressources du poste de travail Windows, et de ce fait concerne principalement les éditeurs de logiciel (ISV). Microsoft conseille de démarrer les autres types de projet avec Silverlight, quitte à migrer sous WPF si besoin (l'inverse étant beaucoup moins évident). Mais WPF est aussi conseilllé pour des projets mariant des technologies variées par sa bonne capacité d'intégration, qui favorise l'évolution en douceur des systèmes d'information : Win32/GDI (HWndHost), ActiveX (ActiveXHost), Windows Forms (WindowsFormsHost), HTML (WebBrowser) et Direct3D (D3DImage).

La prochaine version de WPF permettra d'héberger du contenu Silverlight au sein d'un élément SilverlightHost, et de communiquer entre les deux technologies. WPF pourra ainsi bénéficier de fontionnalités spécifiques à Silverlight, telles que Deep Zoom.

Microsoft travaille aussi à résoudre les problèmes de recouvrement, encore appelés problèmes d'espace aérien, qui apparaissent lorsque l'on fait cohabiter ces différentes techniques (à l'exception de D3DImage).

Parmi les autres annonces, le composant ruban (Ribbon) sera intégré au framework, et la convergence avec Silverlight sera poursuivie (par exemple avec le portage de la classe Silverlight ChildWindow). Enfin, Microsoft travaille à améliorer la réactivité et les performances de l'interface utilisateur avec de gros volumes de données (multithreading, virtualisation, etc.).

Vidéo de la session PDC
Page dédiée à la PDC10 sur le site de Rob Relyea

Je viens d'adapter à Silverlight 4.0 mon article sur la compilation manuelle de code (initialement écrit pour les versions 2.0 et 3.0). En effet, pour différentes raisons, il peut s'avérer utile de découvrir la compilation Silverlight en ligne de commande. Cela permet par exemple de mieux comprendre le mécanisme de compilation de Visual Studio. Cela peut aussi permettre de générer dynamiquement des assemblys Silverlight, comme le fait la bibliothèque Perspective FX.

Plus de Messages Page suivante »


Les 10 derniers blogs postés

- Nouveau blog en anglais / New blog in english ! par Le blog de Patrick [MVP SharePoint] le il y a 12 heures et 54 minutes

- [ #Yammer ] From Mailbox to Yammer and back / De votre messagerie vers Yammer et retour ! par Le blog de Patrick [MVP SharePoint] le 09-15-2014, 11:31

- [ #Office 365 ] New service settings panel / Nouveau panneau de paramétrage des services par Le blog de Patrick [MVP SharePoint] le 09-11-2014, 08:50

- Problème de déploiement pour une démo SharePoint/TFS? par Blog de Jérémy Jeanson le 09-10-2014, 21:52

- [ #Office365 ] Delve first impressions / Premières impressions sur Delve par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 16:57

- [ #Office365 ] How to change Administration console language ? / Comment changer la langue de la console d’administration ? par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 08:25

- [ #SharePoint 2013 ] Suppression de bases de données en état “Pas de Réponse” par Le blog de Patrick [MVP SharePoint] le 09-04-2014, 14:10

- Changer l’adresse d’une ferme Office Web Apps associée à SharePoint par Blog de Jérémy Jeanson le 09-01-2014, 22:21

- Une ferme #SharePoint 2013 dans @Azure en quelques clics (1ère partie) ! par Le blog de Patrick [MVP SharePoint] le 08-28-2014, 18:52

- SharePoint 2013: Préparation de la migration - Création des site Templates dans 2010 et 2013 par Blog Technique de Romelard Fabrice le 08-20-2014, 16:31