Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Lorem Ipsum generator : un autre exemple Silverlight

Et un de plus dans la galerie ! :-)

http://www.e-naxos.com/slsamples/lorem/loremgen.html

“Lorem ipsum…” vous connaissez tous ce texte en pseudo-latin que tous les infographistes utilisent pour tester la mise en page de leurs documents, de la carte de visite aux sites web, de la plaquette commerciale sur papier glacé jusqu’à, bien entendu, des applications Silverlight.

Il existe beaucoup d’extraits de ce fameux texte. Je vous propose “ma” version, en Silverlight.

image

Fonctionnalités

Génération

LIG (Lorem Ipsum Generator) est capable de générer des Paragraphes, des Phrases et des Mots de façon aléatoire.

Une phrase est constituée de mots, il est possible de choisir une fourchette, par exemple entre 3 et 8 mots. Le tirage est aléatoire pour chaque phrase.

Un paragraphe est constitué de phrases, il est ici aussi possible de choisir une fourchette, par entre un paragraphe fait de 5 à 8 phrases.

Qu’il s’agisse de paragraphes, de phrases ou de mots, la “chose” générée le sera en plusieurs exemplaires (tous différents) et ce nombre est fixé par une fourchette.

Les radio boutons en bas à gauche permettent de choisir le mode de fonctionnement.

Une case à cocher sous le texte permet de forcer la première phrase (en mode Paragraphes) à sa valeur la plus connue, le célèbre “Lorem ipsum …”.

Visualisation et statistiques

Le texte généré est immédiatement visualisé à l’écran. De plus, LIG fournit des statistiques simples mais importantes sur ce dernier : nombre de symboles et nombre de mots.

Récupération du texte

Le plus simple est de cliquer sur le bouton “Copy”. Une confirmation est demandée par mesure de sécurité. Il suffit ensuite de coller ce texte où vous en avez besoin…

Bouton Info

Il affiche une page d’information sur l’application

Installation Out-Of-Browser (OOB)

LIG supporte le mode de fonctionne OOB, en cliquant sur le bouton “Install” (en haut à droite, il s’illumine quand on passe la souris dessus) l’application LIG sera téléchargée depuis le Web et installée sur votre machine. Selon votre choix une icône peut être placée sur le bureau ainsi qu’une entrée dans le menu Démarrer (ou l’équivalent sous Mac).

Lors de la première installation l’application sera ouverte immédiatement, le site web sera toujours à l’écran aussi. Fermez ce dernier. Vous disposez maintenant d’une application locale totalement indépendante… Bien entendu LIG n’a alors plus besoin de connexion Internet pour fonctionner et durant son utilisation ni il n’envoie ni il ne reçoit des données depuis Internet. C’est totalement safe et sans espionnage.

Conclusion

Du coup, me privant d’une remontée d’info automatique pour respecter la liberté de chacun de ne pas être pisté par la moindre application, je remercie par avance les utilisateurs de LIG de bien vouloir me laisser un mot pour me dire s’ils apprécient ou non l’application.

Le code source sera mis à disposition d’ici quelques temps, alors… Stay Tuned !

Silverlight/Blend : bien plus que des exemples…

Juste quelques mots pour vous parler d’une librairie de code qui se trouve sur CodePlex et qui n’est pas assez connue à mon avis.

Il s’agit de “Expression Blend Samples” qu’on trouve ici : http://expressionblend.codeplex.com/ 

Cette lib, disponible en binaire avec installeur et en code source, contient de nombreux Behaviors et des effets visuels (Pixel shaders) tout à fait pratiques et utilisables dans vos projets Silverlight.

Ne vous laissez pas tromper par le mot “samples” (exemples) dans le titre, c’est bien plus que de simples exemples, c’est du code très utile !

On trouve par exemple des Behaviors (comportements) pour contrôler le composant média (play, pause…) sans passer par du code VB ou C# donc. Mais ce n’est pas tout, bien entendu, il y a aussi de nombreux Behaviors orientés données, d’autres spécifiques au prototyping… Une vraie mine d’or.

Des Triggers (déclencheurs) sont aussi disponibles dont le StateChangeTrigger qui détecte le passage à un état donné ou tout changement d’état d’un contrôle ou d’autre plus exotiques comme le MouseGestureTrigger qui permet de dessiner une gesture et ainsi de piloter une application via des mouvements pré-établis de la souris !

Enfin, la librairie contient tout un ensemble d’effets visuels issus de la librairie http://www.codeplex.com/fx avec deux petites différences qui comptent : d’une part “Expression Blend Samples” est fourni avec un module d’installation ce qui évite d’avoir à compiler les shaders, et d’autre part l’effet “Wave”, un des plus sympas, fonctionne à merveille alors même qu’il refuse de se compiler dans sa librairie originale…

Une librairie à posséder donc…

Google force au passage à IE8 …

Enfin indirectement, vous l’avez compris :-)

En effet, depuis que Google a été victime d’une attaque très ciblée venant probablement de Chine et avec la complicité de membres du personnel de Google Chine, Microsoft a mis les bouchées doubles pour régler la faille de IE6 qui a été exploitée et qui désormais pourrait l’être par des virus ou d’autres types d’attaques plus massives.

De fait, Microsoft vient de publier un bulletin (en copie ci-dessous) invitant tous les utilisateurs de IE6 à passer immédiatement à IE8, même si un patch est en préparation. En effet, IE8 qui a connu de nombreuses améliorations a aussi une sécurité renforcée et n’est pas sensible à l’attaque utilisée contre Google.

De fait, à cause de Google et de ses petites histoires en chine, les utilisateurs de IE6 sont forcés de passer à IE8. Merci qui ? Merci Google !

L’avis de sécurité de Microsoft concernant la faille :
http://www.microsoft.com/france/technet/security/advisory/979352.mspx

La fiche d’information Microsoft invitant à passer sous IE8 sans tarder :

Microsoft is aware of public exploit code released that impacts customers using Internet Explorer 6. Customers using Internet Explorer 8 are not affected by currently known attacks and exploits due to the improved security protections in IE8.  To help protect our customers, we recommend that all customers immediately upgrade to Internet Explorer 8.  Customers should also consider applying the workarounds and mitigations provided in the Security Advisory.

Internet Explorer 8 is available at http://www.microsoft.com/ie

Microsoft teams are continuing to work around the clock on an update and we will take appropriate action to protect customers when the update has met the quality bar for broad distribution. That may include releasing the update out-of-band.

Updates to this issue will be provided via the Microsoft Security Response Center Blog at http://blogs.microsoft.com/msrc

Faut-il avoir peur de passer en 64 bits ?

La question fait elle-même tellement trembler qu’elle semble être censurée avant même d’être formulée ! Une censure de type “freudien”, quasi inconsciente. On n’ “ose” même pas y penser…

Pourtant… Pourtant des raisons de passer au 64 bits, ce n’est pas ce qui manque. Prenez la mémoire, 3 Go maximum sous XP, et encore avec une machine bien réglée. Vous allez me dire, pour regarder des vidéos sur youtube et chatter sur msn 3 Go c’est déjà de trop. Et vous avez raison, c’est pourquoi les portables de mes deux filles n’ont qu’un seul Go et qu’elles ne voient pas la différence…

Mais bon, on parle entre pros ici, ce n’est pas le club des bloggeuses du lycée machin ou de la fac trucmuche ! Quand je monte une vidéo, quand je génère des séquences 3D, quand j’ai Blend, VS, Design et illustrator ouverts en même temps plus l’exe que je suis en train tester, avec 3Go ça swappe…

Mais il n’y a pas que la RAM qui rame, certains logiciels tirent réellement profit du 64 bits.

De toute façon la question qui se pose n’est pas de savoir si c’est mieux ou pas, on le sait que c’est mieux, techniquement. Le problème c’est “faut-il en avoir peur” !

Les raisons d’avoir peur sont-elles objectives ?

Je suis certain que pour vous comme pour moi, ce que je savais sur le 64 bits avant de m’y intéresser vraiment n’étaient au fond que des bruits de couloirs. La même fiabilité que les atrocités entendues dès qu’un OS un peu nouveau sort. J’ai entendu les mêmes bêtises pour Windows 1.0, puis toute la série jusqu’à Vista qui était, à en croire tous ces “spécialistes” (mais qui ne l’avaient jamais testé !) un produit bon à jeter à la poubelle.

Pour faire plaisir aux grincheux, Vista II s’est appelé Windows 7 et les gens l’ont testé. Du coup ils trouvent cet OS plutôt pas mal (à raison d’ailleurs).

En cherchant bien je me suis rendu compte que des vraies raisons d’avoir peur du 64 bits je n’en trouvais pas… Oh, bien sûr, il y a ces affreuses histoires de “drivers” qui n’existent pas. Une sorte de légende urbaine. Il y a aussi les terribles incompatibilités des applications existantes ! Il faut tout racheter, ça coûte une fortune !

Mouais… Racontars et bruits de couloirs, c’est bien ce que je crains….

Et comme je ne suis pas homme à me fonder une opinion sur ”l’avis des gens”, j’ai pour les tests un amour certain : ils sont comme des guides clairs et lisibles dans ce monde de désinformation. On coupe le bruit de fond, on se passe une musique sympa, et face à son PC on teste. Et on constate. Là on peut commencer à avoir une idée personnelle qui peut valoir la peine d’être exprimée. Sinon, hélas, le seul droit qu’il reste, en toute éthique, c’est de fermer sa g….

Testons !

Bien entendu je ne vais pas prendre un vieux portable Acer acheté 800 euros il y a 5 ans pour faire le test. Quoi que je pourrais tenter le coup. Mais bon, je suis lucide, si le x64 me plaît ça sera pour l’utiliser sur l’une de mes machines principales, c’est à dire du matériel qui a systématiquement moins de deux ans et acheté de telle façon à toujours avoir le top de ce qui fait, ou plutôt le précédent “top”, histoire de ne pas me faire tondre juste pour la frime.

Je suis donc parti d’une machine Dell Studio XPS neuve, équipée d’un excellent i870 4 coeurs hyperthreadés (donc 8 coeurs apparents, entre autres possibilités de la bête), de 6 Go de Ram et de 2 disque de 1 To classiques. Une video NVida de bon niveau, mais pas un truc de gamer fou. Pour une somme modique, j’ai une config de tueur (silencieuse en plus).

Le choix de la machine étant réglé, posons nous la question de l’OS.

Je ne vais pas tourner autour du pot, j’aime Windows 7, c’est donc un 7 x64 que je vais utiliser.

Installons

La machine étant livrée avec un 7 home premium, l’installation se résume à rien… Mais comme je voulais bénéficier de choses comme le XP mode et la virtualisation j’ai upgradé l’OS d’origine vers un 7 x64 Ultimate. Petit avantage d’être MVP cette opération ne me coute rien puisque je suis abonné à MSDN et que je dispose des licences officielles pour faire ce genre de test.

Donc j’ai upgradé le 7 x64 home premium, en 7 x64 Ultimate. Quelques téléchargements de mises à jour plus tard, tout était ok, sans un hoquet !

Les softs

C’est là qu’une légère panique vous serre la gorge : tout ça d’investi, machine et temps, pour en arriver là, à l’installation des softs, juste pour voir s’ils tournent… et si ça tournait à la cata ?

A tout seigneur… j’ai commencé par Sql Server 2008 et VS 2008. Impeccable. Ce qui est x64 est bien reconnu, le reste tourne comme un charme.

J’ai continué sur cette lancée avec le SP1 de VS2008, les tools Siverlight 3, le toolkit etc. On passe à la suite Expression : Blend 3, Design 3, Encoder 3. No problem.

Il est intéressant de noter que la racine de l’OS possède deux répertoires “programmes”, un pour les softs x64 et un autre “programme file (x86)” dans lequel il sait visiblement ranger tout ce qui n’est pas pur x64.

Première constatation : il n’y a pas de problème de compatibilité, il ne faut pas tout racheter, Windows 7 x64 sait faire tourner (et installer) aussi bien des soft x86 que x64.

Je passe à Zam3D et Swift3D de Electric Rain. Un éditeur déjà moins gros qui n’a pas forcément tout bien ficelé pour un éventuel fonctionnement en x64. Les deux softs s’installent sans souci. Ils tournent à merveille et Swift3D reconnait bien les 8 coeurs ! Une image 3D est prise en test : sur mon double coeur E6700 il faut 4 minutes 10 pour générer l’image (avec deux threads concurrents). Sur le Dell XPS et son i870, le même soft (32 bits) tourne de la même façon mais boucle la génération de la même image 3D en 1 minute 38 en exploitant bien les 8 coeurs apparents. Test concluant. Imaginez le gain pour une séquence vidéo de 300 images…

Seconde constatation : les softs 32 bits même d’un niveau technique honorable sans être des monstres bénéficient immédiatement de la nouvelle architecture (plus de RAM disponible, meilleurs processeurs, architecture hôte x64 transparente).

Je continue avec le pack office ultimate, je n’ai pas la version x64 (s’il y en a une, je n’ai pas vérifié) c’est donc la même que j’utilise sous XP ou W7 x86 que je vais installer. Ici encore pas de souci. Tous les logiciels fonctionnent.

J’ajoute des choses un peu plus vicieuse : webcam, logiciels de traitement video, de sons, etc… Bref, ça ne bronche pas.

Conclusion

Je n’irai pas jusqu’à dire que tout ce que vous avez entendu sur x64 sont d’énormes âneries, tout simplement parce que certains points peuvent avoir été vrais “dans le temps” ou même que dans certains cas très particuliers il peut subsister des zones d’incompatibilité (surtout avec du hardware un peu dépassé et dont le fournisseur ne propose pas de driver récent).

Mais l’exotisme n’est pas mon but. J’ai des machines pour produire. Des logiciels. De la musique. Des vidéos. Des images. Tout cela réclame des produits à jour et à la pointe. Ce que je voulais savoir par moi même et par le biais d’un test indiscutable était simple : fallait-il ou non avoir peur de x64 ?

Ma réponse est claire et nette : après l’expérience que j’ai menée et vous ai racontée ici en version courte, c’est même la question de départ que je trouve stupide maintenant…

Windows 7 x64 est un OS qui brise les limites qui nous chagrinent, comme la mémoire maxi vue par l’OS sous x86. La virtualisation est parfaitement intégrée à 7 x64 comme elle l’est à la version 32 bits. Le XP Mode permet donc de résoudre d’éventuels problèmes de compatibilité de façon simple et élégante.

Au bout du compte on a enfin un OS qui correspond aux capacités des processeurs qu’on payent cher généralement et aux barrettes de RAM qu’on installe parfois en pure perte (j’ai vu plein de PC avec 4 Go intallés et tournant sous XP ou W7 x86, il y a une barrette qui aurait pu servir à se payer une toile ou un resto…).

La réponse à la question de départ est donc : NON.

Le conseil que j’y adjoins est : passez à W7 x64 vous verrez ce que c’est que d’avoir un vrai OS à la mesure des processeurs modernes.

Maintenant ne venez pas rouspéter si vous faites la manip sur une vieille bécane dont les périphériques internes sont trop vieux pour avoir les bons drivers. Passez à x64 ne s’entend que sur des machines de génération récente équipées correctement (au moins niveau processeur, RAM et carte graphique).

Mais lors du renouvellement de votre machine, pensez-y. Oubliez le 32 bits dépassé et limité, et osez un OS à la mesure des défis à relever !

Article: M-V-VM avec Silverlight

Model-View-ViewModel, je vous en parlais il y a très peu de temps (MVVM, Unity, Prism, Inversion of Control…) et je vous avais promis un exemple pour rendre tout cela plus concret. C’est fait ! Et même mieux, un article de 70 pages l’accompagne !

Vous saurez tout (ou presque) sur cette design pattern absolument incontournable pour développer sérieusement sous Silverlight.

Après des explications sur la pattern elle-même l’article vous présente une application exemple entièrement réalisée avec ce qu’il y a “out of the box”. J’ai fait le choix de n’utiliser aucun Framework existant (Prism, Cinch, Silverlight.FX, MVVM Light…) pour vous montrer que M-V-VM peut entièrement être mis en œuvre “à la main” sans aide extérieure.

Cela ne veut pas dire que tous ces Frameworks (dont l’article parle aussi) ne sont pas intéressants, au contraire ! Mais comment choisir une librairie facilitant M-V-VM si vous ne savez pas comment mettre en œuvre cette pattern et si vous ne connaissez pas les difficultés qu’elle soulève autant que ses avantages ?

Cet article vous permettra de faire le point sur M-V-VM et de pouvoir ensuite choisir le Framework qu’il vous plaira en toute connaissance de cause ou bien cela vous aidera à développer votre propre solution. Après tout, l’application exemple fonctionne parfaitement sans aucun de ces Frameworks….

Le code source du projet est fourni. En raison de l’énorme avantage de la gestion des commandes introduites dans Silverlight 4 (toujours en beta) l’article utilise cette version qui sera bientôt disponible. Tout est expliqué pour savoir comment faire fonctionner le code exemple à l’aide de VS 2010 ou Blend 4 (en beta aussi).

L’article peut être lu sans faire tourner le code si vous ne souhaitez pas installer la beta de SL4, et la première partie théorique s’applique aussi bien à M-V-VM sous SL3.

Bonne lecture !

(PS: n'oubliez pas que depuiis août 2012 les articles sont regroupés sur la page publications).

Téléchargement ici : M-V-VM avec Silverlight, de la théorie à la pratique.

 

 

 

 

Convertir une appli Flash en sources Silverlight !

Je viens de découvrir sur ce site qui est une mine d’or de petits freewares de type utilitaires un truc assez sympa qui pourra certainement vous intéresser : un convertisseur d’applis Flash en code source Silverlight prêt à être compilé !

SilverX est capable de charger un SWF et de créer une appli SL en récupérant les dessins vectoriels, les remplissages, les gradients, les bitmaps, les textes, les fonts, le clipping, les sons, etc, et même certaines animations (show/hide, matrices de transformation, changement de couleur…).

Il faut avoir Blend 3 ou Visual Studio équipé pour Silverlight 3 pour compiler les applis générées.

Un moyen simple, si ce n’est une application complexe, au moins de récupérer un bandeau de pub SWF et de le transformer en Silverlight afin d’avoir un site tout en SL sans petits bouts de Flash qui traînent de ci de là ! :-)

Voici la première bonne résolution de 2010 : Mettre du Silverlight PARTOUT !

De mon côté je vous assure que c’est une résolution que je vais tenir (ça sera peut-être la seule parmi les sempiternelles promesses qu’on se fait à soi même et aux autres ! :-) )

Et pour 2010 : Meilleurs vœux et …………… Stay Tuned (plus que jamais) !

Happy New year et MVP 2010 !

Je vous souhaite à tous une excellente année 2010, une année qui commence fort puisque je viens d'apprendre ma nomination MVP 2010 "Client App Dev" pour mes contributions principalement axées sur le développement des applications clientes sous WPF et Silverlight.

Cette récompense fait suite à ma nomination l'année dernière au titre de MVP C#. Cette complémentarité de compétence Framework-Langage / IHM traduit la réalité de mon engagement sur .NET depuis plusieurs années que vous pouvez constater ici même sur Dot.Blog par le nombre des articles et billets que je publie (108 pour être exact pour l'année passée !) sans compter tous les exemples de code et les applications exemples Silverlight vivantes intégrées aux billets.

Je suis heureux, et honoré, de partager cette nouvelle distinction MVP avec tous les lecteurs de Dot.Blog,

Que cette année vous apporte à vous et vos proches tout ce que vous en attendez !

Happy New Year 2010 !

 

Ma lettre de nomination MVP : ERL MVP 2010 OD.pdf (172,84 kb)