Dot.Blog

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

Fin de support pour Windows 7

[new:30/01/2015]C’en est terminé du support ‘'”actif” de Windows 7 plus aucune fonctionnalités ne sera désormais ajoutée, modifiée ou améliorée. Mais ce n’est pas encore la mort de cet OS…Plus...

l’IoC avec MvvmCross, de WinRT à Android en passant par Windows Phone

[new:30/09/2012]L’Inversion de Contrôle est un mécanisme fort utile pour assurer la modularité d’une application. MvvmCross, comme d’autres framework (Prism, Jounce, Mvvm Light, Caliburn...) propose une gestion de l’IoC. Je vous propose dans cet article PDF de faire un point sur l’IoC tel qu’il est mis en œuvre dans MvvmCross.

Il s’agit d’un article d’une douzaine de page, le format PDF lui convient donc mieux qu’un long billet HTML sur Dot.Blog. Téléchargez l’article ici :

Bonne lecture et ...

Stay Tuned !

Windows Phone 7 CTP dispo pour VS 2010 final et quelques infos pour ce 1er Mai

Phone 7 et son SDK posait quelques problèmes ces derniers temps à tous ceux qui aiment être à jour... le SDK ne fonctionnait qu'avec la bêta 2 de VS2010 alors même que la version finale est releasée depuis le 12 avril.. On garde VS2008 pour la preview de Ria Services, on garde VS2010 beta pour le phone et SL 4, la finale forcément pour les nouveautés... ça devenait le bronx cette histoire ! Mais ça se termine :-)

VS2010 Express et CTP pour VS2010 final

La Community Technology Preview (CTP) du SDK de Windows Phone 7 est désormais releasé en version compatible avec VS 2010 final. Pour plus d'infos sur cette release : The Windows Phone Developer Blog.  

Il est aussi possible d'obtenir un VS 2010 Express qui sera parfaitement compatible avec Phone 7. On sait aussi qu'un Blend 4 spécial Phone sera releasé en mode Express bientôt, donc du dev totalement gratuit pour écrire des applications qui rapportent de l'argent... Visual Studio 2010 Express for Windows Phone 7.

I SON OU Lé Fons ? 

Ils sont où ces merveilleux téléphones dirait on en langage non SMS ? On en sait aussi un peu plus sur la disponibilité des machines. Selon les informations que j'ai pu récolter les premiers téléphones supportant Phone 7 seront disponibles à l'automne. L'automne c'est grand, ça va de la rentrée de septembre à Noël... De quoi vous faire la main sur le SDK et de concevoir des applis au top du top ! Et de prévénir déjà le père Noël de ce qu'il y aura sur votre liste...

Distribuer les applis

Concernant la distribution, vous ne pourrez pas installer vos applis sur les téléphones de vos copains ou de votre entreprise, la logique entreprise n'est pas encore privilégiée (Windows Mobile 6.5 reste en vente pour cette raison, mais c'est moins beau !), Phone 7 cible avant tout le particulier pour concurrencer l'Iphone, et fonctionne le même modèle économique : pour distribuer une application il faudra qu'elle soit agréée par MarketPlace, le service officiel de distribution, comme l'App Store de la pomme. Bien entendu vous pourrez déployer vos applis sur votre phone depuis VS 2010, mais ce n'est pas une méthode "industrialisable". Donc pas de diffusion d'un soft à un petit groupe d'amis. Toute diffusion passera par MarketPlace.

Quand les pirates inspirent le marketing des grandes marques...

Pour se démarquer MS prévoit de reprendre un concept rendu célèbre par l'équipe de hacker "H2O" et leur non moins célèbre slogan "Try before buy". Même si MS ne fait pas référence à cette origine (on s'en doute un peu !), les informaticiens rompus aux arcanes des résaux P2P savent donc de quoi je parle...
Le principe sera que le client potentiel pourra télécharger votre application sans la payer, à l'essai. S'il est content il pourra l'acheter sur MarketPlace. Côté développement il existera un moyen de savoir si une appli Silverlight ou XNA Phone 7 tourne en mode H2O, heeuu pardon, en "Try before buy", ce qui permettra par exemple de limiter le temps d'utilisation, de désactiver des fonctionnalités etc.. En fait c'est un mode démo avec période d'essai qui sera systématisé et c'est plutôt une bonne idée vu que cela sera géré de façon centralisée et homogène.

Encore un peu de flou 

Pour l'instant pas d'infos sur combien coûtera la certification d'une appli, ni combien MarketPlace prendra de pourcentage sur les ventes de vos applis. Tout cela va se préciser avec le temps, reste le SDK pour commencer à développer... Il faudra patienter un peu pour connaître les conditions de l'offre MarketPlace. Peu d'entreprises vont se lancer immédiatement dans du développement sans pouvoir bâtir un prévisionnel des ventes si MS ne dit pas combien ça va coûter et si, donc, cela sera rentable. Ce n'est pas plus mal...

Une niche de temps à saisir

Pendant que les gros poissons se tatent, il y a donc une petite niche temporelle intéressante pour vous, les développeurs indépendants ou ceux qui sont salariés. Comme je viens de le dire peu d'entreprises vont miser sur un marché inconnu dont les règles ne sont pas même fixées en termes de rentabilité, de "droits de passage", etc. En revanche vous qui lisez ces lignes, avec un VS Express et un SDK vous pouvez sur votre temps libre développer des applis. Au minimum vous vous ferez la main pour demain trouver une employeur plus généreux que l'actuel (grâce à l'expérience Phone 7 que vous aurez acquise), au mieux vous vendrez vos applis sur MarketPlace et prendrez de court ceux qui attendent la clarification de la règle du jeu financier pour se lancer !

Un peu de droit pour les salariés... 

Je suis né un 1er mai. Oui c'est mon anniversaire aujourd'hui (merci :-) ), je n'y peux rien si je suis né le jour de l'année qui cristalise les revendications syndicales... Ca m'a laissé des traces, j'ai une grande G* dès qu'il s'agit de défendre l'équité et surtout les droits des moins puissants dans un monde où les riches bourgeois ont instrumentalisé le peuple en 1789 pour prendre la place des nobles. La révolution française n'était pas cette belle révolte populaire quasi romantique d'un peuple qui reprend le contrôle de son pays, mais bien une basse manoeuvre des grands argentiers qui nous dirigent depuis cette époque pour prendre la place du clergé et de la noblesse, en déconfiture au 18eme siècle, mais noble et ayant tous les droits... Vous voyez, dès que j'aborde un sujet de ce genre je ne peux pas m'empêcher de militer :-)  "Born on May 1st". Ca sonne comme un titre de film US, je n'y peux rien. Mais je vais vous en faire profiter !

Si vous êtes salariés faites attention ! Si vous avez eu l'intelligence (comme je l'ai toujours fait à l'époque ou j'étais dans cette situation) d'ajouter une clause à votre contrat de travail vous laissant la propriété intellectuelle de ce que vous développez chez vous, tout est ok... Sinon méfiance ! Si vous créez l'application du siècle chez vous avec un VS Express à vous et que vous devenez riche, votre patron aura tous les droits de clamer la propriété intellectuelle du logiciel ! C'est gonflé, honteux, malhonnête, mais je vous renvoie au paragraphe précédent pour mieux comprendre par qui les lois de notre République sont faites et quels intérêts elles servent (et c'est un patron qui vous le dit).

Si vous n'êtes pas dans la possibilité de modifier votre contrat (un patron honnête - il y en a quelques uns) acceptera sans problème mais d'autres s'y refuseront ou trouveront même là le prétexte qu'ils attendaient pour vous virer sans indemnité (j'ai vu le cas plus d'une fois), alors soyez plus malins qu'eux : pour une poignée de dollars créez une SARL en mettant votre soeur gérante minoritaire non salariée, et développez sous le nom de cette SARL sans faire apparaître votre nom. N'utilisez pas les société unipersonnelles ou leurs équivalents alléchants qui ne vous offre bien entendu pas la même protection légale qu'une vraie société de type SARL. Les patrons ont des méthodes parfois de voyous pour échapper à leurs obligations, pour délocaliser légalement, virer à tour de bras alors qu'ils font des bénéfices, à vous d'être malins et d'utiliser les mêmes moyens légaux pour échapper à leur emprise, c'est de bonne guerre. Signer un contrat de travail ce n'est pas Faust, on ne signe pas avec son sang et on ne vend pas son âme au diable. Et pourtant si vous lisez bien le vôtre, vous verrez que si pendant vos vacances il vous vient une idée en tondant la pelouse ou en honnorant la voisine, cette idée de logiciel appartient déjà à votre patron... C'est de mon point vue totalement immoral, mais c'est comme ça. A vous d'être plus futés donc ! La loi a cela de très beau que nous vivons gouvernés par un dédale de plus de 10.000 lois et 120.000 décrets qui se télescopent (aucun logicien ne ferait une telle bêtise) et que les malins peuvent trouver la faille pour agir en toute légalité.

Soyez malins, soyez novateurs, télécharger tout le nécessaire pour Phone 7 maintenant et créer les applis qui s'arracheront à Noël et devenez le prochain Steve Job Ballmer !

Voici un beau billet qui m'a permis de mixer technologie, conseils éclairés et syndicalisme militant, il fallait au moins ça pour un 1er mai, glorieux jour s'il en est ! (je n'ai pas attaqué le champagne mais là j'y vais, alors à plus !) 

Et Stay Tuned, Camarades développeurs ! :-)

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 !

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 !

Everything, everywhere ! Accéder à tous vos fichiers de partout

Je ne sais pas pour vous, mais en ce qui me concerne j’ai l’impression que plus Microsoft fait des efforts pour améliorer la recherche des fichiers dans ses OS plus c’est compliqué et moins ça trouve…

Situation paradoxale s’il en est surtout que de quelques méga nos disques sont passés à des centaines de giga, donc à des centaines de milliers de fichiers. Sous XP c’était lent et pas toujours évident. Sous Vista ça ne trouvait déjà plus rien, même sur des supports indexés. Avec Seven on en reste là. Et pourtant Seven est un OS vraiment bien fait que j’utilise sur toutes mes machines aujourd’hui.

Mais vous me connaissez, j’aime bien rouspéter de temps en temps. Et malgré mes amitiés microsoftiennes c’est librement que parfois je m’exprime sur les produits de cet éditeur. J’en dit suffisamment de bien tous les jours pour pouvoir me le permettre ! :-) Et puis un ami qui ne dit pas la vérité, ce n’est pas un ami.

Syndrome Apple

Les améliorations ont été finalement trop “Applesques” c’est à dire “c’est nous qui nous occupons de tout, circulez y’a rien à voir ni à comprendre”. j’ai toujours détesté les Mac et leur OS pour ça. Il n’y a pas que des grand mères qui achètent des portables pour envoyer des mails à leurs petits enfants, il n’y a pas que des “utilisateurs de base” qui chattent sur MSN. Non, il y a aussi des professionnels, voire même des geeks, qui ont aussi besoin de chercher où se trouve un fichier “.wab” ce que Seven refuse de trouver (certainement parce qu’il se trouve dans un répertoire caché ou système).

Personnellement, étant de la génération qui a vu naître les premiers micros, et sachant comment ils sont fait je garde ce vieux réflexe dominateur : c’est moi l’homme, le PC n’est qu’une machine et c’est moi qui commande ! Pas de plan du genre l’horrible UAC de vista et ses incessantes demandes de confirmation. Si je fais un truc, je veux que le PC l’exécute sans me fatiguer avec des questions à la noix. J’ai besoin de me concentrer sur ce que je fais et pas sur le décryptage des messages de sécurité (qu’on finit par supprimer car trop de sécurité tue la sécurité. Ce que heureusement MS a compris dans Seven qui est bien plus discret, et donc utilisable).

Hélas, la recherche des fichiers si elle s’est améliorée pour le fameux utilisateur de base (chercher un document Word contenant le mot “anniversaire” ça c’est rapide) est devenue un enfer pour l’informaticien qui doit souvent localiser des fichiers qui se trouvent dans les endroits “interdits d’accès pour raison de sécurité”. Le vieil anar que je suis a tous les poils qui se hérissent rien qu’en écrivant cette phrase ! “interdit” “sécurité”, “raison d’état” pourquoi pas aussi !

Bref il fallait que je trouve un système de recherche efficace qui puisse me redonner le pouvoir que j’exige sur mes machines, surtout que ma machine principale, outre ses deux disques de 500 Go, est connecté à divers disques externes de 1 To. Autant dire que si je compte sur Windows pour m’aider à trouver quelque chose là dedans, je n’ai plus qu’à me tirer une balle…

Everything

A force de chercher on trouve ! (sauf le système de recherche de Windows).

Et j’ai fini par trouver un utilitaire puissant, simple, léger et gratuit qui fait exactement ce que je veux. Il s’appelle “Everything Search Engine”.

Son principe est simple : il utilise les structures NTFS qu’il balaye pour constituer sa base de recherche. C’est mille fois plus rapide que le balayage des répertoires via Windows et les temps de recherche sont de l’ordre de quelques millisecondes. La création de la base de données (quelques méga qui se met à jour toute seule ensuite) a pris une minute ou deux avec tous mes disques branchés. Ensuite tout est quasi instantané.

Bien entendu Everything ne cherche pas le contenu des fichiers. Windows autorise des noms longs depuis quelques lustres, tant pis pour ceux qui donnent encore des noms courts et ne voulant rien dire à leurs fichiers !

Everything sait utiliser les expressions régulières ou bien une notation très simple permettant de faire des AND et des exclusions (mode de recherche simplifié). La liste des fichiers est triée, ce qu’on peut changer à volonté, et les fichiers sont cliquables pour des actions de base (exécuter, supprimer, etc).

etmain

Mais il y a mieux ! Everything peut aussi fournir ce service “Everywhere” !

Everywhere

Ce petit utilitaire est en effet assez puissant pour incorporer un serveur Web (dont le port est paramétrable, ainsi que la sécurité d’accès par mot de passe) !

Il devient ainsi possible depuis n’importe quelle machine sur le réseau de faire une recherche sur les fichiers de la machine équipée de Everything depuis un browser internet :

ETWeb

L’image ci-dessus montre l’écran d’une machine accédant au serveur Everything de la machine Saturne (sur le port 100, réglage personnel, le port 80 étant occupé par IIS). Il suffit de saisir la phrase de recherche et de cliquer sur le bouton Search pour obtenir un listing détaillé depuis lequel il est possible de télécharger le fichier par exemple. Très pratique.

Conclusion

Pouvoir chercher en quelques millisecondes sur des Tera de stockage n’est une pas une fantaisie de geek bien entendu, c’est une fonction de base que tout OS devrait être capable de fournir. La tendance Apple où l’utilisateur ne doit rien savoir et rien pouvoir faire, ou bien l’excès de vouloir trop bien faire, ou tout simplement une mauvaise analyse du besoin, un peu de tout ça peut-être… En tout cas la recherche de fichiers sous XP, Vista et aujourd’hui Seven est une vraie plaie. Il a fallu attendre Internet Explorer 8 pour que le mode de recherche dans une page soit enfin pratique (du même genre que celui de FireFox), j’espère qu’il ne faudra pas attendre encore trois ou quatre versions de Windows avant qu’un mode de recherche simple et rapide soit enfin intégré à l’OS ! Surtout si Seven fait une carrière comme XP (ce que je lui souhaite), dans 4 versions ce seront mes petits enfants que je formerai au nouvel outil !

Comme entre temps il faut bien se débrouiller, je vous conseille de télécharger et d’utiliser Everything !

Bonne recherche… Et Stay Tuned !

Fichiers PFX de signature de projet Visual Studio / objet déjà existant après migration Windows 7

Vous l'avez compris, l'entrée de blog d'aujourd'hui ne parle pas de Silverlight ni d'autres sujets technologiques passionnants mais d'un problème très ennuyeux intervenant après la migration sous Windows 7. Cela concerne les projets signés numériquement sous Visual Studio, ceux possédant un fichier PFX donc.

Une fois cette migration effectuée, tout semble tellement bien marcher que vous lancer fièrement Visual Studio sans vous douter du complot sournois qui se trame contre vous et qui se révèlera au moment où vous tenterez d'ouvrir une solution contenant des projets signés... Vous allez me dire, l'attente est courte. En effet, il est rare d'ouvrir VS juste pour le plaisir de le regarder, assez rapidement, même pour les plus lents d'entre nous, on finit par faire Fichier / Ouvrir (les plus créatifs préférant Fichier / Nouveau, mais ce n'est pas le sujet du jour).

A ce moment là, tous les projets signés déclenchent une importation du fichier PFX (même si vous êtes toujours sur la même machine et que rien n'a changé, n'oubliez pas que cette machine vient de migrer de Vista à 7 !). Comme vous êtes un développeur honnête, vous connaissez bien entendu les mots de passe des fichiers PFX de vos projets. Donc pas de problème vous tapez le mot de passe. Bang ! Erreur "l'objet existe déjà" (Object already exists). Et pour peu que votre solution contienne des dizaines de projets, ce qui est mon cas assez fréquemment, vous allez boucler sur cette séquence pour tous les fichiers PFX. A la fin vous pourrez travailler sur votre solution, mais à toute tentative de compilation vous vous reprendrez la même séquence : importation de la clé, demande de mot de passe, échec pour cause d'objet existant, etc pour chaque projet signé.

C'est un peu gênant... Mais il existe une raison et une solution !

La raison, en tout cas pour ce que j'en ai vu, c'est que la migration vers W7 modifie les droits du répertoire dans lequel sont cachés les clés importées. Pourquoi ? Je n'en sais rien et pour l'instant je n'ai rien trouvé sur le Web à ce sujet.

En tout cas, le problème étant identifié, il existe une solution : changer les droits et s'approprier le dit répertoire. Ca peut être plus compliqué que prévu, en tout cas j'ai galéré un peu (j'avoue franchement ne pas avoir un niveau d'expert en matière de gestion de sécurité sous Windows). En effet il faut déjà trouver le répertoire en question. (roulements de tambours) c'est... c'est... C:\Users\All Users\Microsoft\Crypto\RSA

Maintenant que faire... Clic droit sur le répertoire (dont l'image possède un petit verrou d'ailleurs, verrou qui disparaitra en fin de manip), onglet sécurité et on essaye de s'approprier tout ça. Ca plantouille car Windows répond qu'on n'a pas les droits sur xxxx (à remplacer par le nom imbuvable de chaque fichier de ce répertoire, justement ceux posant problème).

Bref, il faut y aller à la main. On entre dans le répetoire et on fait un clic droit / sécurité sur chaque fichier. Certains laissent voir la page Sécurité immédiatement. Laissez tomber. Mais un certain nombre d'autres fichiers affichent un message vous indiquant que vous n'avez pas le droit de voir l'onglet Sécurité ! Heureusement Windows vous permet de vous les approprier, donc d'en devenir le propriétaire (au passage je vois mal l'intérêt d'interdire un truc en proposant de l'autoriser, je vous l'ai dit, je ne suis pas un expert en Sécurité Windows !). C'est ce que j'ai fait pour chaque fichier. En fin de manip j'ai recommencé la modification des droits sur le répertoire lui-même, et là c'est passé. Plus de petit verrou affiché dans le symbole dossier.

Et immédiatement, Visual Studio ne redemande plus l'importation des clés. Ca remarche. Ouf !

Je suis convaincu que je m'y suis pris comme un pied pour régler le problème (il doit y avoir plus simple et plus propre que de devenir propriétaire de chaque fichier un par un), en tout cas ça règle bien le problème qui avait été bien identifié : problème de droits sur le répertoire des clés.

Pour l'instant c'est la seule surprise que j'ai eu en migrant cette machine de Vista à Windows 7. Le reste marche très bien et on ne perd rien ce qui est très appréciable (comme j'aurai aimé que cette option de migration sans douleur existe sur les anciennes versions de Windows !).

J'espère que le récit de cette mésaventure (et surtout sa solution) évitera à certains de perdre quelques heures... Si oui, n'hésitez pas à me le dire, ça fait toujours plaisir de savoir qu'un billet a été utile !

Et sir parmi vous il y en a qui sont plus doués que moi niveau sécurité Windows, qu'ils n'hésitent pas à indiquer la "bonne" manip pour arriver au résultat je modifierai en conséquence le présent billet...

Dans tous les cas, Stay Tuned !