Archive for the 'Silverlight' Category
Dans une production conjointe de Regart.net et de Microsoft, j'ai participé au développement d'un plugin pour wordpress au côté de Boris Forconi. Celui-ci est basé en partie sur celui de Tim Heuer. L'idée était de créer une galerie Silverlight en utilisant l'API wordpress mais en développant la galerie elle-même en Silverlight. Boris s'est occupé de toute la partie PHP et de l'intégration à Wordpress. Pour ma part, j'ai développé la partie Silverlight. L'objectif est de fournir un moyen simple de mettre des images en ligne pour Wordpress comme montré ci-dessous :
Il suffit d'écrire une balise de type : [sl-gallery: ...]
Vous pouvez définir les paramètres comme indiqué dans l'exemple ci-dessous :
- width=400
//définit la largeur de la galerie à 400 pixels - height=400
//définit la hauteur de la galerie à 400 pixels - leftArrow=true
//affiche ou cache la flèche de gauche - rightArrow=true
//affiche ou cache la flèche de droite - pageNumbers=true
//affiche ou cache la pagination - thumbnails=true
//affiche ou cache les vignettes - fill=uniform
//permet d'indiquer un mode de remplissage vous avez le choix entre :
// uniform (remplissage homothétique partiel selon possibilité)
// uniformtofill (remplissage avec homothétie)
// fill(remplissage avec déformation les dimensions)
// none (préserve les dimensions originales) - bgcolor
//couleur d'arrière plan - bgmode
//sans arrière plan ou avec arrière plan windowless
La première bonne nouvelle, c'est qu'il est possible d'utiliser un menu pour paramétrer tout ça en 2 secondes. Il s'ajoute à l'administration des articles Wordpress. Une petite fenêtre apparaît lorsque vous cliquez sur le bouton (voir ci-dessous).

La seconde bonne nouvelle, c'est que nous mettrons rapidement les sources à disposition sur wordpress.com. De cette manière vous pourrez modifier entièrement le visuel de la galerie côté Silverlight. Dans tous les cas, celle-ci récupère dynamiquement les images de la galerie Wordpress. Vous pouvez en télécharger une première version ici.
Je mets en ligne deux nouveaux composants exposés ci-dessous :
Vous pouvez télécharger la librairie tweenedcontrols ici.
ColorChooser
Depuis sa version beta, ce contrôle a été largement améliorée. Il est désormais possible de cliquer directement sur la surface des deux nuanciers pour sélectionner une couleur. La propriété SelectedColor est cette fois de type Color. Tous les tests d'écriture d'une couleur sont directement accomplis par cette classe. Cela simplifie beaucoup le code et évite l'utilisation d'une classe de conversion.
ColorPicker
Ce composant a pour but de faire apparaitre un ColorChooser via l'utilisation interne d'une instance de Popup. Toute la problématique consiste à placer le ColorChooser à côté du ColorPicker. À cette fin, j'ai créé une méthode d'extension pour la classe Popup. Il est également possible d'accéder au style et template du ColorChooser directement par l'intermédiaire des menus Edit Template=> Edit Aditional Template comme montré ci-dessous.

ColorPicker possède la propriété de dépendance IsOpen couplée aux événements Opened et Closed.
Mis à part cette astuce ce contrôle se contente d'exposer, les propriétés et événements du ColorChooser.
J'ai finalisé récemment l'écriture de mon livre Pratique de Silverlight dédié à la technologie du même nom. Celui-ci devrait faire plus de 500 pages et s'articule autour de l'apprentissage des bonnes pratiques de production en équipe. Il est édité par Pearson Education France et sort le 2 février 2010. Je ne l'ai pas conçu comme un glossaire de fonctionnalités mais plutôt comme un guide de production et d'apprentissage. Il trace un portrait robot de la conception d'applications Silverlight, en partant de la liste d'affichage jusqu'au chargement de données externes au sein du modèle de conception MVVM en passant par le prototypage ou l'organisation des flux de production.
L'idée générale du livre est de fournir des exemples concrets téléchargeables aussi bien pour les graphistes que pour les développeurs. Vous pouvez en réserver un exemplaire sur le site de Pearson France ici.
Cet ouvrage s'adresse aux intégrateurs Web, aux designers interactifs, aux graphistes purs et aux développeurs web peu familier de la plateforme .Net. Il crée un pont entre développement et graphisme, pour améliorer la collaboration et la productivité.
Son contenu prend en compte les spécificités des développeurs et des designers interactifs sous formes d'exercices complémentaires. Le C# est choisi comme seul langage logique pour plus de clarté. La théorie, les exemples et exercices (téléchargeables) sont progressifs et peuvent constituer une base d’apprentissage pour les non développeurs. Toutefois ce livre ne s’adresse pas aux débutants du Web, mais bien aux personnes qui possèdent des bases acquises sur d’autres technologies.
Voici le sommaire du livre
Partie I. Approche de Silverlight
1. Introduction
1.1 Qu’est-ce que Silverlight ?
1.2 De .Net 1 à Silverlight
1.3 Les avantages de Silverlight
1.4 La suite Expression Studio
1.5 Positionnement métier
1.6 Langages de développement et choix
2. Le couple XAML / C#
2.1 XML
2.2 XAML, un langage déclaratif puissant
2.3 Les fondamentaux du langage C#
3. HelloWorld
3.1 Une première application Silverlight
3.2 Architecture d'une solution
3.3 Le conteneur racine
3.4 Ajouter du texte
3.5 Tester et compiler
4. Un site plein écran en 2 minutes
4.1 Les projets de type site Internet
4.2 Créer des conteneurs redimensionnables
4.3 Le composant bouton
4.4 Ajouter de l’interactivité
4.5 Fichiers déployés
5. L’arbre visuel et logique
5.1 Composants visuels
5.2 Principe d’imbrication
5.3 Ajouter des enfants à la liste d’affichage
5.4 Supprimer des objets de l’arbre visuel
5.5 Échanges d’index
Partie II. Interactivité et création graphique
6. Animations
6.1 Introduction
6.2 Animer avec Expression Blend
6.3 Gérer l’accélération
6.4 Animer avec C
6.5 Les transformations relatives
6.6 Animer des particules
7. Boutons personnalisés
7.1 Créer un lecteur vidéo
7.2 Style visuel
7.3 Bouton générique
7.4 Le gestionnaire d’états visuels
7.5 Le bouton interrupteur ou ToggleButton
8. Interactivité et modèle événementiel
8.1 Les fondements du modèle événementiel
8.2 Supprimer l’écoute d’un événement
8.3 Le couplage faible en pratique
8.4 Propagation événementielle
8.5 Les comportements
9. Les bases de la projection 3D
9.1 L’environnement 3D
9.2 Les propriétés 3D
9.3 La caméra
9.4 Introduction aux matrices
10. Prototypage dynamique avec SketchFlow
10.1 L’environnement
10.2 Prototype simple
10.3 Le lecteur SketchFlow
10.4 Interactivité
10.5 Interface riche
Partie III. Conception d’applications riches
11. Ressources graphiques
11.1 Qu’est-ce qu’une ressource
11.2 Les pinceaux
11.3 Les polices de caractères
11.4 Styles et modèles de composants
11.5 Le modèle Slider
11.6 Les liaisons
11.7 Le modèle ListBox
12. Composants personnalisés
12.1 Contrôle utilisateur
12.2 Boîte de connexion
12.3 Contrôles personnalisables
13. Médias et données
13.1 Chargement de médias
13.1.1 Chargement dynamique d’images
13.1.2 Formats vidéo et modes de diffusion
13.1.3 Un lecteur vidéo simple
13.1.4 Chargement dynamique de vidéos
13.2 Conception MVVM
13.2.1 Principes
12.2.2 Modèle
12.2.3 Vue-Modèle
13.3 Chargement de données
13.3.1 L’objet WebClient
13.3.2 Introduction à LINQ
13.3.3 Expression lambda
13.3.4 Consommer du XML avec LINQ
13.3.5 Charger un flux JSON
13.3.6 Sécurité inter-domaine
Pour les besoins d'une production récente, j'ai du concevoir un contrôle de progression circulaire nommé PieProgressBar. Ce dernier hérite de la classe RangeBase et bénéficie à ce titre de toutes les capacités inhérentes à ce type de contrôle. Il se comporte au final comme n'importe quel contrôle de type ProgressBar avec quelques petites choses en plus. La petite difficulté fut de créer dynamiquement le camembert de progression via C#. Contrairement à WPF, Silverlight ne permet pas de surcharger de méthode permettant de créer de nouveaux genres de Shape. Autrement dit, même si Shape est une classe abstraite, il ne sert à rien d'en hériter car la méthode de conception du tracé ne peut être surchargée.
L'autre technique consiste à utiliser le "Path mini language" qui permet de créer des figures géométriques en XAML. J'ai du utiliser 3 segments dont un ArcSegment afin de réaliser ce contrôle. comme je ne pouvais pas créer de primitive Pie pour le graphiste sous Blend, il a fallu ruser... La technique consiste a créer dynamiquement le camembert lors de l'assignation d'une partie de contrôle (ControlPart). En interne, les propriétés de remplissage du tracé généré, sont liées aux propriétés du contrôle via une simple liaison de données créées cote C#.
Vous pouvez en voir des exemplaires ci-dessous et télécharger la librairie tweenedcontrols ici.
Une fois la dll référencée, vous pouvez instancier des contrôle PieProgressBar dans Blend via le panneau Assets comme montré ci-dessous :
Ce composant va être sans doute inclu comme d'autres dans le projet CodePlex SLExtensions que Thierry Bouquain met à jour en ce moment et que je salue au passage
Tim Heuer mets en ligne une série de vidéos dédiées à Silverlight 4. Les thèmes sont listés ci-dessous :
- Vue d'ensemble
Quelles sont les principales choses à savoir sur Silverlight 4 ? Une comparaison avec Silverlight 3?
- Contrôles
Quels sont les nouveaux contrôles de Silverlight 4?
- Out Of Browser
Comment établir des privilèges élevés pour vos applications ?
Que sont les notifications toast?
Comment peut-on héberger du contenu HTML dans une application ?
- Impression et Webcam
Comment les nouvelles API d'impression / webcam Microphone fonctionnent-elles ?
- * Vs Silverlight WPF
Avec sa version 4, la frontière entre Silverlight et WPF s'efface. Comment décider quelle technologie utiliser?
- * Améliorations du moteur de texte
- Communication réseau
Quel sera l'impact pour vos futurs développement ?
- Liaison de données: Les nouveautés
Voici un lien vers le blog de Tim, n'hésitez pas à visionner les vidéos pour mieux découvrir les nouveautés de Silverligh 4.
http://www.sparklingclient.com/silverlight-4-podcast-pack-with-tim-heuer




