# Thursday, July 23, 2009

Depuis le Feature Pack (et SP1) de Visual C++ 2008, les MFC contiennent un ruban ("ribbon") similaire à celui que l'on trouve dans Office 2007. On pouvait écrire des applications en utilisant cette fonctionnalité des MFC, comme cet exemple :


Le contrôle "ribbon" des MFC

Il se murmurait à l'époque de la sortie de ce Service Pack, que l'interface de type Ruban serait très courante sous Windows 7, comme je l'écrivais ici il y a plus d'un an.

Eh bien Windows 7 contient un contrôle Ribbon par défaut, le "ScenicRibbon". Il n'a pas tout a fait le même look que celui des MFC. Le problème, c'est que le Ribbon de Windows 7 n'est pas le même que celui des MFC !


Le contrôle "Ribbon" de Windows 7

Ces deux éléments sont totalement distincts et ne se programment pas de la même façon. Celui de Windows 7 utilise un fichier XML pour décrire les onglets, boutons... Par exemple, pour créer deux bouton "Copier" et "Coller" dans un groupe :

   <Group CommandName="cmdEdit" SizeDefinition="TwoButtons">
      <
Button CommandName="cmdCopy" />
      <
Button CommandName="cmdPaste" />
   </
Group>

Le SDK de Windows 7 inclus un outil pour compiler ce fichier XML de description d'interface. Ca ressemble à du XAML, mais ce n'en est pas ! C'est une sorte de fichier Ressource en XML, utilisé en code natif ! La documentation du ScenicRibbon de Windows 7 est ici sur MSDN.

 

Par contre, pour ajouter un bouton ou un groupe dans le Ribbon des MFC, il faut écrire du code "en dur" dans le programme, comme par exemple :

   // Crer le panneau "Presse-papiers":
   strTemp.LoadString(IDS_RIBBON_CLIPBOARD);
   CMFCRibbonPanel* pPanelClipboard = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon(27));

   // Crée le bouton "Coller"
   strTemp.LoadString(IDS_RIBBON_PASTE);
   CMFCRibbonButton* pBtnPaste =
new
CMFCRibbonButton(ID_EDIT_PASTE, strTemp, 0, 0);
   pPanelClipboard->Add(pBtnPaste);

   // Crée le bouton "Couper"
   strTemp.LoadString(IDS_RIBBON_CUT);
   pPanelClipboard->Add(
new CMFCRibbonButton(ID_EDIT_CUT, strTemp, 1));

Le contrôle "Ribbon" devient presque incontournable. Celui de Windows 7 est beaucoup plus flexible à programmer. Il est quand même plus facile et souple de décrire une interface utilisateur en XML que d'écrire du code C++ en dur ! Au point que si une DLL redistribuable du Ribbon Windows 7 était disponible pour Vista et XP, on jetterait bien vite le Ribbon des MFC à la poubelle. Le problème est qu'apparamment le Scenic Ribbon ne sera disponible que pour Vista et 7, pas pour XP (http://channel9.msdn.com/pdc2008/PC14/).

Et, pour une fois, les programmeurs natifs C++ sont avantagés par rapport aux programmeurs Winform. Le framework .NET ne contient pas (encore) de ribbon. Mais Microsoft propose un Ribbon en add-in pour WPF, que l'on peut télécharger, en plus de .NET 3.5 : http://windowsclient.net/wpf/wpf35/wpf-35sp1-ribbon-walkthrough.aspx

Evidemment je ne mentionne pas les différents éditeurs de composants payants pour MFC (Codejock, BCG) ou .NET (Infragistics...) qui proposent des ribbons.

Tags  |  | 
 23 July 2009, 17:23
# Thursday, January 08, 2009
Vous le savez bien sûr : il existe plusieurs façons de compter les années, en fonction du calendrier que l'on utilise. Dans notre calendrier grégorien, nous sommes en 2009. Mais il existe d'autres calendriers : hébreux, islamique, révolutionnaire, et, celui que l'on consulte tous les jours, le calendrier Windows :


Le calendrier Windows affiche l'an 7 beta 1

Dans le calendrier Windows, nous sommes en l'an 7 béta 1 depuis hier, quand Steve Balmer a officiellement annoncé la disponibilité de Windows 7 beta 1. Alors bonne année 7 béta 1 ! Et, également, comme ce blog a été un peu désert ces derniers temps, bonne année grégorienne 2009 !

La durée d'une année Windowsienne est maintenant d'exactement trois années terrestres, grâce à la poigne de Steven Sinovsky[^] : la Terre effectue exactement 3 rotations autour du soleil entre deux versions de Windows. Avant, c'était beaucoup plus aléatoire, et il fallait attendre la fin de l'année Windowsienne pour savoir qu'elle touchait à sa fin.

Bonne et joyeuse année 2009 7 beta 1


Tags  | 
 8 January 2009, 15:38
# Tuesday, August 26, 2008

Si vous avez acheté un iPod ou un iPhone, vous l'avez sans doute constaté : des logiciels dont vous n'avez pas besoin se sont sournoisement installés sur votre PC.

Heureux possesseur d'un baladeur Apple, vous devez installer le logiciel iTunes sur votre PC. C'est écrit sur la boîte, on est prévenu.

Par contre, ce qui n'est pas écrit, c'est que pour télécharger des applications gratuites ou des mises à jours pour votre iPod/iPhone, vous devez fournir un numéro de carte bancaire à Apple.

Et toute une floppée de logiciels sont installés par Apple sur votre PC sans votre permission.


Les applications installées sans permission avec iTunes

En voici la liste (non exhaustive) :

  • le navigateur Web Safari (j'ai déjà IE et Firefox, merci)
  • QuickTime (je me demande quelle est son utilité, j'ai déjà Media Player)
  • Bonjour (Bonjour, à quoi servez vous ?)
  • Un logiciel de mise à jour qui, si jamais vous avez réussi à ne pas installer Safari la première fois en décochant les bonnes options, vous proposera encore et encore de l'installer jusqu'à ce que vous disiez oui par inadvertance. Il vous aura à l'usure !
  • Le client pour le service payant de location d'espace Web "Mobile Me". Ce dernier est installé dans le panneau de configuration.


Mobile Me s'installe silencieusement dans le panneau de contrôle de Windows

Ah, ce service Mobile Me ! C'est un abonnement (100$/an) pour disposer d'un espace de stockage en ligne. Comme vous avez déjà fourni votre numéro de carte bancaire à Apple, il ne suffit que de quelques clics pour y souscrire. Mobile Me est un concurrent payant de Windows Live Mesh, ce dernier étant gratuit. Mais Mobile Me ne fonctionne pas très bien...

Le moins que l'on puisse dire c'est que Apple est vraiment sournois. Donc me voici maintenant à empêcher Apple de lancer des services et des programmes résidents qui ne me servent pas...

 

Tags
 26 August 2008, 18:19
# Tuesday, July 22, 2008

Maintenant que XP n'est (quasiment) plus disponible, Microsoft lance une grande campagne de pub pour Vista. Marrant :

Le temps est venu de connaître la vérité : il faut maintenant utiliser Vista plutôt que XP[^].

Pourtant, un livre à succès[^] affirme qu'avec Internet, le monde est plat, la preuve :

Il est plat ou pas le monde maintenant ? Alors, qui croire ? Microsoft, ou bien Thomas Friedman ??

En fait, la vérité est ailleurs : des petits malins[^] qui trouvent Vista trop lent, ont déjà parodié cette pub, (référence à X-Files[^], le film) :

Tags  | 
 22 July 2008, 18:21
# Wednesday, June 25, 2008


Un peu de musique pendant qu'on se recueille pour la mort de XP

Dans une lettre adressée aux utilisateurs de Windows[^] (1 milliard de personnes), Bill Veghte, Vice President de Microsoft, a annoncé le 24 juin la mort officielle de Windows XP. Un moment de recueillement pour un système qui a vécu 7 ans (l'espérance de vie d'un lion[^] est entre 7 et 14 ans).

Enfin, mort, cela veut dire qu'il ne sera plus vendu à partir de ce soir. Ou demain matin à 05h59, pour Dell[^]. En tous cas plus du tout à partir du 30 juin. Sauf cas exceptionnel.

Mais il sera encore supporté par Microsoft pendant près de 6 ans[^] (encore 9 mois de support "normal", puis ensuite, seulement les mises à jour de sécurité pendant 5 ans). Comme ça, si vous venez de l'acheter, vous aurez encore des mises à jour avant que votre PC ne rende l'âme. Ca veut dire aussi que si vous développez des logiciels, vous risquez d'avoir ENCORE des clients sous XP pendant 5 ans.

5 ans encore ! Horreur, malheur ! Imaginez la tête d'un type au support technique, quand un client appellera, début 2014, pour annoncer : "euh, oui, j'ai un problème là, avec votre logiciel, je suis sous XP, que puis-je faire ?". Ah ah ah !


La tête d'un type au support technique, début 2014,
quand un client appellera pour signaler un problème sous Windows XP.

D'ici là, Windows 7 sera sorti. Officiellement, et toujours d'après cette même lettre[^], Windows 7 sera disponible trois ans après Vista. Donc cela donne : sortie officielle en Janvier 2010, disponibilité pour les professionnels fin 2009, et versions béta largement disponibles dans moins d'un an.

 

Tags
 25 June 2008, 15:21
# Friday, February 15, 2008

Comme quoi j'étais mauvaise langue il y a quelques jours : la copie a pris moins de 30 jours ;)

En fait, Microsoft a avancé la disponibilité sur MSDN et Technet pour permettre aux éditeurs de logiciel et intégrateurs de tester le SP1 avant sa sortie au grand public, dans un mois. Abonnés MSDN et Technet ont râlé, Microsoft a donné satisfaction.

On dit que ce SP1 rend Vista plus rapide... de manière impressionnante parfois. Notamment la copie de fichiers ;) selon ZDNet.

Pour les abonnés MSDN, c'est ici : http://msdn2.microsoft.com/en-us/subscriptions/default.aspx, dans la rubrique "Top download", en français, anglais, pour x64 et x86. Aussi dispo pour les abonnés Technet Plus.

Je me demande si les performance des applications WPF vont être améliorées. Parce que faire des applications avec WPF est vraiment tentant quand même... Je rêve là, non ?

Si l'installation de "la bête" prend plus d'une heure, elle est très simple : il suffit d'exécuter la bonne version du SP1 (x86 ou x64). Pour l'image ISO, même pas besoin de la graver sur un DVD, un simple lecteur virtuel suffit. Ensuite tout est automatique, heureusement. L'installateur détecte tout seul la langue du système. Pas de problème sur les quelques PC sur lesquels il a été installé.

 

Après installation, la version de Windows est toujours 6.0, le numéro de build est 6001.

On peut tester par programme si le SP1 de Vista est installé (en C++ natif) :

OSVERSIONINFOEX osvi;
memset(&osvi, 0,
sizeof(osvi));
osvi.dwOSVersionInfoSize =
sizeof
(osvi);

if
(GetVersionEx((OSVERSIONINFO*)&osvi))
{
      
if
(osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0)  // Windows 6.0
      {
            // Vista 6.0

            if (osvi.wServicePackMajor == 1) // Service pack version 1
            {
               
// Vista SP1
            }

      
}
}

Voici ce que contient toute la structure OSVERSIONINFOEX sous Vista SP1 :

Le nom "Service Pack 1" est en clair dans szCSDVersion, et le numéro de version du Service Pack est 1.0.

Pour rappel, voici les numéros des différentes versions de Windows :

Operating system Version number
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 5.1
Windows 2000 5.0
Windows Me 4.90
Windows 98 4.10
Windows NT 4.0 4.0
Windows 95 4.0

On notera que Vista a le même numéro de version que Windows Server 2008...

Bon allez hop, au boulot ! Testons si nos logiciels fonctionnent toujours avec ce SP1. Parce qu'il sera disponible au grand public dans un mois exactement. Les services QA/tests ne vont pas pouvoir partir au ski...

Tags  | 
 15 February 2008, 15:31
# Tuesday, February 05, 2008

Sur le blog de Windows Vista, Mike Nash (Microsoft Vice President, Windows Product Management) a annoncé que le SP1 de Vista était sorti en RTM... mais qu'il ne serait disponible sur Windows Update qu'en mars et avril 2008. Quand un produit sort en RTM (Release To Manufacturer), ça veut dire qu'il est fini, qu'il part à la fabrication, au pressage des DVDs, qu'il est mis en ligne en téléchargement, qu'il sort en RTW (Release to Web !). Alors, bizarre ce délai, non ?

Bon, bon... attendons un peu : Mike Nash nous promet que le SP1 améliore la rapidité de copie des fichiers sur le réseau jusqu'à 50%. Ce SP1 pourra être installé sur la plupart des PC Vista, sauf ceux qui ont des drivers incompatibles. Sur ces machines, le SP1 ne s'installera pas.

La voilà la vraie raison ! Selon www.istartedsomething.com, le PC Vista qui copie les fichiers du SP1 sur les serveurs de Windows Update a des drivers réseau pas très catholiques. Du coup, le SP1 n'a pas pu être installé sur ce PC, qui conserve son problème de lenteur lors de la copie de fichiers sur le réseau.

Criant de vérité, non ?

Tags  | 
 5 February 2008, 10:36
# Monday, January 28, 2008

Des vidéos et des photos en provenance de Chine montrent soi-disant des pré-versions de Windows 7, le successeur de Windows Vista.

Mais il y a mieux ! Voici ce à quoi ressemblera Windows 8 (qui sortira fin 2012 début 2013) :

Etonnant non ?

Tags  | 
 28 January 2008, 16:17
# Sunday, January 20, 2008

Windows Seven logo Depuis quelques jours, pas mal d'informations filtrent sur Internet à propos de la prochaine version de Windows. Le nom de code du successeur de Vista est actuellement Windows 7, après avoir été Vienna.

Quand sort la prochaine version de Windows ?

Selon diverses sources (TG Daily, repris par ZDNet, Infoworld...), le développement de Windows 7 est bien avancé puisqu'une version a été livrée ces derniers jours aux principaux constructeurs de PC partenaires de Microsoft.

Initialement prévue pour 2010, la sortie de Windows 7 aurait donc été avancée au deuxième semestre 2009. C'est dans un an et demi ! Et si on prévoit une large disponibilité de Windows 7 sur des PC préinstallés pour Noël 2009, cela veut dire que Windows 7 sera disponible à la fin de l'été 2009. Par conséquent, une version béta (non encore planifiée) sera sans doute disponible dans environ un an, début 2009.

Souvenons-nous des déboires et du retard de Microsoft lors de la sortie de Vista. Ils ne veulent pas rééditer le même scénario.

Il y aura quoi dedans ?

Il y a des fuites. Une taupe* a pu installer la version de Windows 7 qui vient d'être livrée aux partenaires Microsoft, et fait part de ses commentaires sur un forum du site Neowin.

- Il semble que certains accessoires de Windows 7 soient réécrits en WPF : Paint, la calculatrice,... une révolution ! ;) C'est vrai ça, dans Vista, rien (ou presque) n'est écrit avec WPF. Cela voudrait-il dire que Microsoft a amélioré la performance de WPF ? Cela serait vraiment, vraiment bien.

- On parle aussi d'une intégration de Windows Live avec Windows 7, ici et ici. Internet et Windows Live comme une extension naturelle de Windows, ma foi, ça semble tomber sous le sens. Faites chauffer votre passport MSN.

- Et de performance améliorée. Yesss !! On parle de Minwin, ici ou ... MinWin est un noyau Windows allégé, en 33 Mo. Et l'on se met à rêver de performance, de système rapide et moins gourmand en ressources...

Il y a quelques mois, le site Neowin, encore lui, avait publié une liste de souhaits qui a été présentée à l'équipe de Windows 7. Il a été confirmé que cette liste était bien réelle. Mais elle n'apporte pas grand chose en fin de compte : ce sont des souhaits qui ont été présentés à l'équipe Windows. Ce n'est pas une liste de fonctionnalités.

Voici un extrait de la liste. Cliquez pour voir la liste complète :


En même temps, Mike Nash (Microsoft VP, Windows) a déclaré que, s'il ne regrettait pas tous les changements apportés par Vista, il y aura moins de modifications d'architecture du système dans Windows 7.

On peut traduire cela par : "après les folies de Vista, on se calme pour Windows 7". Ou bien par "il y a eu tellement de modifications d'architecture dans Vista (UAC, drivers, réseau, gestion UI...) que maintenant on est tranquille". Ou encore par : "avec Vista, Microsoft a changé tellement de choses que beaucoup de logiciels ne fonctionnaient plus. Ce ne sera pas le cas avec Windows 7". Ouf.

Pourquoi si tôt ?

Parce que Microsoft a des soucis avec Vista : après être sorti en retard, peu d'utilisateurs l'ont adopté.

Au moins quand on est en avance, on n'est pas en retard.

Peu d'utilisateurs de PC utilisent Vista, ils restent sous XP. Chez Dell par exemple, on peut encore commander un PC neuf avec XP. Selon Xiti, 80% des internautes utilisent encore Windows XP. 12% utilisent Vista, et les 8% qui restent sont à partager entre MacOS, les autres versions de Windows (2000, 98, ...), Linux, les mobiles et les consoles.

Les grands comptes ont déjà payé la migration vers Vista même s'ils utilisent encore XP. Ce n'est donc pas une question de coût des licences. Eh oui, Microsoft est très fort : avec "l'assurance logicielle", les grands comptes paient les dernières versions, même s'ils ne les utilisent pas. Enfin, ce n'est pas nouveau que le marketing de Microsoft est efficace !

Ceux qui sont encore sous Windows XP pourront peut-être passer directement à Windows 7, sans passer par la case Vista. Dans un an, quand on commencera à pas mal parler de Windows 7, les utilisateurs de Windows XP passeront vraiment pour des dinosaures. Un peu comme les utilisateurs de Windows 98 maintenant.

Vista n'est pas un vrai succès : après être sorti en retard, peu d'utilisateurs l'ont adopté. Microsoft veut remédier à cela... avec Windows 7 !

 

Tags
 20 January 2008, 13:55
# Saturday, January 05, 2008

Oui, nous sommes en 2008 et la newsletter hebdomadaire "Microsoft download notification" du 4 janvier 2008 indique qu'il faut télécharger le SP2 de Windows Vista XP. Cette lettre d'information présente l'actualité des téléchargements Microsoft. Télécharger le SP2 de Windows XP est donc d'actualité, dixit Microsoft.

Microsoft aurait-il entendu les utilisateurs se plaindre que Windows Vista est trop lent ? Comme dans la lettre d'information de CNET du 4 janvier 2008 : "What can I do to improve the speed of my Vista machine ?" Un sondage (non représentatif) sur ce même site indique que 49% des utilisateurs ne veulent pas migrer de XP à Vista.

Les utilisateurs de PC en auraient-ils assez des fatwares : systèmes et des logiciels trop lents, trop gourmands en ressources ?

Est-ce que Bill Gates parlera de la difficulté à faire adopter Vista pas les utilisateurs de Windows XP, lors de son discours d'ouverture du CES, dimanche 6 janvier ? Je pense que oui. Enfin, il parlera du SP1 de Windows Vista. Il devrait aussi, dit-on, annoncer des nouveautés concernant Windows Mobile, Media Center, Home Server, XBOX 360, et Zune. Au fait, le site événementiel de Microsoft pour le CES est tout en silverlight... très joli design.

La difficulté de voir Vista être adopté par les utilisateurs de XP est un point que nous, éditeurs ou créateurs de logiciels, devons prendre en compte. Il y a un an, on pouvait se dire : "j'ai un nouveau développement, je le démarre en .NET 3.5, Vista sera adopté dans un an par tout le monde". Un an plus tard, Vista n'a pas envahi les PC. .NET 3.5 ne fonctionne pas très bien sous XP, qui reste une cible très importante pour nos logiciels. Les utilisateur ne veulent pas de fatware. Le C++ a encore un bel avenir.

 

Tags  | 
 5 January 2008, 15:25