Dot.Blog

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

Iconia Tab A500

[new:30/05/2011]Les tablettes tout le monde en parle... Mais comment ne pas vendre son âme à l’affreuse pomme et son monde fermé à triple tour tout en bénéficiant des dernières nouveautés ? S’il n’y a pas de réponse absolue, celle que j’ai trouvée s’appelle Iconia Tab A500 de Acer. Elle est belle. Je l’aime. Je suis jaloux de nature mais je veux bien partager un peu, via ce billet...Plus...

Parallel FX, P-Linq et maintenant les Reactive Extensions…

[new:10/8/2010]Les Parallel Extensions, connues jusqu’à lors sous le nom de Parallel Framework Extensions (ou PFX) forment une librairie permettant de faciliter la construction d’algorithmes parallèles (multi-thread) tirant partie des machines multi-cœur. Je vous en avais déjà parlé, ainsi que de P-Linq les extensions parallèles pour LINQ. Deux choses importantes à savoir aujourd’hui : les Parallel Extensions font partie de .NET 4 (VS 2010, Silverlight…) et une nouvelle librairie arrive, les Reactive Extensions !Plus...

Blocage IE avec écran multitouch sous Silverlight

Voici un cas intéressant dont je viens de trouver la solution et que je m’empresse de vous communiquer…

Les écrans multitouch ne sont pas encore légion, sauf chez quelques geeks, dont je suis. Ainsi, pour tester dans un mode proche de la réalité les applications Phone 7 en cours de développement (et faute de téléphones de ce type disponible sur le marché pour l’instant) j’ai acquis un écran 22 pouces IIYama multitouch T2250MTS. C’est très sympa, pas très cher et ça marche vraiment bien de base avec Windows 7 sans installer aucun driver (c’est à dire que Windows 7 possède déjà le fameux driver et que brancher l’USB de l’écran sur le PC suffit sans aucun pilote extérieur ni CD d’installation, c’est beau le progrès !).

L’écran est même fourni avec un stylet qui se cache dans le bas de son boitier, ce qui évite les traces de gros doigts graisseux sur l’écran ! :-)

Bref, tout cela fonctionne à merveille et du premier coup. Quand on arrive sur des zones de saisie et qu’on touche l’écran il y a même un petit symbole de clavier qui apparait pour permettre d’ouvrir un grand clavier virtuel, voire le module de reconnaissance d’écriture. On voit que Windows 7 a été conçu pour investir les Tablet PC… Vraiment cool. Seul bémol, sur un écran vertical manipuler les applis avec les doigts à bout de bras c’est vite crevant… Mais ce n’est pas pour cela que j’ai acheté l’écran, c’est pour utiliser l’émulateur de Phone 7 en mode multitouch (car tester une appli pour téléphone touch avec la souris c’est le meilleur moyen de foirer le design, les doigts sont plus gros et moins précis, il faut y penser à la conception !).

Vous allez me dire c’est quoi le rapport avec Silverlight et Internet Explorer ?

C’est tout simple.

Plantage avec Silverlight ?

Silverlight gère le multitouch. Au moment où internet exploreur se lance et affiche l’application quand je suis en  debug (sous VS ou Blend) je ne sais pas trop quel niveau de sécurité IE reconnaît (en tout cas pas Intranet local car j’ai abaisser toutes les sécurités à ce niveau et cela n’a rien changé) mais à l’activation du plugin Silverlight IE 8 s’arrête, comme planté.

Impossible de s’en sortir. Il faut aller le shooter depuis les processus de Windows ou bien stopper le debug sous VS ce qui a le même effet.

Sécurité cachée !

Et là, l’oeil averti du chasseur de bug voit passer à toute vitesse comme une petite fenêtre cachée sous IE qui, hélas puisqu’on vient de flinguer IE, disparait sans qu’on puisse la lire…

Il y a donc une question qui est posée, en modal, ce qui bloque IE 8. Il “suffit” donc d’accéder à ce dialogue.

Je n’ai pas réussi. Et si on minimise IE pour que ça ne soit plus qu’un petit carré minuscule, on ne voit pas derrière la fenêtre du dialogue… Elle ne vient donc que quand IE est shooté. Bug…

Problème numéro 1: Identifier cette fichue fenêtre.

Ca passe tellement vite que c’est illisible bien entendu.

Ruse : Utiliser l’enregistreur d’écran livré avec Expression Encoder 3 et enregistrer la vidéo du bug pour faire ensuite un arrêt sur image et lire le texte du dialogue…

Ca ne marche pas au premier essai car ça va vraiment vite. Il faut ruser encore plus en modifiant les réglages d’enregistrement de la vidéo, notamment en passant à 100 images secondes et un débit d’au moins 20.000/s.

Là, on finit par choper sur la vidéo un “fantôme” du dialogue plus ou moins opaque selon la chance qu’on a. Mais on l’a eu ! Et que lit-on ?

“Un site Web veut ouvrir un contenu Web en utilisant ce programme sur votre ordinateur” et en dessous : Nom: Composant de saisie tactile ou avec sty…, Editeur: Microsoft Windows.

Le nom du composant n’est pas complet mais on a compris de ce quoi il s’agit. Silverlight, le plugin, au moment du chargement (car la première instruction de l’appli n’est pas encore atteinte, ce que prouve le debugger) doit forcément inspecter la machine pour savoir s’il y a de la vidéo, du son, et tous les périphériques ou facilités utilisées par le plugin. Parmi celles-ci se trouve vraisemblablement le multitouch et la gestion du stylet.

C’est à ce moment que le fameux dialogue est activé pour me demander si je donne le droit ou non à ce module de s’activer. Normalement on dispose sur ce genre de dialogue d’une case à cocher permettant d’indiquer si on souhaite ne plus voir la question.

Hélas, comme IE 8 semble avoir un léger bug, ce fichu dialogue est totalement incessible, on le voit à peine quand on shoote l’application. Et encore faut-il la ruse de la vidéo pour lire de quoi il s’agit.

Comment autoriser l’application bloquante ?

Second problème alors : comment autoriser le programme en question (la gestion du stylet) alors même que le dialogue et sa case à cocher ne sont pas accessibles ?

Réponse : en plongeant dans les arcanes de la gestion de sécurité de IE 8…

Et là, ce n’est pas de la tarte… J’aime bien IE, mais ce n’est pas d’une grande limpidité dès qu’on aborde ce genre de question.

Je vous fait grâce des multiples recherches sur le Web pour arriver à trouver une réponse utilisable. Que je vais maintenant vous exposer car ça peut servir ! (et pas seulement avec un écran multitouch, je suppose que le bug du dialogue doit se voir dans d’autres cas).

Pour faire simple, IE range dans la registry la liste des programmes ayant des droits faibles ainsi que la règle d’élévation de droit qui doit être appliquée. Comment certaines applications arrivent dans cette première liste, c’est un mystère que je n’ai pas essayé d’éclaircir, ce genre de plomberie en informatique me donnant rapidement la nausée. Donc, il existe dans la registry une première liste, elle se trouve là :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\

C’est une liste d’ID, donc de GUID. Il faut la balayer pour lire les clés qui correspondent afin de localiser le programme dont on veut changer les droits. (La registry doit être ouverte en mode administrateur cela va sans dire).

Pour ce qui est du stylet, j’ai fini par trouver le coupable, c’est le programme “wisptis.exe” qui se trouve dans %SystemRoot%\System32. Les clés d’un ID sont AppName, le nom de l’appli, ici celui de l’exe (ce qui ne simplifie pas la recherche vu à quel point le nom n’est pas parlant), AppPath, le chemin que je viens d’indiquer et enfin Policy, un DWord codant l’autorisation.

Vous trouverez des explications ici : http://www.hotline-pc.org/mode-protege.html#

Une fois l’application localisée dans cette première liste on a la moitié de la solution. Changer la Policy à ce niveau ne semble pas avoir d’effet (immédiat en tout cas).

Il faut savoir qu’en réalité, pour l’utilisateur courant, IE stocke une seconde liste, similaire, dans une autre clé de la registry :

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Low Rights\ElevationPolicy

L’astuce consiste donc à créer une nouvelle clé dans cette liste en utilisant le GUID repéré dans la première liste puis de recréer à la main les clés, dont Policy à laquelle on donne une valeur dépendant de ce qu’on cherche à obtenir. Pour la gestion du stylet j’ai mis 3, qui semble donner le maximum de droits.

Je reviens sous VS, je lance mon appli SL, et là, Ô magie… mon appli s’affiche et IE ne pose plus l’infamante question cachée…

Et ça marche !

Problème résolu. Comme on ne peut pas dire que la solution est évidente, je pense que la partagée ici sera un jour utile à quelqu’un.

Visiteur qui tombera au hasard d’une recherche Bing ou Google sur cette page et qui gagnera quelques heures de ton précieux temps, n’hésite pas à me laisser un message, ça fait toujours plaisir ! Quant aux fidèles lecteurs de Dot.Blog, le jour “J” j’espère que vous vous rappellerez que ce billet existe !

Et pour d’autres infos le mieux c’est : Stay Tuned !

Une dernière info : Le multitouch de l'écran utilise une barrière infrarouge visiblement, c'est à dire que les doigts ou le stylet coupe une grille infrarouge invisible. Ca marche vraiment bien. Sauf qu'en cette époque estivale, les mouches arrivent ! Et dans ma campagne elles ne sont pas en retard ! Hélas quand une mouche se pose sur l'écran : elle clique ! Ce qui fiche un beau bazard parfois ! Prévoyez ainsi avec l'achat d'un écran de ce type un désinsecteur électrique qui grillera tous ces nuisibles qui prennent votre écran pour un tarmark ! Je sais ça fait un peu rire comme truc... mais le geek n'a pas que des aventures palpitantes, il doit aussi combattre, outre les bugs, les mouches et autres diptères !

Altair est orphelin

Une triste nouvelle, Edward Roberts, créateur de l’Altair, considéré (à tort *) comme le 1er ordinateur personnel commercialisé (avant l’Apple 1) est décédé. Il avait 68 ans, pas si vieux.

Un certain Bill Gates et son compère Paul Allen avaient pris un accord avec Roberts pour écrire l’Altair Basic et le distribuer avec la machine (montée ou en kit) au sein de la société qu’ils venaient de créer : Microsoft.

PE_Jan_1975_Cover_Mini

La première de couverture de “Popular Electronics”, une revue un peu comme le “Haut Parleur” en France à la même époque, en janvier 1975.

(*) Pour la petite histoire, c’est ce que les américains disent et qui est repris sans vergogne même par un grand quotidien français comme le Monde. C’est oublier que le VRAI 1er micro ordinateur au monde est français, c’est le Micral, développé à la R2E à la demande de l’INRA entre 72 et 73. Son concepteur, André Truong livra le 1er prototype le 15 janvier 1973. Commercialisé ensuite sous le nom de Micral N au prix de 8500 francs (le salaire mensuel d’un cadre à l’époque) il connu un certain succès notamment avec les versions suivantes que la R2E créa, sans changer le nom de Micral. Racheté par la CII Honeywell-Bull, c’est sous le nom de Questar M que les Micral seront commercialisés jusque dans les années 80 par cette dernière.

micral On voit ci-dessus le premier Micral de 73, et on s’aperçoit que l’Altair n’était qu’une copie (première photo).

Ayons ainsi au passage une pensée émue pour André Truong, décédé le 29 mars 2005 à Paris. Avec Roberts ce sont les pères de la micro informatique qui disparaissent définitivement. Une ère, un siècle, un millénaire nous éloigne de cette époque glorieuse des pionniers qui désormais appartient non plus à l’actualité mais aux livres d’histoire, comme la conquête de l’Ouest ou la prise de la Bastille. Ca fiche un coup de vieux, je vous le dit les gars… Mon premier job en informatique ça a été sur le Questar M dans les années 80, à la CII HB. Alors en ce jour pluvieux et froid, la mort de Roberts fait résonner en échos de vieux souvenirs, un brin de nostalgie.

Mais n’ayez crainte, ce n’est pas un coup de blues, et je vous prépare pour ce week-end un article géant de 71 pages sur le Binding Xaml qui va vous secouer les neurones !

"Alors rangez vos kleenex bande de mauviettes* et Stay Tuned ! (Sir! Yes Sir !)"

(à prononcer comme un militaire gradé s’adressant à ses troupes dans un film de guerre américain :-) )

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 !