Nouveau : 7 aout 2009
Téléchargez gratuitement le Training Kit Windows 7 pour les développeurs.
Afin de vous aider à rendre compatible vos applications sur Windows 7, Microsoft a mis à jour le Training Kit Windows 7 pour les développeurs pour la version RTM de Windows. Cette nouvelle version du kit possède un nouveau look et de nouvelles fonctionnalités.
Vous y trouverez toujours les sujets comme la barre des tâches, les capteurs et le positionnement, les bibliothèques, DirectX, le Multi-Touch, le ruban, etc.
Le kit est destiné aux développeurs Win32 en C++ et .NET. Maintenant, de nombreux thèmes disposent de petits labo de démonstration.
6 nouveaux labos sur la compatibilité des applications ont été ajoutés :
Contrôle de version, Redirection de données, UIPI, Détection d'installateur, Isolation de Session 0 et haute définition.
Ces différents labos vous permettront d'éviter la plupart des problèmes de compatibilité à votre application.
Le kit contient également des informations additionnelles comme des livres blancs, des liens vers la MSDN et des vidéos de Channel 9.
Téléchargez le kit gratuitement ici. (en anglais)
Votre application est elle prête pour Windows 7 RTM ?
Hier, un pas a été franchi dans le cycle de vie de Windows 7 : la sortie de la version RTM ! Dans 3 mois, le 22 octobre 2009, Windows 7 sera disponible au grand public. L'intérête pour la sortie publique de Windows 7 n'a fait que croitre depuis les derniers mois. Et le taux d'adoption du système est le plus haut comparé aux précédentes versions de Windows.
Comme nous approchons de plus en plus du 22 octobre, vous devez vous poser la question suivante : Votre application est-elle prête pour Windows 7 ? Que va-t-il se passer quand les utilisateurs installeront votre application sur Windows 7 ? Votre application fonctionnera-t-elle ? Votre application se comportera t-elle comme une application modèle pour Windows 7 ? Les utilisateurs verront-ils une différence en exécutant l'application sur Windows 7 par rapport à Vista ou XP ? Le 22 octobre est proche et nous allons vous aider à répondre "Oui !" à ces questions. Nous voulons que les utilisateurs bénéficient de la meilleure expérience possible avec votre application dès le premier jour.
Tout ceci est bien beau, mais quelles sont les étapes à suivre pour être capable de dire : "Oui, mon application est entièrement compatible avec Windows 7 ?"
Existe-t-il une checklist ? Et bien oui !
Vous devez effectuer trois choses pour vous assurer d'une migration en douceur.
1. Assurez-vous que votre application est compatible Windows 7
2. Optimisez l'expérience et les performances de votre application pour Windows 7
3. Proposez de nouvelles et intéressantes expériences avec Windows 7
S'assurer que votre application est compatible Windows 7
Avant d'envisager d'utiliser les nouvelles fonctionnalités de Windows 7, assurez vous que votre application est compatible avec Windows 7. Il n'est pas possible d'y échapper. Il est essentiel de vous assurer que votre application s'exécutera correctement sur Windows 7. Il n'y a rien de pire pour un utilisateur final que d'attendre avec impatience le nouveau système d'exploitation Windows 7, juste pour découvrir que son application favorite ne fonctionne pas correctement. Une mauvaise expérience utilisateur gêne tout le monde.
Si votre application est compatible avec Windows Vista, vous êtes en bonne voie. Nous esperons que la plupart des applications qui s'exécutent sur Windows Vista, s'exécuteront aussi sur Windows 7. Bien évidemment, vous ne devez pas prendre cela pour acquis et devez vérifier que votre application est vraiment compatible avec Windows 7. Il existe quelques différences entre Windows Vista et Windows 7 qui peuvent affecter certaines fonctions spécifiques de l'application, donc si vous n'avez pas vérifié le Windows 7 Quality Cookbook, nous vous recommandons de le faire maintenant.
Si votre application était destinée à Windows XP (ou des versions antérieures de Windows), et que vous n'avez pas assuré sa compatibilité avec Windows Vista, il y aura certains points auquels vous devrez préter particulièrement attention (l'UAC par exemple). Il est important de garder en tête qu'il n'existe pas de solution miracle aux problèmes de compatibilité d'une application. Chaque application a ses propres problèmes qui sont dépendant des détails d'implémentation. Le Windows Vista Application Compatibility Cookbook est toujours très pertinent pour Windows 7 puisque 99% de ses indications s'appliquent également à Windows 7. Cela étant dit, on peut dégager les principaux points essentiels qui se distinguent des autres. Les 7 points détaillés ci-dessous représentent une grande majorité des problèmes de compatibilité rapportés.
- Vérification de la version de Windows - de loin le plus fréquent problème de compatibilité N'avez-vous jamais rencontré un message d'une application "Nécéssite Windows XP ou supérieur" quand vous l'exécutez sous Windows 7 ? Si oui, le problème vient de la vérification de version. Vous pouvez en savoir plus à ce sujet - Application Compatibility : Operating System Versioning
- Redirection de données - depuis Windows Vista, les utilisateurs standard ont un accès limité à certains fichiers, dossiers et clés de registre. Quand une application tente d'écrire dans l'un de ces emplacements, l'écriture est redirigée vers un autre emplacement. La plupart du temps, c'est totalement transparent pour l'utilisateur et pour le développeur de l'application, mais parfois, cela peut entrainer des problèmes divers. Vous pouvez en savoir plus à ce sijet : Common file and registry virtualisation issues in Windows Vista
- Mode protégé Internet Explorer - depuis Windows Vista, Internet Explorer démarre par défaut avec des privilèges réduits. Cela signifie en pratique que certains controls ActiveX qui fonctionnent sous Windows XP ne fonctionne pas sous Windows Vista et Windows 7. Si vous souhaitez plus d'information, listez Protected Mode in Vista IE7 (et oui, c'est toujours applicable pour IE8).
- Isolation Session 0 - dans Windows Vista, les services s'exécutent dans leur propre session (session 0) et non pas dans les sessions utilisateurs (session 1 et supérieures). Cette frontière de sécurité permet de protéger le système contre plusieurs vecteurs d'ataque et est absolument indispensable. Cependant, cela amène des problèmes de communication entre les services et les applications en bloquant par exemple vos messages ! Vous pouvez lire ceci pour en savoir plus : Modfying the Mandatory Integrity Level for a Securable Object in Windows Vista
- Détection d'installateur - depuis Windows Vista, le système d'exploitation tente de détecter automatiquement si une paplication est un installateur d'application, ce qui signifie généralement que celui-ci a besoin d'une élevation vers les privilèges administrateur. Cependant, cette détection peut parfois poser problème. Si vous êtes intéréssé par ce sujet, lisez The Windows Vista and Windows Server® 2008 Developer Story.
- Isolation des privilèges d'interface utilisateur - ceci empeche une application (processus) d'envoyer des messages à un autre processus possédant des privilèges plus élevés, et ce, même si les deux applications s'exécutent sur le même compte utilisateur. Bien que ce système protège de certaines ataques destructrices, il peut également gêner certaines applications.
- Haute résolution - durant l'installation, Windows 7 détecte automatiquement si votre écran supporte la haute résolution (High DPI). Si votre écran est détecté en haute résolution, Windows 7 définit automatiquement votre résolution d'écran en haute résolution. Si votre application n'a pas prévu ce cas de figure, certains problèmes d'affichage peuvent survenir (comme des coupures de texte). Lisez ceci pour en savoir plus : Ensuring your application displays properly on High-DPI Displays
Dans les prochaines semaines, nous donneront plus de détails sur les sujets ci-dessus pour vous aider à être prêt pour Windows 7.
Optimisez l'expérience et les performances de votre application pour Windows 7
Après avoir vérifié que votre application peut s'installer et s'exécuter sur Windows 7 sans problèmes, il est maintenant temps d'optimiser l'expérience utilisateur ainsi que les performances en s'exécutant sur Windows 7. Vous pouvez faire cela en bénéficiant des nouvelles fonctionnalités offertes par Windows 7. Celles-ci incluent des innovations au niveau de l'interface utilisateur comme la nouvelle barre des tâches et les Bibliothèques. Mais également des fonctionnalités plus fondamentales comme Trigger Start Services ou la nouvelle plateforme de résolution de problèmes. En optimisant votre application pour Windows 7, vous pouvez être assuré que l'expérience des utilisateurs finaux quand ils exécuteront votre application dépassera même leurs espérances. Les utilisateurs vont notamment s'attendre à ce que les applications fonctionnent correctement avec la nouvelle barre des tâches. Mais si votre application n'est pas optimisée pour l'expérience utilisateur de la nouvelle barre des tâches, les utilisateurs finaux vont rapidement s'en rendre compte.
Lorsque vous serez prêt à optimiser votre application pour Windows 7, vous pourez considérer une ou plusieurs des fonctionnalités suivantes :
- Barre des tâches - La nouvelle barre des tâches dans Windows 7 fournit plus d'informations à l'utilisateur et de manière plus intuitive, avec des fonctionnalités telles que la Jump List qui aide les utilisateur à aller rapidement là où ils le souhaitent. Vous pouvez lire plus d'information à ce sujet ici : Developing for the Windows 7 Taskbar – Application ID.
- Bibliothèques - Les bibliothèques sont le point d'accès principal aux données pour les utilisateurs de Windows 7. Une bibliothèque Windows 7 est une collection de contenus définie par l'utilisateur et qui contient les données de l'utilisateur indépendamment de la hiérarchie des dossiers sur le disque. Les utilisateurs peuvent ainsi unifier et réduire la hiérarchie des dossier en regroupant un certain nombre d'emplacement physiques (sur leur machine locale ou sur une machine distante) dans une simple vue qu'est la bibliothèque. Vous pouvez lire ceci pour en savoir plus : Windows 7 Programming Guide – Libraries.
- Trigger Start Services - Le gestionnaire de contrôle des services de Windows 7 a été amélioré de manière à permettre à un service de démarrer et de s'arrêter quand un évènement système ou qu'un déclencheur se déclenche sur le système. Ceci permet de s'affranchir du démarrage automatique des services au démarrage de l'ordinateur pour qu'ils attendent ensuite qu'un évènement survienne (comme par exemple, la connexion d'un périphérique). Pour en savoir plus : Service Trigger Events.
- Optimisation de l'alimentation - Windows 7 fournit une infrastructure et des outils qui permettent aux développeurs de déterminer facilement l'impact énergétique de leurs applications. Un ensemble de déclencheurs d'évènements permettent aux applications de réduire leur activité quand le système est alimenté par batterie et de retrouver une activité normale quand l'ordinateur est à nouveau branché sur le secteur.
- Plateforme de résolution de problèmes - Windows 7 fournit une plateforme complète et extensible de résolution des problèmes qui utilises des mécanismes basés sur PowerShell pour détecter et résoudre les problèmes. La plateforme de résolution de problèmes s'intègre parfaitement avec le Centre de solutions de Windows 7, ceci permet à d'autres applications d'exécuter des diagnostics. Lisez ceci pour plus d'informations sur la plateforme de résolution de problèmes.
- Rapport d'erreurs Windows - La fonctionnalité de Rapports d'erreurs Windows (WER) est composée d'un ensemble de technologies qui capture les données de crash des application et supporte les rapports d'information envoyés par l'utilisateur en cas de crash. Via les services Winqual, les fournisseurs de logiciels et de matériel peuvent accéder à ces rapports afin de les analyser et de résoudre ces problèmes. Cet ensemble d'outils fournit une information en temps réel de la qualité de votre logiciel et facilite les mises à jour logicielles et les patchs. En savoir plus sur Windows Error Reporting.
- Optimisation des E/S - La priorisation des Entrées/Sorties améliore les temps de réponses du système sans pour autant diminuer les débits du système. Si vous avez des services gourmands en ressources d'E/S et que vous pouvez l'exécuter en arrière-plan, les utilisateurs vous en seront reconnaissant. Les applications dont les E/S ne sont pas optimisées ont tendance à saturer les E/S et à ajouter une charge supplémentaire au système. Si votre application optimise les E/S pour les services d'application non critiques, cela peut améliorer sensiblement le comportement global du système.
- Gestionnaire de redémarrage - Cette technologie permet le redémarrage suite à un cash ainsi que les mises à jour des applications et du système sans avoir à redémarrer la machine. Quand vous implémentez cette fonctionnalité, vous disposez d'une seconde chance de sauver les informations sensibles si votre application se plante. Windows va automatiquement redémarrer votre application et tenter de recharger les informations que l'utilisateur était en train d'utiliser. Cette même technologie facilite la mise à jour de la plupart des applications et du système d'exploitation sans nécessiter de redémarrage. Si un redémarrage est nécessaire, alors Windows va s'assurer que votre application redémarrera et reviendra dans son état précédent.
Proposez de nouvelles et intéressantes expériences avec Windows 7
Une fois que votre application a passé avec succès les deux étapes précédentes, vous pouvez maintenant votre application en créant une nouvelle expérience utilisateur. Windows 7 permet aux développeurs de créer des applications caractéristiques et intuitives qui améliore significativement la facilité de découverte, d'utilisation et un léger amusement. Les nouvelles méthodes d'intégration au bureau mettent votre application directement au bout des doigts de l'utilisateur. La nouvelle API tactile permet une interraction naturelle via le multitouch et les gestes de déplacement. Les progrès rapides du matériel et des technologies logiciels permettent d'enrichir l'expérience utilisateur. Windows 7 apporte ces amélioration sous le contrôle des développeurs avec de nouvelles APIs flexibles qui tirent avantage de la technologie tout en rendant plus facile le développement d'applications fascinantes.
Windows 7 inclus de nombreuses nouvelles fonctionnalités qui font briller votre application, l'élevant au dessus de la compétition. Si vous cherchez à créer de nouvelles expériences utilisateur, jettez un oeil aux fonctionnalités ci-dessous :
- Ruban - Windows 7 intègre l'interface "Ruban" d'Office 2007 au sein du système, permettant ainsi d'utiliser dans ses développements une interface utilisateur améliorée sur cette plate forme. Cela signifie que les développeurs peuvent se passer d'une partie de la corvée de l'interface utilisateur Win32 et peuvent développer et publier une interface utilisateur riche, graphique, animée et familière à l'utilisateur en utilisant l'interface utilisateur orientée balises et un petit runtime à haute-performance.
- Multitouch- Windows 7 fournit un support amélioré du toucher et des gestes, permettant ainsi aux développeurs de créer rapidement et facilement une expérience d'application unique qui va bien au delà du simple pointer-cliquer-déplacer de la souris. La novuelle APIs multi-touch supporte les gestes complexes tels que le défilement, le zoom et la rotation. Tous ces mouvements fournissent un retour visuel direct et permettent d'interagir avec le contenu de manière naturelle et intuitive.
- Plateforme de capteurs et de localisation - Windows a changé la manière dont les utilisateurs utilisent les capteurs. Cela inclus le support natifs de capteurs, étendu par une nouvelle plateforme de développement fonctionnant avec les capteurs, y compris les capteurs de positionnement (comme les périphériques GPS) et les capteurs (comme les capteurs de luminosité ambiante ou les jauges de température), afin d'être à l'écoute de l'environnement de l'ordinateur dans les applications Windows. Les capteurs de localisation permettent d'ouvrir de nouvelles opportunités pour les services basés sur la géo-localisaton.
- Nouvelle pile graphique - Windows 7 fournit de nouvelles capacités graphiques aux développeurs via de nouvelles APIs DirectX. Les développeurs Win32 peuvent tirer profit des dernières innovations dans les GPUs pour ajouter des graphiques 2D et 3D rapides, redimensionnables de haute qualité, ainsi que du texte et des images dans leurs applications.
- Plateforme multimédia - Media Foundation et DirectShow® fournissent la base du support multimédia dans Windows. Media Foundation est apparu dans Windows Vista comme le remplaçant de DirectShow. Dans Windows 7, Media Foundation a été amélioré pour fournir un meilleur support des formats, comprenant par exemple :
o MPEG-4,
o Support des périphériques de capture video et les codecs matériels, y compris H.264 video, MJPEG, and MP3
o Nouvelles sources pour MP4, 3GP, MPEG2-TS, et AVI
o Nouveaux skins de fichiers pour MP4, 3GP, et MP3
Pour les développeurs, Windows 7 ajoute de nouvelles APIs de haut niveau pour rendre encore plus facile l'écriture d'application multimédia. - Recherche fédérée - Windows 7 supporte la recherche de documents au delà de l'ordinateur de l'utilisateur. Les développeurs et les professionnels IT peuvent rechercher dans leurs propres moteurs de recherche, repositories de documents, applications Web et fichiers de données propriétaires, sans avoir à écrire et déployer du code client. Ceci permet aux utilisateurs finaux de rechercher sur leur intranet d'entreprise ou sur le Web aussi facilement que s'ils cherchaient des fichiers locaux, et ceci à partir de la même interface Windows familière.
- Intégration Device Stage - Windows 7 combine les logiciels et les services pour créer de nouvelles expériences enrichies pour les téléphones portables, les lecteurs multimédia portables, les caméras et les imprimantes. Windows rend encore plus facile l'utilisation de ces périphériques depuis le bureau Windows. Ceci fournit des marqueurs de périphériques avec une meilleure visibilité sur le bureau Windows et une interface simple pour présenter les fonctionnalités et services que le périphérique supporte.
J'espère que ce post vous en dira assez pour commencer à travailler tout en étant sur que votre application fonctionnera parfaitement sur Windows 7.
Est-ce que vos applications sont compatibles avec Windows 7 ?
Tirez-vous parti des nouvelles possibilités offertes par la nouvelle barre des tâches Windows ? Si non, pensez vous les implémenter dans vos applications ?
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Lire aussi : Le forum d'entraide Windows 7