 TechNet Magazine February 2008

TechNet Magazine February 2008

SharePoint: Une approche intelligente de la collecte de données dans l'entreprise

Les informations constituent l'un des biens les plus importants d'une entreprise. Toutefois, il peut être difficile de gérer la montagne de données collectées via la messagerie électronique, les formulaires Web, les enquêtes et autres mécanismes. Voici comment Microsoft Office peut vous aider à intégrer les données système et à les rendre plus accessibles.

Keith Deshaies SharePoint: Création d'une infrastructure d'enquête puissante

La collecte et l'analyse de données sont des activités très importantes pour votre entreprise, mais vos équipes doivent disposer d'outils qui leur permettront de collecter les données dont elles ont besoin, quand elles en ont besoin. Découvrez comment vous pouvez utiliser WSS 3.0, MOSS 2007 et InfoPath 2007 pour créer une solution d'enquête complète flexible pouvant être utilisée à l'échelle de l'entreprise.

Jim Bradley SharePoint: Normalisez la gestion des données grâce aux types de contenu personnalisés

La multitude de documents disparates et autres éléments de contenu enregistrés dans une entreprise de grande taille peut rendre difficile la gestion des documents, de leurs métadonnées associées et de leurs comportements de façon réutilisable et centralisée. Découvrez comment vous pouvez utiliser les types de contenu de SharePoint 2007 pour simplifier la gestion de contenu à l'échelle de l'entreprise.

Pav Cherny Office Communications Server: La présence dans OCS 2007

Office Communications Server 2007 utilise les informations sur la disponibilité des utilisateurs pour router les communications vers les emplacements les plus pertinents, qu'il s'agisse d'envoyer un appel vocal, une conférence vidéo, un message électronique ou un message instantané. Découvrez comment le système OCS 2007 utilise la présence pour connecter les points de terminaison.

Rajesh Ramanathan Office Communications Server: Planification d'un déploiement OCS 2007 Voice Enterprise

L'intégration d'Office Communications Server 2007 avec un système PBX existant peut se révéler une tâche difficile. Vous devez sélectionner un scénario d'intégration, comprendre le routage d'appel, savoir configurer les paramètres utilisateur, gérer les schémas de numérotation et bien d'autres choses encore. Mais ne vous inquiétez pas. Cette présentation vous indiquera tout ce que vous devez savoir.

Jochen Kunert and Rui Maximo Informatique hautes performances: Introduction à Windows Compute Cluster Server

Au lieu de s'appuyer sur des gros systèmes spécialisés, l'informatique hautes performances utilise des clusters de systèmes standard plus petits. La répartition de la charge de travail de cette façon offre une solution économique pour résoudre rapidement des problèmes complexes. Découvrez les fonctionnalités et la prise en charge des clusters de calcul fournies par Windows Compute Cluster Server 2003.

John Kelbley and Doug Lindsey Supplément en ligne: Déploiement d'Office System 2007 avec les services Terminal Server

Microsoft Office System 2007 inclut des modifications de conception que vous devez connaître avant de le déployer dans votre batterie de serveurs de services Terminal Server. Cet article vous donne un aperçu de ces modifications.

James D. Silliman Note de l'éditeur: Faire face à la surcharge d'informations

Joshua Hoffman Lettres: Les lecteurs ont la parole

Boîte à outils: Nouveaux produits pour les professionnels de l’informatique

Greg Steen Forum aux questions sur SQL: Index non cluster et conservation des autorisations

Saleem Hakani and Dan Carollo Coup de projecteur sur les utilitaires: ADMX Migrator

Avec Windows Vista, le format des modèles de Stratégie de groupe est devenu une structure de type XML. L'utilitaire ADMX Migrator peut convertir vos anciens fichiers ADM au nouveau format ADMX, et vous aider à créer facilement des fichiers ADMX personnalisés.

Lance Whitney Le petit câbleur: Authentification IEEE 802.1X sur réseau câblé

L'authentification IEEE 802.1X fournit une barrière de sécurité supplémentaire pour l'accès à votre intranet. Apprenez comment Windows Vista et Windows Server 2008 facilitent considérablement l'authentification IEEE 802.1X pour vos réseaux câblés.

Joseph Davies Windows PowerShell: Autorisations dans l'interpréteur de commandes

Les autorisations dans Windows sont, malheureusement, intrinsèquement compliquées. Toutefois, Windows PowerShell peut vous aider à surmonter de nombreux problèmes. Découvrez une présentation rapide du fonctionnement des autorisations dans Windows et comment vous pouvez les utiliser plus facilement.

Don Jones Hé, vous le scripteur !: Les Jeux sont ouverts ! Oh, et aussi un peu de XML

Les Scripteurs Microsoft parlent sans arrêt des Jeux de script 2008, et ils vous montent également comment créer, ajouter, et modifier des documents XML. À propos, avez-vous entendu parler des Jeux de script 2008 ?

The Microsoft Scripting Guys Vigilance sécurité: Attaque de type Island Hopping : atténuation des dépendances indésirables

Les dépendances de sécurité indésirables peuvent exposer votre réseau entier à des attaques. Découvrez comment fonctionnent les dépendances de sécurité afin de pouvoir analyser les dépendances dans votre environnement et résoudre les problèmes potentiels.

Jesper M. Johansson Histoires de Bureau: Double amorçage avec Windows XP et Windows PE 2.0

Il y a plusieurs avantages à démarrer Windows PE 2.0 à partir de la même partition que Windows. Apprenez à effectuer un double amorçage de Windows XP et de Windows PE 2.0 à partir de la même partition et explorez les problèmes résolus par cette opération.

Wes Miller Sur le terrain: Faite don de votre PC

Lorsque vous faites don de votre ancien matériel et le réutilisez, vous éviter à ce matériel de terminer à la décharge et contribuez à préserver l'environnement. Ces conseils peuvent vous aider à supprimer efficacement des données personnelles de votre ancien matériel informatique, afin que celui-ci soit prêt à être réutilisé.

Jim Lynch La vie secrète de Windows: Se débarrasser des rebuts

Voici quelques explications sur la façon dont l'une ou l'autre fonction qui n'étaient pas particulièrement plébiscitées ont disparu.

Raymond Chen


 SharePoint: Une approche intelligente de la collecte de donn&#233;es dans l'entreprise
SharePoint Keith Deshaies

Une approche intelligente de la collecte de données dans l'entreprise
Vue d'ensemble:
  • Collecte et traitement des données
  • Séparation de la logique de présentation de la logique de gestion des informations
  • Utilisation des technologies Microsoft Office 2007 pour la création d'une solution de collecte de données
Télécharger le code de cet article: DataGathering2008_02.exe (567KB)

Les entreprises collectent de grandes quantités d'informations à l'aide un grand nombre de méthodes. Les données arrivent via la messagerie électronique, des enquêtes, des formulaires Web et d'autres mécanismes de collecte de données. De façon générale, le fait de disposer de données est considéré comme
positif. Cependant, la gestion du large éventail d'outils de collecte de données et des différentes informations peut s'avérer complexe. L'intégration fiable et le partage sécurisé des données représentent des défis constants pour les entreprises informatiques. Toutefois, les normes et les architectures orientées services sont en train d'évoluer, permettant ainsi aux professionnels de l'informatique d'améliorer l'accessibilité et la sécurité des données. Mais même si vous possédez les outils et les technologies nécessaires pour construire une architecture d'entreprise efficace, il est très facile de se laisser emprisonner par des interfaces propriétaires, ce qui se traduit par des solutions isolées.
Prenons l'exemple des technologies disponibles dans le système Microsoft® Office. Windows® SharePoint® Services 3.0 permet de créer rapidement une enquête de service, mais celle-ci ne constituera pas nécessairement une solution standard, en fonction de votre entreprise. Si votre entreprise utilise ASP.NET et SharePoint comme plate-forme de collaboration Web et d'intégration de données, cette enquête fournit une solution standard. Mais si votre environnement ressemble à celui dans lequel je travaille, SharePoint n'est qu'une des nombreuses plates-formes utilisées.
Certes, SharePoint offre de nombreuses options d'intégration pour les systèmes IBM, HP, Siebel, etc. C'est assurément une bonne chose pour les utilisateurs chevronnés qui souhaitent créer des solutions ad hoc tout en maintenant le flux de données résultant dans toute une série de systèmes principaux. Cependant, si vous êtes un architecte de solutions, il existe une solution encore mieux adaptées : Infopath® 2007.
Avec Infopath 2007, qui fait partie d'Office 2007, vous pouvez séparer la logique de présentation de vos solutions de la logique de gestion des informations hébergées sur vos serveurs. Grâce à la technologie XML d'Infopath, vous pouvez générer des solutions de collecte de données adaptées aux besoins de l'entreprise. Et, pour l'essentiel, les concepteurs de formulaires d'Infopath ne nécessitent pas de connaissances poussées du XML, des services Web, des architectures de solution, d'ASP.NET ou du modèle d'objet de SharePoint.
Dans cet article, j'expliquerai comment créer des solutions de collecte de données flexibles à l'aide d'Infopath 2007, d'Office SharePoint Server 2007, et de Forms Services. Je vous montrerai également comment le XML permet de séparer la logique de présentation de la logique métier dans une architecture d'entreprise multiniveau.
Notez que lorsque je parle de la « collecte de données », je fais référence au processus de collecte d'informations provenant de sources humaines. Il y existe bien sûr d'autres moyens de collecter des données, tels que l'analyse des sources de données, mais ces méthodes automatisées sortent du cadre de cet article.

Acquisition et gestion des données
Les exigences d'acquisition de données peuvent être complexes, mais tous les processus possèdent certaines choses en commun. En traitant ces similarités dans des modules centralisés tout en gérant les exigences uniques dans des composants décentralisés, il est possible de limiter les efforts redondants, les frais de maintenance, ainsi que le coût total de possession.
Par exemple, les règlementations de conformité pour les sociétés anonymes entraînent des exigences commerciales qui se traduisent à leur tour par des stratégies de gestion des informations applicables à l'échelle de l'entreprise. Ces stratégies affectent les solutions de collecte de données par-delà les limites des services et mènent souvent à la duplication des efforts au sein de services individuels, par exemple les règles régissant la collecte d'informations d'identification personnelle collectées par un service de RH (qui gère les informations des employés) ou un service clientèle (qui gère les informations des clients). Même les processus métier de services individuels qui sont similaires, mais non apparentés, offrent des opportunités d'unification des solutions de gestion des informations.
La figure 1 illustre un exemple d'un processus métier typique. Un employé souhaitant échanger une tâche avec un collègue doit d'abord obtenir l'accord du collègue, puis l'approbation d'un responsable ou d'un coordinateur du calendrier d'attribution des tâches et enfin du superviseur. Il pourrait par exemple s'agir de deux employés qui échangent leurs horaires de travail. Bien que ces échanges surviennent dans des services différents et puissent dépendre de formulaires différents, les flux de travail et la logique de gestion des informations peuvent être répartis entre les différentes solutions de gestion des services.
Figure 1 Exemple de processus de collecte de données pouvant être partagé par plusieurs services
Figure 1 Exemple de processus de collecte de données pouvant être partagé par plusieurs services
Bien sûr, la consolidation des composants redondants représente une tâche gigantesque. Il n'est pas simple de procéder à des changements organisationnels à l'échelle d'une entreprise, mais grâce aux technologies Office, vous pouvez créer des fondations solides pour faciliter ces modifications. Infopath 2007 permet aux services individuels de créer des applications de formulaires qui s'intègrent dans des systèmes de gestion des informations centralisés normalisés. De son côté, SharePoint 2007 permet aux services informatiques de déléguer le contrôle administratif des collections de sites, des sites et des bibliothèques de documents à des services et des équipes individuels. Par conséquent, les équipes peuvent créer et déployer leurs propres solutions avec une intervention minimale du service informatique, tandis que ce dernier conserve le contrôle de tous les services et composants partagés, tels que les flux de travail, les stratégies de gestion des informations et les procédures de sauvegarde.

Centralisation des efforts de collecte de données
Les entreprises donnent souvent des serveurs d'applications de service aux équipes pour qu'elles puissent répondre à leurs besoins individuels de gestion des informations. La responsabilité du service informatique se limite à assurer le bon fonctionnement du matériel et du système d'exploitation, tandis que les services individuels s'occupent de tous les aspects de leurs solutions. La coordination entre les services est limitée, et le partage des informations est compliqué.
Les difficultés techniques liées à la centralisation des efforts de la collecte de données concernent principalement la sécurité, les performances, la maintenance et la prise en charge des composants personnalisés hébergés dans un environnement partagé. Par exemple, les effets d'un composant ne fonctionnant pas correctement sont isolés si les solutions individuelles sont hébergées sur des serveurs d'applications de service. Cependant, dans un environnement partagé, le mauvais fonctionnement d'un composant peut affecter les processus métier à une bien plus large échelle. Le service informatique doit donc établir des stratégies strictes en matière de déploiement et de maintenance de composants personnalisés sur les systèmes centralisés.
L'hébergement de solutions SharePoint de service sur une batterie de serveurs centrale nécessite le déploiement et la maintenance de tous les composants personnalisés de ces solutions de service sur les serveurs d'applications centraux. Une solution peut par exemple s'appuyer sur des types de champ personnalisés pour étendre l'interface utilisateur de la solution avec des listes déroulantes peuplées à partir des services Web principaux. Une autre solution peut quant à elle s'appuyer sur des composants WebPart aux mêmes fins, tandis qu'une autre utilisera les flux de travail, alors que toutes ces solutions sont écrites en code géré et déployées en tant qu'assemblys .NET Framework.
Le déplacement de ne serait-ce que quelques solutions SharePoint vers une batterie de serveurs d'applications centrale peut entraîner des difficultés de configuration et des problèmes de prise en charge. Si les assemblys doivent être déployés dans le GAC (Global Assembly Cache), la sécurité devient problématique parce que ces assemblys s'exécutent avec un niveau de confiance totale. Des composants mal programmés pourraient ouvrir le système à des attaques par injection SQL, par script intersites ou par déni de service. Vous devez vous assurer que les composants peuvent supporter la charge de travail typique ainsi que la demande maximale et les opérations de longue durée. Vous devez également vous assurer que les composants ne bloquent pas d'autres processus qui gèrent les évènements de façon synchrone et que les composants exécutent une validation des entrées fiable, afin que les utilisateurs ne puissent pas insérer de déclarations SQL ou de scripts dans les colonnes utilisées pour mettre à jour une base de données ou un système Web distant.
En bref, l'objectif est d'appliquer une configuration de serveur sécurisée et évolutive basée sur des fonctionnalités de produit standard. En vous appuyant sur des solutions réutilisables et testées à fond, vous pouvez éviter le piège consistant à créer d'innombrables composants personnalisés. Il est logique de garder le frontal décentralisé et le back-end centralisé. La clé est d'intégrer les composants d'une façon souple qui favorise la réutilisation des solutions existantes

Fractionnement de la logique métier
Donc, comment créer des solutions de collecte de données flexibles qui puissent être configurées sur vos serveurs ? La meilleure stratégie consiste à séparer l'architecture de la solution en niveaux individuels, comme illustré à la figure 2 : stockage de données, logique métier et présentation ou interface utilisateur. Á l'heure actuelle, l'interface utilisateur repose généralement sur un navigateur tandis que la logique métier réside sur des serveurs d'applications Web. Ces derniers accèdent à leur tour à des bases de données et des référentiels de données non relationnelles.
Figure 2 Solution d'entreprise typique créée sur une architecture à trois niveaux
Figure 2 Solution d'entreprise typique créée sur une architecture à trois niveaux
La logique métier inclut souvent la logique de transaction pour garantir que les transactions sont appliquées de façon atomique sur les divers systèmes de gestion de base de données. La logique métier peut également intégrer plusieurs services de niveau intermédiaire via HTTP, la mise en file d'attente de messages, les RPC, etc. L'architecture de la solution générale, cependant, reste essentiellement un modèle à trois niveaux.
Ce que la figure 2 n'illustre pas, c'est la complexité de la logique métier dans un environnement d'entreprise. Il semble que le serveur d'applications de cette illustration se concentre seulement sur l'affichage d'un formulaire basé sur un navigateur et la gestion des données soumises, mais cette représentation ne tient pas compte des flux de travail, de la conformité ou des exigences de gestion des informations. Pour répondre à ces exigences, vous devez fractionner la logique métier en deux : la logique de présentation et la logique de gestion des informations. Cela vous permet de combiner les composants de niveau intermédiaire en fonction des besoins sans recréer des composants à partir de zéro pour chaque solution.
La figure 3 illustre cette architecture. Le contenu ou les données sont au centre, entourées par la logique de gestion des informations, qui régit le contenu tout au long de son cycle de vie. La logique de présentation s'interface avec la logique de gestion des informations pour fournir l'accès aux données via l'interface utilisateur.
Figure 3 Séparation de la logique de présentation de la logique de gestion des informations
Figure 3 Séparation de la logique de présentation de la logique de gestion des informations

Collecte et traitement du XML
Dans les environnements orientés services (SOA, Service Oriented Architecture), le XML est la norme dominante utilisée pour définir et partager les données et les structures de données entre les composants. Le XML constitue donc un bon choix pour créer une interface entre les composants de présentation et de gestion des informations.
La communication doit fonctionner de deux façons : vous devrez traduire le code XML en document lisible par le navigateur, ainsi qu'en document XML généré par le formulaire. Jusqu'à récemment, la création d'applications de formulaires en XML nécessitait des compétences de programmation approfondies. C'était surtout le cas lorsque les données XML résultantes devaient correspondre à un schéma d'entreprise pour faciliter l'échange d'informations entre plusieurs sites.
Infopath 2007 facilite considérablement le développement des formulaires XML. Si une compréhension détaillée du XML est utile, les créateurs de formulaires et les utilisateurs chevronnés n'ont plus besoin d'être des génies du XML pour créer des applications de formulaires basées sur XML. Le créateur de formulaires importe simplement un document XML ou un schéma XML dans Infopath et mappe ensuite les nœuds d'attribut et d'élément individuels de cette source de données aux champs du formulaire. Un créateur de formulaires peut également partir d'un service Web ou d'une base données SQL Server®, ou encore d'un modèle vierge et créer un formulaire à partir de zéro, tandis qu'Infopath crée automatiquement le schéma sous-jacent et les liaisons de données en arrière-plan.
La standardisation des formulaires à l'aide des schémas Infopath et XML possède plusieurs avantages. S'ils disposent déjà d'un schéma XML bien défini, les créateurs de formulaires et les développeurs de composants de flux de travail et de gestion des informations peuvent créer des solutions suivant les mêmes structures de données. Si un créateur de formulaires part de zéro, les développeurs doivent attendre que le formulaire soit terminé pour voir comme il affectera les structures de données sous-jacentes. Une fois que ces dernières sont définies, les futures solutions, comme les modèles de formulaire, peuvent réutiliser les flux de travail et les composants de gestion des informations existants s'ils reposent sur les mêmes structures de données. Par ailleurs, les futurs flux de travail et composants de gestion des informations peuvent collaborer ensemble avec les formulaires et données existants. Si vous créez vos solutions de collecte de données à l'aide de schémas standard établis, les résultats deviennent encore plus flexibles. En fait, ces solutions seront compatibles avec toutes les solutions créées par d'autres entreprises qui utilisent les mêmes schémas.
J'ai créé un schéma DirectReports simple qui associe des employés avec des responsables. Les responsables peuvent utiliser le formulaire résultant pour évaluer leurs rapports directs. Vous pouvez retrouver le schéma, le formulaire et un fichier readme.htm contenant les instructions pour recréer le formulaire dans le dossier Direct Reports du téléchargement qui accompagne cet article, disponible à l'adresse technetmagazine.com/code08.aspx. Le formulaire est basique, mais il illustre le concept général.
Un point très important à noter : je n'ai pas créé de logique de validation dans Infopath, mais Infopath exige quand même que l'ID et les adresses de messagerie de l'utilisateur soient entrés dans un format spécifique (domaine\compte et destinataire@domaine.tld). Á défaut, le document XML résultant ne sera pas valide. Cela est dû au fait que le schéma XML définit ces formats. Vous pouvez enregistrer le formulaire avec des données non valides mais vous ne pouvez pas l'envoyer, comme illustré aux figures 4a et 4b. (J'ai ajouté une règle d'envoi factice au formulaire pour que vous puissiez le tester sans envoyer les données vers un emplacement réel). La validation d'Infopath 2007 vérifie automatiquement que le formulaire est entièrement rempli et qu'il ne contient pas ce type d'erreurs.
Figure 4a Des erreurs de validation empêchent l'utilisateur d'envoyer un formulaire
Figure 4a Des erreurs de validation empêchent l'utilisateur d'envoyer un formulaire
Figure 4b Message d'erreur généré
Figure 4b Message d'erreur généré
Le schéma XML sert de contrat entre la logique de présentation et la logique de gestion des informations. Infopath verrouille le schéma si le créateur de formulaires ne peut pas modifier intentionnellement les structures de données. Ceci est important parce que la modification d'un schéma XML établi peut potentiellement interrompre le fonctionnement des solutions d'entreprise existantes, telles que des modules de flux de travail que vous souhaitez utiliser avec le nouveau modèle de formulaires.
Infopath fournit une abondance de fonctionnalités permettant de créer une logique de présentation avancée dans les applications de formulaires. Vous pouvez utiliser des données issues de fichiers XML, de services Web, de bibliothèques et listes SharePoint, de bases de données, etc. pour intégrer des valeurs par défaut significatives. Vous pouvez modifier par des règles les valeurs de champ en fonction de la sélection de l'utilisateur, inclure une logique de validation, ajouter un code géré pour les exigences de personnalisation les plus avancées, et utiliser Forms Services pour rendre le modèle de formulaire accessible via le Web. Dans tous les cas, les données du formulaire rejoignent finalement la logique de gestion des informations en tant que document XML conforme à une définition de schéma.

Utilisation du XML ou des métadonnées
Vous vous demandez peut-être si vous devez appliquer la logique de gestion des informations directement au document XML envoyés ou s'il vaut mieux utiliser un analyseur qui extrait les informations nécessaires dans les métadonnées. SharePoint prend en charge les deux approches. Les développeurs sont habitués à travailler directement avec les documents XML, mais les métadonnées offrent plus de flexibilité.
Pour démontrer cela, j'ai créé un service Web simple qui analyse un document XML transmis à partir du formulaire Direct Reports illustré à la figure 4a. (Le code source, les fichiers d'installation et un fichier readme.htm contenant des instructions détaillées sont disponibles dans le dossier XMLParsingWebService du téléchargement d'accompagnement). Le service Web lit simplement l'ID d'utilisateur du responsable à partir du document XML, fractionne l'ID d'utilisateur en parties domaine et nom d'utilisateur, crée un message en basé sur ces parties et génère ensuite une exception générique pour renvoyer et afficher les informations traitées sous forme d'un pseudo-message d'erreur dans le formulaire d'Infopath. Il s'agit là d'une façon pratique d'ouvrir une boîte de dialogue contextuelle dans Infopath après l'envoi de données. Le service Web fonctionne très bien, mais si vous modifiez la source de données sous-jacente (par exemple, si vous renommez l'élément OrgPerson en Manager dans DirectReports.xsd et mettez à jour le formulaire Infopath avec le nouveau schéma comme présenté dans le fichier readme.htm), le service Web échoue. Mais cela ne devrait pas vous surprendre. Le document XML est maintenant différent, et l'ancienne expression XPath permettant d'accéder à l'élément d'ID de connexion n'est plus valide. Les schémas de OrgPerson et Manager sont presque identiques, les formulaires Infopath sont identiques et les résultats de traitement souhaités sont les mêmes, mais même si les différences sont minimes, vous devez toujours déployer et maintenir des services Web dupliqués.
Cette approche n'est pas intéressante si vous souhaitez réduire la quantité de code personnalisé sur vos serveurs d'applications. En revanche, la mappage des nœuds XML sur les champs de métadonnées et l'exécution du traitement basé sur les métadonnées vous permet d'utiliser les mêmes flux de travail et logique de gestion des informations pour les structures de données similaires, bien que les schémas XML soient différents. Vous devez simplement vous assurer que l'élément enfant est mappé sur le bon champ de métadonnées et que le format des données répond aux exigences de traitement. Vous pourrez ensuite réutiliser le code existant.
Le mappage des nœuds XML sur les champs de métadonnées est semblable à la liaison des nœuds XML aux contrôles de l'interface utilisateur dans un formulaire Infopath, comme illustré à la figure 5. Dans SharePoint, les champs de métadonnées correspondent aux colonnes définies au niveau du site ou de la liste et référencées dans les définitions de type de contenu. Les types de contenu définissent les caractéristiques des éléments de contenu, tels quel les champs de métadonnées, les flux de travail et les formulaires. Pour maintenir la synchronisation des champs de métadonnées d'un type de contenu avec les nœuds correspondants dans le document XML associé, SharePoint s'appuie sur un analyseur XML intégré qui exécute la promotion et la rétrogradation d'une propriété. Pendant la promotion d'une propriété, l'analyseur XML extrait les valeurs de nœud d'un document XML dans les colonnes correspondantes de la bibliothèque de documents. La rétrogradation d'une propriété constitue le processus inverse, dans lequel des valeurs de colonne sont prises de la bibliothèque de documents et réécrites dans le document. Le plus important, c'est que l'analyseur XML maintient la synchronisation des champs de métadonnées avec les nœuds XML correspondants.
Figure 5 Mappages de schéma XML entre Infopath et SharePoint
Figure 5 Mappages de schéma XML entre Infopath et SharePoint
Lorsque vous utilisez le modèle d'objet de SharePoint, vos composants WebPart, vos flux de travail et votre logique de gestion des informations peuvent fonctionner avec les champs de métadonnées ou avec les documents XML sous-jacents. La modification de la valeur d'un champ de métadonnées mappé modifie la valeur de nœud dans le document XML, et inversement. Toutefois, le fait de travailler directement sur le document XML couple étroitement la logique métier avec le schéma XML. En revanche, les champs de métadonnées mappés augmentent la réutilisabilité du code. Évidemment, vous devez choisir l'approche qui correspond à votre environnement, mais globalement, les solutions SharePoint qui reposent sur les champs de métadonnées offrent davantage de flexibilité et d'opportunités pour la réutilisation de code.
Pour illustrer la façon dont SharePoint associe les nœuds XML aux champs de métadonnées, j'ai inclus une fonctionnalité SharePoint dans les ressources associées pour configurer une bibliothèque de documents personnalisée (voir le fichier OrgPersonContentType.xml situé dans le dossier OrgPersonLib du téléchargement d'accompagnement). Le type de contenu d’OrgPerson référence quatre champs : UserID, FullName, EMail et Direct_x0020_Reports. FullName et Email sont des champs prédéfinis. UserID et Direct_x0020_Reports sont des champs personnalisés définis dans OrgPersonSiteColumns.xml.
Les définitions de champ sont assez simples. Il est possible de lier directement des champs aux nœuds XML dans les définitions de champ, mais il est également possible de remplacer cette information dans les types de contenu. J'ai décidé d'utiliser cette deuxième technique parce que cela me permet d'utiliser les champs personnalisés dans des types de contenu non apparentés aux documents XML, ainsi que dans des types de contenu qui reposent sur des structures XML différentes. Le type de contenu d’OrgPerson lie les champs de métadonnées aux nœuds XML qui correspondent dans leur organisation au schéma d’OrgPerson que j'ai abordé plus haut. Il y a également un fichier AdditionalContentTypes.xml qui définit d'autres types de contenu liant les mêmes champs de métadonnées aux différents nœuds XML. Vous pouvez voir les différences en examinant les expressions XPath dans les attributs Node (Nœud).
Les bibliothèques de documents du type OrgPersonLib peuvent enregistrer différents types de documents XML tout en exposant les valeurs de nœud dans les mêmes colonnes de bibliothèque. Cette technique de mappage simple vous permet également de réutiliser la logique de flux de travail et de gestion des informations puisque les quatre types de contenu (OrgPerson, Manager, Supervisor et User) référencent un jeu de champs de métadonnées commun.
La figure 6 illustre l'élément FieldRef du type de contenu OrgPerson pour Direct_x0020_Reports, qui mappe le champ sur les nœuds d'ID d'utilisateur de Direct Reports conformément à l'expression XPath /OrgPerson/direct-report/user-id. Puisque le document XML peut inclure de plusieurs entrées de rapport direct, il est important que vous spécifiiez un attribut Aggregation (Agrégation). Celui-ci définit la façon dont l'analyseur de XML gèrera la collection de valeurs renvoyée. Si vous omettez cet attribut, l'analyseur de XML extrait uniquement la première valeur de nœud. Les valeurs d'agrégation prises en charge sont sum (somme), count (compte), average (moyenne), min, max, merge (fusion), plain text (texte brut), first (premier) et last (dernier).
Figure 6 Champ de métadonnées mappés sur une expression XPath
Figure 6 Champ de métadonnées mappés sur une expression XPath
Tous les types de contenu de l'exemple utilisent la page standard upload.aspx en tant que DocumentTemplate pour que vous puissiez télécharger les fichiers XML vers la bibliothèque de documents lorsque vous cliquez sur le bouton Nouveau dans l'interface utilisateur SharePoint. Tant que vous téléchargez des fichiers possédant une extension .xml, SharePoint invoquera automatiquement l'analyseur XML intégré (à l'exception des fichiers WordProcessingML, pour lesquels SharePoint invoque un analyseur WordProcessingML). L'analyseur XML examine le fichier .xml téléchargé pour déterminer le type de contenu associé. Il le fait pour pouvoir extraire les valeurs de nœud des emplacements spécifiés dans les définitions de champ et exécuter la promotion de la propriété. (Vous pouvez vérifier ce processus en téléchargeant le fichier OrgPerson.xml inclus dans le dossier OrgPersonLib\XMLFiles.) La structure de ce document XML correspond aux expressions XPath spécifiées dans la définition de type de contenu d'OrgPerson. En conséquence, SharePoint extrait les données du fichier .xml, écrit les données dans les colonnes de bibliothèque correspondantes et affiche les données dans la page EditForm.aspx pour que vous puissiez vérifier et mettre à jour les propriétés du document qui ne sont pas marquées en lecture seule. La figure 7 illustre le formulaire EditForm.aspx avec les données extraites d'OrgPerson.xml.
Figure 7 Formulaire EditForm.aspx avec les données extraites
Figure 7 Formulaire EditForm.aspx avec les données extraites
Si vous modifiez la valeur des champs UserID, FullName ou EMail dans EditForm.aspx, SharePoint exécute une rétrogradation de propriété pour modifier les valeurs de nœud dans le document XML sous-jacent. Notez cependant que SharePoint n'applique pas de restriction du Schéma XML à moins que vous implémentiez vous-même la logique requise dans le formulaire.
SharePoint n'exécute pas non plus la logique de présentation d'une application de formulaires. Par exemple, lorsque vous modifiez le champ UserID, SharePoint ne valide pas que la nouvelle valeur est conforme aux conventions NetBIOS, pas plus qu'il ne met automatiquement à jour les champs FullName et EMail pour qu'ils correspondent à la nouvelle sélection. C'est pourquoi, si la modification d'un champ individuel peut provoquer des incohérences, vous devez indiquer la colonne correspondante dans la définition de type de contenu comme étant en lecture seule. Ceci oblige l'utilisateur à utiliser l'application de formulaires, par exemple Infopath, pour mettre à jour les données. Ainsi, l'analyseur XML appliquera toutes les modifications du document XML aux champs de métadonnées correspondants dans SharePoint.
Dans l'exemple OrgPersonLib, vous pouvez télécharger n'importe quel fichier .xml à partir du dossier OrgPersonLib\XMLFiles. Les fichiers .xml utilisent des structures de données très différentes, mais SharePoint reconnaît les types de contenu et applique les valeurs de nœud correctes dans les colonnes du site. Cela vient du fait que j'ai utilisé une instruction de traitement dans les fichiers XML pour associer les documents XML à leurs types de contenu correspondants. Cependant, le fichier OrgPerson.xml n'inclut pas ces informations, mais ce n'est pas un problème. Si SharePoint ne peut pas associer un document XML avec un type de contenu via une instruction de traitement ou le modèle de document, SharePoint utilise le type de contenu par défaut. Dans le cas d'OrgPersonLib, il s'agit du type de contenu d'OrgPerson, et le document XML est donc correctement analysé.
La figure 8 illustre comment vous pouvez associer explicitement un document XML avec un type de contenu. L'instruction de traitement MicrosoftWindowsSharePointServices définit le ContentTypeID comme 0x010100668E393E4F0EFF4294DBD202D5D8321D. Il se trouve qu'il s'agit de l'ID du type de contenu User, comme défini dans AdditionalContentTypes.xml.
Figure 8 Traitement des instructions et des données XML du fichier exemple User.xml
Figure 8 Traitement des instructions et des données XML du fichier exemple User.xml
L'analyseur XML traite l'instruction de traitement MicrosoftWindowsSharePointServices et écrit la valeur de ContentTypeID dans le champ de métadonnées ContentType. Tous les types de contenu SharePoint partagent ce champ de métadonnées parce qu'il est défini au niveau de la racine dans le type de contenu Système. Si vous ouvrez le fichier fieldswss.xml (situé dans le dossier %CommonProgramFiles%\MicrosoftShared\WebServerExtensions\12\Template\Features\Fields) sur un serveur SharePoint et que vous recherchez « MicrosoftWindowsSharePointServices », vous verrez comment SharePoint associe l'instruction de traitement avec le champ ContentType. L'attribut PITarget pointe vers MicrosoftWindowsSharePointServices (l'instruction de traitement), et PIAttribute pointe vers ContentTypeID (qui contient l'ID du type de contenu User).

Associations de types de contenu dans Infopath
Les détails techniques de l'analyse XML et des associations de types de contenu intimident de nombreux concepteurs de formulaires, mais Infopath 2007 s'occupe de tous les petits détails. Le fichier readme.htm qui accompagne l'exemple OrgPersonLib inclut des instructions pour publier le modèle de formulaire de Direct Reports dans SharePoint et créer un type de contenu qui crée un lien vers les mêmes champs de métadonnées (UserID, FullName, EMail et Direct_x0020_Reports). Vous pouvez facilement ajouter le nouveau type de contenu à la bibliothèque de documents d’OrgPersonLib via l'interface utilisateur SharePoint. Mais le nouveau type de contenu pointe également vers le modèle de formulaire Infopath comme modèle de document pour invoquer l'application de formulaires lors de la mise à jour des documents XML existants. La figure 9 illustre la façon dont l'Assistant de publication d'Infopath simplifie le mappage de propriété entre les valeurs de nœud XML et les colonnes de site SharePoint. Là encore, si vous associez les valeurs de nœud avec les colonnes de site existantes, vous pourrez réutiliser les composants SharePoint existants.
Figure 9 Mappage de propriété dans Infopath 2007
Figure 9 Mappage de propriété dans Infopath 2007

Conclusion
Ressources supplémentaires en ligne
  • Blog de l'équipe Infopath 2007
  • Spécifications et développement de schémas XML W3C
  • Introduction aux schémas XML
  • Flux de travail dans Office SharePoint Server 2007
  • InfoPath 2007 Forms Services

Grâce aux technologies disponibles dans Office, les architectes d'entreprise peuvent créer des solutions de collecte de données qui favorisent la réutilisation de code et l'échange d'informations. Infopath 2007 permet aux services de créer des solutions capables d'extraire des informations de diverses sources, et les données peuvent être ensuite envoyées à divers systèmes, tels que SharePoint. SharePoint fournit également aux développeurs un jeu complet de services Web et d'interfaces pour créer des composants de flux de travail et de gestion des informations. En hébergeant ces composants sur des serveurs SharePoint centralisés, les services possèdent ensuite l'infrastructure dont ils ont besoin pour créer leurs applications individuelles.
Par ailleurs, les services individuels peuvent créer plus rapidement leurs solutions de collecte de données. La conformité aux règlementations et les autres exigences commerciales globales peuvent être gérées à un niveau interservices, et la facilité de gestion ainsi que la fiabilité de l'environnement informatique augmentent avec l'utilisation d'un nombre moins élevé de composants personnalisés sur les serveurs d'applications.

Keith Deshaies est rédacteur technique indépendant et analyste informatique pour une grande entreprise de télécommunications. Il est spécialiste des technologies Microsoft Office et SharePoint, et est membre de la Society for Technical Communication (STC).
© 2007 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. Toute reproduction, totale ou partielle, est interdite sans autorisation préalable.


 SharePoint: Cr&#233;ation d'une infrastructure d'enqu&#234;te puissante
SharePoint Jim Bradley

Création d'une infrastructure d'enquête puissante
Vue d'ensemble:
  • Planification et implémentation d'une solution d'enquête
  • Collecte et traitement des résultats d'une enquête dans les bibliothèques SharePoint
  • Gestion des problèmes de performances et de sécurité

Vous ne pouvez pas prendre les bonnes décisions sans informations. L'intuition ne suffit pas, surtout si vos décisions ont un impact sur votre entreprise. Ceci est vrai qu'il s'agisse de choisir le local dans lequel vous voulez organiser une réception pour les membres de votre équipe
ou d'affecter 50 % des ressources de votre entreprise au lancement d'un nouveau produit. Mais comment obtenir ces informations ?
Les enquêtes offrent un moyen efficace et peu onéreux de recueillir des commentaires sur pratiquement tout ce que vous voulez savoir : les clients sont-ils satisfaits de vos produits, les employés ont-il aimé les sandwichs que vous leur avez offerts lors de la dernière réunion, etc. Les enquêtes livrent les informations dont vous avez besoin pour améliorer et développer vos produits, systèmes et processus. La question est de savoir comment vous, en tant que professionnel de l'informatique, pouvez implémenter un système d'enquête capable de recueillir et de stocker des données afin qu'elles puissent être utilisées à bon escient ?
Vous disposez probablement déjà d'un ou plusieurs outils permettant de collecter, structurer et analyser ces données. Microsoft® Office System 2007 vous propose ces outils et vous permet de les utiliser en toute facilité. Il existe, en fait, de nombreuses façons de mener une enquête. L'essentiel est d'adapter l'approche à vos besoins particuliers. Par exemple, les enquêtes par courrier électronique constituent un bon moyen de recueillir des données de manière impromptue et en temps réel lorsque le nombre de répondants est relativement réduit et que les données en question ne sont pas d'une importance critique. Pour plus d'informations, consultez l'encadré « Utilisation du courrier électronique pour effectuer des enquêtes rapides » ci-dessous. En revanche, les enquêtes sur des bases de données sont préférables dans le cas d'initiatives plus complexes qui incluent un grand nombre de répondants et concernent des données stratégiques. Pour plus d'informations à ce sujet, consultez l'encadré « Création d'une solution d'enquête sur base de données » ci-dessous.
Dans cet article, je me concentrerai sur une autre solution, plus complète et flexible : les enquêtes en ligne basées sur SharePoint®. Cette méthode convient aux enquêtes stratégiques et non stratégiques indépendamment du niveau de complexité. Dans la mesure où les études SharePoint sont basées sur le Web, toute personne disposant d'un accès Internet peut y prendre part, y compris les personnes utilisant des appareils mobiles. Avec une enquête SharePoint, les réponses peuvent être nominatives ou anonymes, les résultats sont disponibles en temps réel et vous avez même accès à des outils d'analyse.
Ce type d'enquête est implémenté par le biais de Windows® SharePoint Services 3.0 (WSS) avec Forms Server et InfoPath® ou Microsoft Office SharePoint Server 2007 (MOSS) avec Forms Services et InfoPath® (voir la figure 1 pour une description de chacune de ces technologies). Comme les deux scénarios offrent essentiellement les mêmes fonctionnalités, je me concentrerai, dans cet article, sur la dernière combinaison de technologies. Pour une comparaison complète de produits SharePoint et de leurs fonctionnalités, consultez le document Téléchargement de la comparaison des produits Microsoft Office SharePoint Server 2007 à la page office.microsoft.com/en-us/sharepointserver/HA101978031033.aspx.
Figure 1 Technologies Microsoft permettant d'effectuer des enquêtes SharePoint (Close Figure 1)

Technologie | Description
Microsoft Office InfoPath 2007 | Microsoft Office InfoPath 2007 est un outil de création de formulaires et de collecte d'informations. Pour plus d'informations, voir office.microsoft.com/infopath.
Windows SharePoint Services 3.0 | Précédemment appelé SharePoint Team Services, Windows SharePoint Services 3.0 constitue la base de la création d'applications SharePoint étendues. Pour plus d'informations, voir microsoft.com/technet/windowsserver/sharepoint/techinfo/overview.mspx.
Microsoft Office SharePoint Server 2007 | Microsoft Office SharePoint Server 2007 (anciennement SharePoint Portal Server 2003) offre une infrastructure côté serveur qui transforme les clients Office 2007 en créateurs et consommateurs de contenu pour les applications SharePoint. Pour plus d'informations, voir microsoft.com/sharepoint.
InfoPath Forms Services, Microsoft Office Forms Server 2007 | InfoPath Forms Services permet aux utilisateurs de remplir des formulaires InfoPath dans un navigateur Web sans disposer d'InfoPath, ce qui rend les enquêtes compatibles avec plusieurs plates-formes et navigateurs. Forms Services nécessite Windows SharePoint Service 3.0, bien que les mêmes fonctionnalités soient également disponibles dans un produit autonome appelé Microsoft Office Forms Server 2007. Pour plus d'informations sur Forms Services, voir microsoft.com/ms540731. Pour plus d'informations sur Forms Server, voir office.microsoft.com/en-us/formsserver/FX100490391033.aspx.

Planification et implémentation
Lors de la conception d'une enquête, vous devez tenir compte de plusieurs facteurs. La conception exige une analyse approfondie, vous devez donc prévoir tout le temps nécessaire pour bien élaborer votre enquête. Pendant la phase de planification initiale, vous devez définir le problème et le type de données que vous souhaitez obtenir, choisir les technologies que vous devez utiliser et déterminer les conditions budgétaires et administratives. Vous pouvez ensuite passer à l'implémentation. Le flux de travail global se compose des étapes suivantes : conception d'un formulaire d'enquête, publication du formulaire, collecte et validation des réponses, agrégation et analyse des données et enfin publication des résultats.
Le flux de travail de l'implémentation d'une enquête inclut généralement au moins un concepteur d'enquête, des répondants et un analyste (comme illustré à la figure 2). Bien sûr, la complexité des flux de travail d'une enquête peut varier énormément. Une enquête à l'échelle de l'entreprise, par exemple, fera probablement l'objet de plusieurs tours de modifications et d'approbations de la conception. Elle utilisera probablement des rappels automatisés envoyés aux répondants, offrira diverses formes d'assistance et de dépannage, proposera aux responsables des vues des résultats en temps réel et suivra une procédure claire l'élaboration et la publication de l'analyse finale. Un flux de travail complexe de ce type nécessite un système Web capable de prendre en charge les fonctionnalités capacités de flux de travail et de génération de rapports.
Figure 2 Flux de travail d'une enquête, de la conception du formulaire à l'analyse des données
Figure 2 Flux de travail d'une enquête, de la conception du formulaire à l'analyse des données

Que rechercher dans une solution complète
Une solution d'enquête complète devra généralement répondre à une longue liste d'exigences clés. La solution doit permettre aux équipes ou aux divisions individuelles de créer, disséminer et collecter les résultats de l'enquête, avec une intervention minimale du service informatique et sans nécessiter de compétences dans le domaine de la programmation. L'outil de création de formulaires doit offrir une interface WYSIWYG conviviale ainsi qu'un riche jeu de fonctionnalités qui facilitent la logique de canalisation, la logique de branchement et la logique conditionnelle. Il va également sans dire, que l'outil de création de formulaires d'enquête doit s'adapter à toutes les enquêtes, quelles que soient leur envergure et leur complexité.
De plus, l'enquête doit être exécutée sur un serveur Web et s'intégrer à une base de données SQL Server® centralisée, évitant ainsi aux services individuels de devoir maintenir des bases de données SQL dédiées. Toute personne disposant d'un accès à Internet et utilisant un navigateur Web standard doit pouvoir participer à l'enquête.
Le processus d'enquête doit pouvoir être facilement lié aux flux de travail et doit répondre aux besoins de l'entreprise sans en compromettre la sécurité. Enfin, pour de nombreuses organisations, la solution d'enquête doit offrir une prise en charge multilingue.
Utilisés ensemble, MOSS 2007, WSS 3.0 et InfoPath 2007 créent une solution intégrée répondant à toutes ces exigences. La figure 3 illustre l'intégration des divers composants à la pile SharePoint. Toutefois, avant d'aborder cette solution d'enquête complète, je voudrais jeter un coup d'œil sur ce que vous pouvez faire avec WSS seul. Ensuite, je vous montrerai ce que vous pouvez faire lorsque vous ajoutez MOSS et InfoPath à WSS.
Figure 3 Composants de la pile SharePoint
Figure 3 Composants de la pile SharePoint

Utilisation de WSS seul
Même sans les autres composants, vous pouvez utiliser WSS pour créer et implémenter une enquête. En fait, WSS comprend un modèle d'enquête intégré qui facilite le processus d'enquête. Pour créer une enquête, cliquez sur Démarrage | Tous les programmes | Outils d'administration et sélectionnez Administration centrale SharePoint 3.0. Dans la liste déroulante, sélectionnez Actions du site puis cliquez sur Créer. La page Créer affiche alors les en-têtes Bibliothèques, Communications, Suivi, Listes personnalisées et Pages Web. Sous chaque en-tête se trouvent des options de modèles. Sous Suivi, cliquez sur Enquête.
À ce stade, WSS vous guide pas-à-pas tout au long du processus de création de l'enquête. Vous pouvez créer des questions ouvertes ou fermées et spécifier si une question peut être laissée sans réponse. Vous pouvez même créer des enquêtes à logique de branchement qui dirigeront les participants sur des chemins différents en fonction de leurs réponses. Les enquêtes peuvent être anonymes ou, si nécessaire, identifier le répondant. Vous pouvez également attribuer un flux de travail à l'enquête.
L'enquête repose sur les navigateurs, si bien qu'aucun logiciel spécial n'est nécessaire pour créer ou répondre à l'enquête. Pour participer à l'enquête, il vous suffit de vous rendre sur le site de SharePoint et de remplir le formulaire. Les autorisations d'accès sont héritées du site parent mais peuvent être modifiées directement à partir du menu Actions de SharePoint. Les réponses de l'enquête sont enregistrées sur le site d'enquêtes de SharePoint et les résultats peuvent être affichés sous forme de liste ou de résumés graphiques, ou exportés vers Excel®.
Encore une fois, cette enquête (dont le processus est illustré à la figure 4) peut être réalisée avec WSS sans aucun logiciel supplémentaire. En supposant que vous avez déjà mis en place un site SharePoint bien conçu, un service individuel doit pouvoir créer et implémenter une enquête sans aucune assistance ou avec une assistance minimale du service informatique.
Figure 4 Enquête basée sur Windows SharePoint Services
Figure 4 Enquête basée sur Windows SharePoint Services
L'une des limitations du processus basé sur WSS uniquement devient apparente lorsqu'une enquête doit être personnalisée. WSS crée des listes d'enquête à l'aide de diverses pages ASPX par défaut (AllItems.aspx, DispForm.aspx, EditForm.aspx, NewForm.aspx, overview.aspx et summary.aspx). Bien que la personnalisation des pages soit possible au-delà des paramètres inhérents à WSS, la plupart des fonctionnalités proviennent de composants WebPart qui ne sont pas facilement personnalisables. En outre, la solution WSS uniquement convient davantage aux enquêtes qui ne doivent pas intégrer des sources de données externes telles que le système ERP de votre entreprise.
Si vous devez étendre la solution d'enquête pour inclure une interface utilisateur personnalisée ou l'intégrer à d'autres sources de données, vous devriez sérieusement envisager la solution qui combine MOSS, WSS et InfoPath.

Solution d'enquête complète
MOSS inclut de nombreuses fonctionnalités qui étendent WSS, mais pour le moment, je souhaite me concentrer sur un seul composant : InfoPath Forms Services. Avec InfoPath Forms Services, seul l'ordinateur du concepteur d'enquête doit être équipé d'InfoPath. Les autres peuvent accéder à l'enquête par le biais d'un navigateur Web.
Dans InfoPath, le concepteur sélectionne l'option permettant au formulaire d'être rempli à l'aide d'un navigateur. InfoPath crée alors un formulaire pouvant être affiché sur n'importe quel navigateur Web standard. Ce formulaire Web fonctionne de la même façon qu'un formulaire InfoPath, à l'exception de certaines fonctionnalités InfoPath avancées (telles que rôles d'utilisateur, texte vertical, actions de boîte de dialogue, et contrôles avancés). Le formulaire est ensuite publié sur une bibliothèque ou liste SharePoint. Entre temps, une autre fonctionnalité d'InfoPath appelée Vérificateur de conception s'assure que le formulaire d'enquête est compatible avec InfoPath Forms Services.
Il n'y a pas de différence entre une bibliothèque de formulaires InfoPath et une bibliothèque de formulaires compatible avec les navigateurs. Dans tous les cas, les modèles de formulaire sont des fichiers .xsn. Soit InfoPath Forms Services affiche le formulaire dans un navigateur, soit le fichier est téléchargé sur le client et affiché directement dans InfoPath. Si un concepteur d'enquête dispose au moins de l'autorisation Collaborateur pour un site SharePoint, il peut utiliser les bibliothèques de documents SharePoint pour publier des modèles de formulaires.
Un répondant disposant d'un navigateur standard peut participer à l'enquête InfoPath Forms Services, et ses réponses sont renvoyées au serveur SharePoint. Dans SharePoint, les données peuvent être stockées, traitées, partagées et analysées de façon sécurisée (à l'aide d'Excel, de SQL ou de tout autre outil disponible sur le réseau). Tout ceci peut être effectué avec une assistance minimale du service informatique.

Problèmes de publication (postback) et de performances
Il existe toutefois des problèmes de performances potentiels. Par exemple, les formulaires compatibles avec les navigateurs s'exécutent dans le contexte d'un compte système sur le serveur SharePoint, ce qui signifie que si un formulaire inclut du code ou des connexions de données (voir figure 5), le code ou les connexions de données sont exécutés sur le serveur, et non sur le client. De plus, les formulaires complexes peuvent avoir besoin de renvoyer fréquemment des données au serveur, ce qui augmente la charge de travail du serveur.
Figure 5 Solution d'enquête InfoPath Forms Services avec connexions de données supplémentaires
Figure 5 Solution d'enquête InfoPath Forms Services avec connexions de données supplémentaires
Plus une enquête utilise les publications (postback), plus la charge de travail imposée aux serveurs Web frontaux est élevée. Cependant, il y a des moments où la publication (postback) est inévitable, notamment lors de l'implémentation d'un branchement de réponses. Pour réduire les effets potentiellement négatifs sur le système, les concepteurs d'enquête doivent être conscients des problèmes de publication (postback) et savoir comment implémenter au mieux les enquêtes lorsque la publication (postback) ne peut pas être évitée. Par exemple, les concepteurs doivent utiliser des enquêtes de type Assistant qui renvoient les données au serveur lorsque l'utilisateur clique sur le bouton Suivant. Ceci permet de réduire le nombre de publications (postbacks).
InfoPath Forms Services doit maintenir l'état de chaque formulaire actuellement actif sur le serveur. L'expiration de session par défaut est de 60 minutes, ce qui signifie que si une enquête complexe prend plus de 60 minutes à remplir et qu'il n'y a aucune publication (postback) durant cette période, la session sera fermée sur le serveur. Les données entrées mais non envoyées sont perdues, et le répondant doit recommencer depuis le début.
Ces problèmes s'amplifient encore lorsque plusieurs répondants travaillent en même temps sur un formulaire d'enquête et lorsque les enquêtes comportent une grande quantité de sources de données ou incluent des pièces jointes. Pour plus d'informations, consultez l'article « Amélioration des performances des formulaires InfoPath 2007 » à l'adresse msdn2.microsoft.com/bb380251.

Considérations relatives à la sécurité
Bien qu'une étude approfondie de la sécurité n'entre pas dans le cadre de cet article, il est important de souligner quelques considérations liées à la sécurité. Tout d'abord, SharePoint et InfoPath 2007 adhèrent à l'initiative Trustworthy Computing Initiative adoptée par Microsoft au début de l'année 2002. Les formulaires InfoPath ont trois niveaux de sécurité possibles : Limité, Domaine et Confiance totale. Et par défaut, InfoPath détermine et applique automatiquement un niveau de sécurité recommandé au formulaire.
La fonctionnalité de signature numérique peut garantir qu'un formulaire est créé ou rempli par un utilisateur spécifique et qu'il n'est pas modifié. Enfin, IRM (Information Rights Management) peut limiter l'accès aux modèles et aux formulaires complétés. Pour empêcher des utilisateurs malveillants de renvoyer des formulaires contenant du code nuisible ou d'utiliser la plate-forme SharePoint pour lancer des attaques contre d'autres systèmes via les connexions de données, InfoPath fait la distinction entre les formulaires déployés par les utilisateurs et les formulaires déployés par les administrateurs. Les utilisateurs peuvent télécharger les formulaires à condition qu'ils ne contiennent pas de code personnalisé et qu'ils utilisent uniquement le niveau de sécurité Domaine, ce qui limite les connexions de données entre les domaines. Ces paramètres sont suffisants pour la plupart des solutions d'enquête.
Lorsque la conception d'une enquête nécessite le niveau de sécurité Confiance totale pour offrir un accès illimité aux ressources, la publication du formulaire nécessite l'approbation de l'administration informatique. Par défaut, l'approbation de l'administration informatique est requise lorsqu'un formulaire contient du code géré, lorsque des connexions de données inter-domaines sont définies dans le modèle de formulaire, lorsque le formulaire utilise des connexions de données définies dans la bibliothèque de connexions de données centralisée et lorsque l'option de prise en charge du rendu sur les appareils mobiles a été activée.
Pour le niveau de sécurité Confiance totale, le concepteur d'enquête crée un formulaire InfoPath et enregistre le modèle de formulaire. Le modèle ou fichier .xsn est envoyé à l'administrateur SharePoint sous forme de pièce jointe à un message électronique ou est transmis via un partage réseau. L'administrateur informatique vérifie ensuite les fonctionnalités de l'enquête et l'éventuel code qu'elle contient avant de la placer sur le système de production. L'administrateur informatique termine le déploiement en téléchargeant le modèle d'enquête sur une collection de sites et en activant le modèle d'enquête. Ces deux procédures sont effectuées sur la page Gestion des applications de la console Administration centrale de WSS. Le résultat final est qu'un administrateur informatique peut déléguer la publication des formulaires aux services individuels tout en continuant à superviser le processus de publication si les formulaires dépassent le cadre des activités de collecte de données normales.
La supervision de l'administrateur informatique est nécessaire dans certains scénarios courants : lorsque les formulaires doivent être remplis avec des données par défaut et lorsque les résultats de l'enquête sont envoyés à plusieurs sources de données. Par défaut, les modèles de formulaire Autorisation des domaines ne peuvent pas établir de connexion de données entre les domaines, mais il existe des mesures que vous pouvez prendre pour lever cette restriction, notamment :
  • Octroyer les autorisations de niveau Confiance totale au formulaire.
  • Créer une Autorisation des domaines en utilisant des connexions de données provenant de la bibliothèque de connexions de données.
  • Utiliser une Autorisation de domaine avec la bibliothèque de connexions à gestion centralisée.
Les options de Confiance totale et de bibliothèque de connexions à gestion centralisée nécessitent l'approbation de l'administrateur durant la publication des formulaires. Toutefois, la bibliothèque de connexions de données (DCL) permet aux formulaires publiés par l'utilisateur de franchir les limites du domaine en utilisant la DCL maintenue au niveau de la collection de sites. Cette DCL peut être sous le contrôle du service individuel. Toutefois, il est important de comprendre qu'en autorisant les services individuels à définir leurs propres connexions de données basées sur serveur, vous risquer de créer un problème de sécurité.
L'option la plus sûre consiste à définir des connexions de données dans la bibliothèque de connexions à gestion centralisée et de demander ensuite à un administrateur informatique de déployer les formulaires d'enquête avancés qui utilisent ces connexions de données. La bibliothèque de connexions à gestion centralisée présente en effet l'avantage d'être disponible sur toutes les collections de sites et sur l'ensemble de la batterie de serveurs. Ceci permet à l'administrateur de définir les paramètres d'authentification centraux pour l'accès aux sources de données qui ne se trouvent pas sur le serveur SharePoint local. Pour plus d'informations, consultez l'article en ligne intitulé « À propos des connexions de données, de l'authentification et du mappage d'accès alternatif » à l'adresse msdn2.microsoft.com/ms771995.

Conclusion
Les enquêtes constituent un moyen très efficace de recueillir des informations stratégiques (et des informations moins stratégiques) pour chaque entreprise et à tous les niveaux. Toutefois pour créer une enquête efficace, vous devez disposer des bons outils, d'un plan solide et d'un mélange équilibré d'art et de science. Une bonne planification vous aidera à créer une solution permettant à chaque service de votre organisation de créer, d'envoyer, de recevoir, de stocker et d'analyser les données de l'enquête.
Les meilleures enquêtes sont celles qui renvoient des informations pertinentes au moment opportun. Pour recueillir des informations au moment opportun, votre solution doit faciliter la création et la gestion d'enquêtes au niveau des services sans compromettre la sécurité. InfoPath permet aux spécialistes de l'information de créer des enquêtes de haute qualité en leur proposant une interface intuitive pouvant être utilisée avec une formation réduite. InfoPath vous permet également de recueillir des données d'enquête de haute qualité avec un minimum d'administration informatique.
InfoPath 2007 fonctionne de façon transparente avec WSS et MOSS pour créer des solutions d'enquête riches et complexes, compatibles avec plusieurs plates-formes et navigateurs. Ceci permet à votre entreprise d'exploiter l'un de ses actifs le plus importants : les informations.
Utilisation du courrier électronique pour effectuer des enquêtes rapides
Les enquêtes impromptues sont idéales pour collecter rapidement des données auprès d'un petit groupe de répondants. Les enquêtes par e-mail sont parfaites pour ce type de recherche en temps réel : elles peuvent être rapidement créées et ne nécessitent pas de serveurs dédiés ou d'assistance du service informatique. L'une des méthodes les plus simples, celle des boutons de vote intégrés à un message Microsoft® Outlook®, vous permet d'envoyer, de recevoir et de mettre en tableau une enquête unidimensionnelle.
Une fois que vous avez lancé une enquête à boutons de vote, vos destinataires reçoivent un message électronique qui contient un espace de vote affichant une liste déroulante d'options. Le destinataire répond en cliquant sur l'une des options. Une fenêtre contextuelle affiche ensuite le message « Vous avez choisi de répondre : <votre choix> », et propose d'Envoyer ou de Modifier la réponse.
Le concepteur d'enquête, ou un délégué désigné, reçoit les réponses individuelles dans des messages électroniques et met manuellement les résultats en tableau. Si l'enquête inclut un grand nombre de destinataires, vous devez créer une règle dans Outlook (à l'aide de l'Assistant Gestion des messages) afin d'acheminer automatiquement les réponses vers un dossier dédié, comme illustré à la figure A.
Figure A Les réponses de l'enquête sont automatiquement routées vers un dossier dédié
Figure A Les réponses de l'enquête sont automatiquement routées vers un dossier dédié
Les boutons de vote, cependant, sont assez limités. Les formulaires d'enquête insérés dans des messages électroniques peuvent recueillir beaucoup plus de données, mais la récupération et la mise en tableau manuelles de ces données peuvent être très difficilement gérables. L'un des aspects plus complexes des enquêtes par courrier électronique réside dans l'utilisation de VBScript pour personnaliser les enquêtes Outlook. Les formulaires personnalisés peuvent faciliter la collecte et l'analyse de plus grandes quantités de données plus complexes. Pour accéder aux fonctionnalités de développeur dans Outlook 2007, vous devez d'abord afficher l'onglet Développeur, illustré à la figure B.
Figure B Onglet Développeur dans Outlook 2007
Figure B Onglet Développeur dans Outlook 2007
La création de formulaires personnalisés Outlook n'entre pas dans les compétences normales d'un utilisateur Outlook typique. Toutefois, InfoPath® 2007 propose de nouvelles fonctionnalités qui facilitent l'implémentation de formulaires personnalisés. Sans avoir besoin de compétences spéciales, les concepteurs d'enquête peuvent créer des formulaires et modèles InfoPath de trois façons :
  • En important des documents Microsoft Word ou des feuilles de calcul Excel® existants.
  • En téléchargeant des modèles InfoPath conçus à l'avance et en les modifiant de sorte qu'ils répondent à des besoins spécifiques.
  • En concevant des modèles de toutes pièces à l'aide de la fonctionnalité de conception de formulaires d'InfoPath.
Dans les trois cas, les modèles peuvent être publiés vers Outlook et distribués par e-mail. Avec InfoPath 2007 et Outlook 2007, quelques heures et peu ou pas d'aide du service informatique, un spécialiste de l'information peut créer une enquête de vingt questions, l'envoyer par e-mail à un groupe, recevoir les résultats dans Outlook et analyser les données dans une feuille de calcul Excel.
La seule condition est que tous les participants aient installé InfoPath et Outlook sur leur ordinateur. Et comme InfoPath 2007 étend effectivement les fonctionnalités d'Outlook 2007, les destinataires peuvent répondre à l'enquête depuis l'interface même d'Outlook.
En fait, InfoPath prend en charge bien plus que les enquêtes par e-mail. Vous pouvez créer des modèles qui interrogent et envoient des données aux services Web et aux bases de données SQL Server®, ou utiliser un document XML ou un schéma XML existant comme source de données. En d'autres termes, avec un minimum de formation et très peu ou pas de code supplémentaire, un utilisateur peut exploiter la puissance et la flexibilité du XML.
Les enquêtes par courrier électronique présentent quelques inconvénients de taille. Par exemple, elles ne sont pas anonymes, vu que les adresses de messagerie des répondants sont disponibles. Ceci peut diminuer la franchise des répondants et fausser les résultats. Il existe également des problèmes de sécurité, notamment les attaques par hameçonnage, qui limitent le type et la nature des informations que vous pouvez recueillir avec cette méthode.

Création d'une solution d'enquête sur base de données
Les enquêtes par courrier électronique ne conviennent pas aux études complexes qui impliquent un grand nombre de participants. L'utilisation d'un dossier dans Outlook® ne suffit pas pour gérer et analyser toutes les données. Une solution plus robuste consiste à diriger les réponses d'une enquête vers une base de données. Les fonctionnalités de stockage, d'indexage, de traitement et de création de rapports avancées dont vous bénéficiez avec une base de données peuvent être extrêmement utiles. Microsoft® SQL Server® 2005, par exemple, inclut SQL Server Reporting Services qui peut être utilisé pour traiter les résultats d'une enquête automatiquement.
Pour créer un modèle de formulaire InfoPath qui envoie les réponses à une base de données, vous devez tout d'abord créer une base de données Access® ou SQL Server sur votre réseau. Ensuite, dans InfoPath®, vous pouvez lancer le processus de création de modèle en utilisant l'Assistant Créer un modèle de formulaire. Celui-ci ouvre l'Assistant Connexion de données qui vous guide tout au long du processus de liaison de votre formulaire à la base de données. InfoPath utilise les informations de votre base de données pour créer la requête de source de données et les champs de données.
La plupart des employés sont suffisamment compétents pour compléter et envoyer l'enquête avec une formation ou une aide réduite. Toutefois, dans un tel scénario (où les données sont directement transmises à la base de données), les répondants doivent avoir installé InfoPath et Outlook sur leur ordinateur, et ils doivent être derrière le pare-feu de l'entreprise ou disposer d'un accès VPN au réseau de l'entreprise.
L'Assistant Connexion de données d'InfoPath n'interagit qu'avec Microsoft SQL Server 2000 ou versions ultérieures et les bases de données Access qui utilisent ADOXML en mode natif. L'envoi de données directement à la base de données n'est pas pris en charge sur les autres bases de données. D'autres restrictions sont liées au fait qu'InfoPath ne permet pas aux contrôles de texte riche d'être liés aux champs de base de données et que les grandes quantités de types de données binaires ne sont pas prises en charge.
Lorsque la topologie des réseaux devient plus vaste et complexe, il devient plus avantageux d'envoyer les données à un service Web intermédiaire avant de les transmettre à une base de données. En détachant le formulaire d'enquête de la base de données au moyen d'un service Web, vous facilitez également l'implémentation d'une logique métier sur le serveur Web. Et puisque le service Web est exécuté sur des connexions HTTP ou HTTPS, les participants peuvent envoyer des données à travers les pare-feux, comme illustré à la figure C. Notez toutefois que les répondants doivent disposer d'InfoPath 2003 ou 2007.
L'inconvénient de ce scénario est que l'implémentation nécessite la participation du service informatique. Cet article ne propose pas de décrire en détail ce processus, mais je préfère vous avertir qu'il n'est pas du tout facile de créer une solution de base de données de toutes pièces. Une telle solution nécessite une planification approfondie, une conception de l'enquête solide, la programmation du service Web et la conception de la base de données. InfoPath 2007 simplifie l'aspect de conception des formulaires du processus, mais la solution complète nécessite de solides compétences dans les domaines de la programmation et de la conception de bases de données. Ajoutez à cela des fonctionnalités avancées telles que la prise en charge des flux de travail ou de plusieurs langues et le coût de l'implémentation augmente sensiblement.
Figure C Flux de données InfoPath via un service Web
Figure C Flux de données InfoPath via un service Web

Jim Bradley est propriétaire de CoyoteTech LLC, une entreprise de communications techniques spécialisée dans la documentation d'assistance utilisateur pour les produits de serveur Microsoft. Ses projets de documentation incluent « Protection du transport Edge et de la messagerie Microsoft Exchange Server 2007 », « Passage aux 64 bits avec Microsoft Exchange Server 2007 » et « Guide de référence technique de Microsoft Exchange 2003 ».


 SharePoint: Normalisez la gestion des donn&#233;es gr&#226;ce aux types de contenu personnalis&#233;s
SharePoint Pav Cherny

Normalisez la gestion des données grâce aux types de contenu personnalisés
Vue d'ensemble:
  • Gestion du cycle de vie des contenus avec SharePoint
  • Création de panneaux Informations sur le document
  • Modification des documents Office et SharePoint à l'aide d'Infopath
Télécharger le code de cet article: ContentTypes2008_02.exe (779KB)

Le grand nombre de documents et autres éléments de contenu généralement se trouvant dans un environnement d'entreprise présente des difficultés commerciales et techniques pour une gestion des documents, des
métadonnées et des comportements de façon centralisée et réutilisable. Microsoft® Office SharePoint® Server 2007 favorise la collaboration à l'échelle l'entreprise en permettant à diverses équipes d'une entreprise de partager des espaces de travail sur des sites Web, des bibliothèques de documents et des listes.
SharePoint 2007 permet la normalisation de nombreux aspects du contenu et des caractéristiques de cycle de vie par le biais des types de contenu. Les types de contenu de site sont des définitions de métadonnées qui peuvent être établies indépendamment de tout(e) site, collection de sites, liste ou bibliothèque de documents spécifique. Ceci vous permet de définir des propriétés, des flux de travail, des stratégies de gestion des informations et d'autres éléments de façon systématique à l'échelle de l'entreprise, tout en permettant à certains services ou propriétaires de site de personnaliser des types de contenu à des fins spécifiques.
Dans cet article, je vous montrerai comment utiliser le nouveau modèle de contenu SharePoint inclus dans Windows® SharePoint Services (WS) 3.0 et Microsoft Office SharePoint Server (MOSS) 2007 afin de créer des hiérarchies pour les contenus d'entreprise en vous basant sur des caractéristiques générales. Ces hiérarchies de contenu permettent l'application uniforme des métadonnées, flux de travail et stratégies de gestion des informations à un niveau global, tout en offrant une flexibilité permettant de répondre aux besoins de gestion de contenu uniques au niveau des sites, des collections de sites, des bibliothèques de documents et des listes.
Pour illustrer certains des aspects bas niveau des types de contenu de SharePoint, j'ai inclus plusieurs outils personnalisés dans les ressources associées, et j'ai également inclus le code source au cas où vous souhaiteriez développer ces outils en fonction de vos besoins spécifiques. Gardez juste à l'esprit que ces outils n'ont pas été testés à fond et ne doivent pas être utilisés sur un système de production. Vous pouvez télécharger le code à partir du site Web de TechNet Magazine, à l'adresse technetmagazine.com/code08.aspx.

Définitions des cycles de vie du contenu et des types de contenu
Ressources SharePoint
  • Blog de l'équipe InfoPath
  • Flux de travail dans Office SharePoint Server 2007
  • Webcast TechNet : Installation et configuration de la recherche dans SharePoint Server 2007
  • InfoPath Forms Services

Il y a beaucoup de détails à prendre en compte lorsque l'on gère des documents et d'autres contenus dans une entreprise. Il est notamment nécessaire de définir quelles personnes ou quels processus doivent exécuter quelle action lorsque le contenu est créé, publié, archivé ou détruit. Il est également souvent nécessaire pour une entreprise de développer des modèles spécifiques pour la création de contenu, de définir des rôles pour attribuer des responsabilités et des privilèges d'accès aux utilisateurs, de fournir un contrôle de version, de contrôler la conformité, de stocker et d'archiver, de définir des métadonnées etc.
Quelle que soit la complexité du cycle de vie d'un contenu particulier, le modèle de contenu SharePoint reconnaît qu'il existe certaines caractéristiques générales et certaines phases typiques qui déterminent la façon dont les éléments individuels du contenu doivent être gérés. Par exemple, vous pouvez structurer la création de contenu à l'aide de modèles et de formulaires de saisie, et l'affichage et les recherches de contenu via des métadonnées. Vous pouvez aussi utiliser la modification, l'approbation ou d'autres exigences de flux de travail, des exigences d'archivage, des calendriers d'expiration et des stratégies de gestion des informations applicables pour distinguer les éléments de contenu individuels. Certains contenus ne nécessitent pas de modèles spéciaux ou ne seront jamais archivés, mais même ceux-ci constituent des caractéristiques de cycles de vie qui permettent de distinguer ces éléments d'autres éléments.
Le modèle de contenu SharePoint vous permet de définir des types de contenu individuels et d'établir des relations hiérarchiques. Dans une relation hiérarchique, les enfants héritent des caractéristiques générales des types de contenu parents, et ajoutent des caractéristiques spécifiques si nécessaire.
La meilleure façon d'illustrer cela consiste à examiner les types de contenu prédéfinis de SharePoint. WS 3.0 et MOSS 2007 incluent plusieurs types de contenu prédéfinis pour des éléments types pouvant être stockés dans une bibliothèque de documents ou une liste, notamment des documents et des tâches. Vous trouverez les définitions de ces types de contenu standard sur un serveur SharePoint dans le dossier %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\12\Template\Features\Ctypes. Vous y trouverez un fichier de manifeste nommé feature.xml. Dans ce fichier, vous pouvez voir que SharePoint implémente les définitions de type de contenu standard en tant que fonctionnalité masquée (Hidden=« TRUE ») avec une étendue de collection de sites (Scope=« Site »), et que le fichier de manifeste Element, qui contient les éléments de type de contenu réel, est appelé ctypeswss.xml (<ElementManifest Location="ctypeswss.xml" />).
Si vous souhaitez en savoir plus sur les fonctions de SharePoint, je vous recommande la lecture de l'article Office Space de Ted Pattison publié dans MSDN® Magazine et intitulé « Fonctionnalités pour SharePoint », qui est accessible à l'adresse msdnmagazine.com/issues/07/05/OfficeSpace.
Ouvrons maintenant le fichier ctypeswss.xml dans le Bloc-notes pour examiner les types de contenu standard indépendamment de leur visibilité dans l'interface utilisateur de SharePoint. Vous ne devez pas modifier le fichier ctypeswss.xml. Si vous envisagez de modifier ctypeswss.xml pour ajouter de nouveaux champs aux types de contenu standard ou pour rendre des types de contenu masqués visibles afin que les utilisateurs de SharePoint puissent les utiliser pour dériver de nouveaux types de contenu, remarquez que ceci n'est en général pas nécessaire. De plus, cela entraîne des configurations non prises en charge, et des installations ultérieures de services packs risquent d'écraser vos personnalisations et de détruire vos solutions de gestion du contenu.
Une meilleure approche consiste à copier ce dont vous avez besoin dans un nouveau fichier de manifeste des éléments, d'ajouter vos personnalisations selon vos besoins puis de déployer vos types de contenu personnalisés comme une nouvelle fonctionnalité avec une étendue de collection de sites afin qu'ils soient disponibles pour tous les sites de la collection de sites.
La définition basée sur le CAML (Collaborative Application Markup Language) du type de contenu Système tel qu'indiqué dans le fichier ctypeswss.xml est reproduite ici :
<ContentType ID="0x"
    Name=$Resources:System
    Group="Hidden"
    Sealed="True"
    Version="0">
   <FieldRefs>
      <FieldRef ID="{c042a256-787d-4a6f-8a8a-cf6ab767f12d}" Name="ContentType"/>
   </FieldRefs>
</ContentType>
Les attributs Group et Sealed indiquent que le type de contenu Système est masqué et scellé pour qu'il ne puisse pas être modifié dans l'interface utilisateur SharePoint. Le type de contenu Système ne possède qu'un élément FieldRef qui référence une colonne de site prédéfinie nommée ContentType. C'est le niveau d'abstraction le plus élevé. Tous les autres types de contenu de SharePoint héritent de cette propriété à partir du type de contenu Système. De cette façon, SharePoint garantit que tous les éléments de contenu stockés dans une bibliothèque de documents ou une liste possèdent cette propriété en commun.
La Figure 1 reproduit un composant WebPart ContentTypeHierarchy, inclus dans les ressources associées à cet article, qui illustre les hiérarchies de façon plus intuitive. System est à la racine de tous les autres types de contenu, suivi par Item et ainsi de suite. Le type de contenu Élément, par exemple, établit le niveau de détail suivant. Si vous consultez le fichier ctypeswss.xml, vous pourrez voir qu'Élément définit un champ unique de métadonnées qui référence une colonne de site nommée Title. De cette façon, tous les types de contenu prédéfinis de niveaux inférieurs ont une propriété Title.
Figure 1 Hiérarchie des types de contenu prédéfinis dans WSS 3.0
Figure 1 Hiérarchie des types de contenu prédéfinis dans WSS 3.0
Il est également possible de supprimer un champ hérité, comme la définition du type de contenu Document du fichier ctypeswss.xml le démontre. Le type de contenu Document inclut plusieurs éléments RemoveFieldRef correspondants, mais vous pouvez souhaiter conserver le champ Titre au lieu de vos types de contenu personnalisés parce que la colonne Title donne accès au menu déroulant Edit Control Box (ECB) dans les vues des bibliothèques de documents et des listes de SharePoint.
Le type de contenu Contact Extrême-Orient de ctypeswss.xml illustre parfaitement la façon de renommer des champs hérités. Recherchez 0x0116, qui est l'ID du type de contenu correspondant, puis vérifiez l'élément FieldRef avec l'attribut Name=« Title » pour voir comment vous pouvez utiliser l'attribut DisplayName pour renommer un champ dans l'interface utilisateur. Dans cet exemple, l'attribut DisplayName modifie le nom du champ Titre dans l'interface utilisateur en une valeur localisée référencée par « $Resources:core,Last_Name; ».
Si vous examinez de plus près la Figure 1, vous voyez que l'attribut ID de l'élément ContentType identifie de façon unique le type de contenu et établit la relation hiérarchique. Tous les ID commencent par l'ID du type de contenu parent auquel sont ajoutées des valeurs hexadécimales. Deux valeurs hexadécimales supplémentaires sont généralement ajoutées aux types de contenu standard possèdent pour créer un nouvel ID unique pour le type de contenu enfant. Une autre technique est d'ajouter « 00 » et un GUID hexadécimal. C'est la façon dont les types de contenu Fichier de connexion de données Office et Fichier UDC sont dérivés du type de contenu Document, par exemple.
Il est important que les utilisateurs gardent à l'esprit que l'attribut ID de l'élément ContentType ne peut pas être d'une longueur supérieure à 1 024 caractères. Ceci peut se révéler problématique dans une relation hiérarchique importante si tous les types de contenu utilisent la technique d'adressage de GUID hexadécimal. Cependant, il n'est pas recommandé de commencer par la technique la plus courte parce que ces ID peuvent ne pas être uniques.
Pour garantir l'unicité, utilisez la technique du GUID pour définir un espace de noms global pour vos types de contenu d'entreprise et adoptez la technique plus courte dans cet espace de noms. Pour obtenir des informations détaillées sur l'attribut ID et d'autres aspects des définitions de type de contenu, consultez la rubrique « Schéma des définitions de type de contenu » dans le kit de développement logiciel WSS 3.0.

Dépendances des types de contenu
Voyons maintenant comment utiliser les types de contenu de SharePoint pour structurer la gestion des éléments de contenu. Vous devez tenir compte de plusieurs dépendances, par exemple les interdépendances entre les bibliothèques de documents et les listes, les types de contenu, les colonnes de site et les types de champ. Les bibliothèques et les listes référencent des types de contenu, qui à leur tour référencent des colonnes de site, lesquelles référencent des types de champ (tels que les types de champ WSS standard Texte, Commentaire, Choix, Nombre, Devise, etc.) qui résident dans des assemblys de Microsoft .NET Framework tels que Microsoft.SharePoint.dll, l'assembly principal de WSS.
Á titre d'exemple, revenons au type de contenu Système tel qu'illustré plus tôt dans la définition CAML de l'entrée « System » du fichier de manifeste des types de contenu. Comme vous l'avez vu, ce type de contenu contient un élément FieldRef qui se réfère à une colonne de site nommée ContentType. Remarquez que la définition du type de contenu ne définit pas la colonne réelle du site ContentType. ContentType est un champ Texte, défini dans le manifeste des éléments fieldswss.xml, situé dans le dossier %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\12\Template\Features\Fields. Le type de champ Texte est à nouveau défini dans fldtypes.xml, que vous pouvez trouver sous %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\12\Template\XML. Il est important de vérifier dans cette arborescence de dépendances que toutes les ressources sont disponibles sur vos serveurs SharePoint.
Les types de contenu que vous voulez utiliser doivent être créés au niveau site de vos bibliothèques de documents et de vos listes, ou plus haut dans la hiérarchie des sites. De même, les champs de métadonnées de vos types de contenu doivent se référer aux colonnes de site existantes. Vous pouvez ajouter à vos types de contenu des colonnes de site standard ou personnalisées basées sur des types de champ standard ou personnalisés, mais vous devez vous assurer que les colonnes de site existent sur le site local. De plus, si vous voulez utiliser des types de champ personnalisés, vous devez également vérifier que les assemblys .NET sous-jacents sont déployés sur vos serveurs SharePoint.
Des dépendances similaires existent pour les types de contenu qui référencent des modèles de documents, des destinataires d'événements personnalisés, des flux de travail et d'autres composants. Par exemple, la définition du type de contenu peut contenir un élément DocumentTemplate qui pointe sur le modèle de document associé au type de contenu. La définition du type de contenu peut également contenir un élément XmlDocument avec un ou plusieurs éléments XmlDocument enfants qui définissent des caractéristiques supplémentaires du type de contenu, telles que les définitions d'espace de noms, les définitions de panneau Informations sur le document ou toute information personnalisée.

Établissement de types de contenu globaux
Les utilisateurs avec des autorisations de création peuvent créer de nouveaux types de contenu et des colonnes de site directement dans l'interface utilisateur de SharePoint, mais les types de contenu sont ensuite uniquement disponibles dans le site local et aux niveaux inférieurs de la hiérarchie de site. Les colonnes de site personnalisées sont uniquement disponibles dans le site local. Ce n'est pas suffisant si vous voulez définir des types de contenu globaux. Vous devez vous assurer que les types de contenu globaux sont disponibles dans toutes les collections de sites de votre environnement. C'est là que les fonctionnalités de SharePoint s'avèrent utiles. Il est très facile d'installer et d'activer les fonctionnalités de SharePoint dans plusieurs collections de sites pour appliquer la colonne de site et les définitions de type de contenu correspondants de façon systématique dans tous les emplacements.
Les ressources associées à cet article incluent un exemple de fonctionnalité nommé AdventureWorks qui démontre comment définir un type de contenu global. Cette fonctionnalité définit un type de contenu général nommé Customer Documentation (Documentation client) qui peut être utilisé pour créer n'importe quel type de document client, par exemple des propositions et des lettres commerciales. Il est raisonnable de supposer que tous ces types de documents doivent être associés avec des informations clients telles que le nom de l'entreprise, les coordonnées de contact et l'adresse. J'ai spécifiquement créé un champ personnalisé nommé Customer Name (Nom du client) pour votre type de contenu et ai ajouté certains champs prédéfinis tels que Department (Service) et Primary Phone (Téléphone principal). Vous pouvez modifier le type de contenu et les champs en modifiant le fichier ContentTypes.xml, et modifier les références de champ en modifiant le fichier SiteColumns.xml dans l'exemple associé.
Si vous déployez la fonctionnalité comme il est indiqué dans le fichier lisezmoi.htm, vous pouvez l'activer de façon systématique dans plusieurs des collections de sites. Le type de contenu Customer Documentation (Documentation client) est ensuite disponible globalement. Chaque service distinct peut ensuite créer une documentation client spécifique via des types de contenu dérivés associés à des modèles de documents ciblés. Les ressources associées incluent des exemples de modèles de document qui pourraient être utilisés dans les domaines des ventes et du conseil. La figure 2 illustre les types de contenu résultants.
Figure 2 Types de contenu parents et enfants pour la documentation client
Figure 2 Types de contenu parents et enfants pour la documentation client
Vous pouvez choisir entre plusieurs options pour créer des fonctionnalités pour les colonnes de site personnalisées et les types de contenu dans WSS 3.0 et MOSS 2007. Vous pouvez étudier le kit de développement logiciel WSS 3.0 et écrire intégralement des fichiers XML. Vous pouvez également choisir d'utiliser SharePoint Designer pour exporter une liste dans un package Web personnel, renommer le fichier résultant .fwp en fichier .cab, extraire le fichier manifest.xml du fichier .cab puis rechercher les définitions ContentType dans le fichier manifest.xml. Malheureusement, les deux approches sont peu pratiques et favorisent les erreurs.
En revanche, il est remarquablement facile de créer des colonnes de site et des types de contenu personnalisés dans l'interface utilisateur de SharePoint. L'interface n'offre toutefois pas la possibilité de modifier les fichiers XML d'une fonctionnalité. Les fonctionnalités constituent un moyen efficace de configurer les ressources de SharePoint, mais une fois configurées, ces ressources n'existent que dans la base de données de contenu. Une version future de WSS comportera peut-être la possibilité d'exporter les colonnes de site et les types de contenu dans des fichiers XML via l'interface utilisateur de SharePoint, sur le modèle de l'exportation des composants WebParts. Pour le moment, vous devez faire avec ce dont vous disposez.
Les ressources associées incluent un composant WebPart nommé ContentTypeSchema qui peut servir de point de départ. Il utilise le modèle d'objet de SharePoint pour extraire la propriété SchemaXML du type de contenu sélectionné. Grâce à des transformations XSLT (eXtensible Stylesheet Language Transformation), le composant WebPart dérive des définitions Field ou des définitions ContentType qui dépendent de l'option que vous sélectionnez dans l'interface utilisateur avant de cliquer sur le bouton Afficher.
La figure 3 illustre ce composant WebPart en action. Il affiche le type de contenu Active Directory® Documentation (Documentation Active Directory®), que j'ai basé sur le type de contenu Customer Documentation (Documentation client). Le type de contenu Active Directory Documentation (Documentation Active Directory) est associé à un modèle Microsoft Word personnalisé (Active Directory Template.dot). Notez que ce type de contenu ne possède pas de champ supplémentaire. Tous les champs sont hérités du type de contenu parent.
Si vous envisagez d'utiliser le composant WebPart ContentTypeSchema dans votre propre environnement, gardez à l'esprit que ce composant WebPart n'a pas été testé à fond. Mon composant WebPart utilise des transformations XSL relativement complexes pour générer un delta entre la propriété SchemaXML du type de contenu actuellement sélectionné et le type de contenu parent. Pourtant, XSLT 1.0 n'est pas vraiment conçu pour les conversions avancées de documents XML. Il n'existe pas de fonctionnalité prédéfinie permettant de comparer les nœuds XML. Par ailleurs, les espaces de noms XML, ainsi que les sections CDATA, représentent des difficultés que XSLT 1.0 ne peut pas gérer efficacement.
SharePoint stocke la définition des colonnes de site et des types de contenu de site créés à l'aide de l'interface utilisateur de SharePoint ou du modèle d'objet de SharePoint dans la base de données de contenu, dans un tableau nommé ContentTypes. Examinez l'ID de mon type de contenu personnalisé à la figure 3. En conséquence, l'instruction T-SQL suivante donnerait des résultats corrects : SELECT Definition FROM ContentTypes WHERE ContentTypeId = <content type ID>.
Figure 3 Définition personnalisée du type de contenu dans le composant WebPart ContentTypeSchema
Figure 3 Définition personnalisée du type de contenu dans le composant WebPart ContentTypeSchema
Quelle que soit l'approche que vous décidez d'utiliser, la création de fonctionnalités pour des types de contenu destinés à l'ensemble de l'entreprise est très simple dès lors que vous disposez des définitions de la colonne de site et du type de contenu. Je vous recommande d'utiliser une fonctionnalité unique pour toutes les colonnes de site et tous les types de contenu généraux de votre service ou de votre entreprise. Ainsi, il est facile de savoir où ajouter de nouvelles définitions de colonnes de site ou de types de contenu.

Recherches à l'échelle de l'entreprise sur les métadonnées personnalisées
L'un des avantages immédiats des hiérarchies de types de contenu réside dans le fait que tous les types de contenu enfants héritent des champs de métadonnées du type de contenu parent. Comme tous les types de contenu ont des champs de métadonnées en commun, les utilisateurs peuvent très facilement créer des vues et des filtres personnalisés dans les bibliothèques de documents.
L'exemple de fonctionnalité AdventureWorks le démontre de façon tout à fait intuitive. Quel que soit le contenu créé par un consultant ou un vendeur, l'enregistrement du document Word 2007 dans la bibliothèque de documents nécessite de spécifier le Customer Name parce que le type de contenu parent Customer Documentation (Documentation client) définit ce champ de métadonnées comme étant obligatoire. En groupant ou en filtrant les éléments dans une vue de bibliothèque de documents selon le Customer Name (Nom du client), les consultants et les vendeurs peuvent repérer rapidement et facilement toute la documentation existante sur client, comme illustré à la figure 4.
Figure 4 Regroupement de divers documents dans une bibliothèque en fonction des métadonnées communes
Figure 4 Regroupement de divers documents dans une bibliothèque en fonction des métadonnées communes
Les métadonnées communes facilitent également la localisation du contenu dans les multiples bibliothèques de documents et sites en utilisant les fonctionnalités de recherche de WSS 3.0 et de MOSS 2007. WSS permet d'effectuer des recherches dans des bibliothèques, des listes et des sites au sein d'une collection de sites unique. MOSS 007 va au-delà de ces fonctionnalités de base en vous permettant d'implémenter un Centre de recherche à l'échelle de l'entreprise et de gérer des métadonnées personnalisées dans l'interface utilisateur Administration Centrale de SharePoint 3.0. Pour cette raison, les explications suivantes portent sur MOSS 2007.
Lorsque vous configurez un Fournisseur de services partagés dans MOSS 2007 et que vous analysez vos sites SharePoint, MOSS 2007 peut automatiquement retrouver les champs de métadonnées personnalisés utilisés dans les sources de contenu. Par conséquent, vous pouvez trouver les champs de métadonnées personnalisés dans la liste des propriétés analysées.
Les champs de métadonnées définis dans les fonctionnalités de SharePoint sont classés dans la catégorie SharePoint. Pour trouver son emplacement dans l'Administration centrale de SharePoint, dans le menu de lancement rapide sous Administration de services partagés, cliquez sur le lien vers votre Fournisseur de services partagés, cliquez sur Paramètres de recherche, cliquez sur Mappages des propriétés de métadonnées, puis cliquez sur Propriétés analysées dans le menu de lancement rapide et ouvrez la catégorie SharePoint.
Je vais vous montrer comment cela fonctionne à l'aide d'un exemple. Le champ de métadonnées nommé Customer Name (Nom du client) se transforme en propriété analysée nommée ows_Customer_x0020_Name. SharePoint préfixe les propriétés analysées par « ows_ », et « _x0020_ » est la version codée d'un espace unique. Si vous affichez les détails de cette propriété analysée, vous verrez qu'elle est incluse dans l'index de recherche par défaut pour que les utilisateurs puissent employer ses valeurs pour effectuer des recherches sur les contenus. Cependant, pour augmenter la précision de la recherche, vous pouvez ne pas vouloir mapper la propriété analysée sur une propriété gérée pour que les utilisateurs puissent chercher des contenus en utilisant explicitement le nom du client.
Lorsque vous mappez des propriétés analysées sur des propriétés gérées, vous avez deux possibilités. Vous pouvez générer automatiquement une nouvelle propriété gérée pour chaque propriété analysée ou vous pouvez mapper manuellement des propriétés analysées sur des propriétés gérées. La première option est disponible lorsque vous affichez les paramètres de la catégorie de propriété analysée souhaitée (lors de l'affichage des propriétés analysées dans une catégorie, par exemple la catégorie SharePoint, cliquez sur l'option Modifier la catégorie sur le lien de lancement rapide). Sous Paramètres de propriétés analysées en bloc, vous devez alors sélectionner la case à cocher « Générer automatiquement une nouvelle propriété gérée pour chaque propriété analysée découverte dans cette catégorie ». Cependant, SharePoint préfixe les propriétés gérées créées automatiquement par « ows » et les espaces par « x0020 ». La propriété gérée pour la propriété analysée ows_Customer_x0020_Name serait donc owsCustomerx0020Name. Ceci, cependant, n'est pas un nom de propriété très convivial.
Une meilleure stratégie consiste peut-être à mapper manuellement les propriétés analysées sur des propriétés gérées après avoir déployé vos types de contenu à l'échelle de l'entreprise. Vous pouvez mapper une propriété analysée sur une ou plusieurs propriétés gérées. Pour créer de nouvelles propriétés gérées, dans l'Administration centrale de SharePoint, dans le menu de lancement rapide sous Administration, des services partagés, cliquez sur le lien vers votre Fournisseur de services partagés, cliquez sur Paramètres de recherche, puis cliquez sur Mappages des propriétés de métadonnées et enfin sur Nouvelle propriété gérée pour spécifier les informations requises et associer la nouvelle propriété gérée à la propriété analysée souhaitée.
Les utilisateurs peuvent ensuite localiser des éléments de contenu pertinents en utilisant les propriétés gérées soit dans propriété: syntaxe ou en utilisant la recherche avancée. Par exemple, si vous mappez la propriété analysée ows_Customer_x0020_Name sur une propriété gérée nommée Customer, les utilisateurs peuvent ensuite rechercher tous les documents d'un client simplement en spécifiant Customer: <Customer Name> dans la boîte de dialogue de recherche standard, par exemple Customer: Contoso.
Il est également recommandé de prévoir les propriétés gérées pour les champs de métadonnées les plus importants de vos types de contenu dans la liste des propriétés, sur la page de recherche avancée. Pour cela, affichez la page Recherche avancée, puis cliquez sur Actions du site et sélectionnez la commande Modifier la page. Vous pouvez maintenant cliquer sur Modifier dans la boîte de dialogue Recherche avancée pour sélectionner l'option Modifier le composant WebPart partagé. Lorsque vous développez la catégorie Propriétés et que vous placez le curseur dans le champ de texte correspondant, vous pouvez cliquer sur le bouton pour modifier le document XML Properties. Vous devez ajouter une définition de propriété à l' élément <PropertyDefs> , par exemple <PropertyDef Name=« Customer » DataType=« text » DisplayName=« Customer Name »/>, et vous devez également ajouter une référence à cette définition de propriété sous un élément ResultType (par exemple, l'élément <ResultType DisplayName=« All Results » Name=« default »>), telle que <PropertyRef Name=« Customer » />. La figure 5a illustre l'interface utilisateur de recherche avancée qui en résulte. La figure 5b illustre les résultats de la recherche.
Figure 5a Recherche de documentation d'infrastructure informatique en fonction du nom du client
Figure 5a Recherche de documentation d'infrastructure informatique en fonction du nom du client
Figure 5b Résultats de la recherche du nom de client
Figure 5b Résultats de la recherche du nom de client

Garantie de la cohérence des informations
À ce stade, j'ai normalisé avec succès les champs des métadonnées, les types de contenu et les fonctionnalités de recherche étendues les plus importants dans toutes les collections de sites de mon entreprise en m'appuyant sur MOSS 2007. Il importe à présent de s'assurer que les utilisateurs entrent des informations correctes dans les champs de métadonnées.
Il existe deux façons de faire. Première possibilité : vous pouvez remplacer le panneau standard Information sur le document de vos modèles de document par un formulaire Infopath® personnalisé qui fournit à vos utilisateurs une sélection prédéfinie d'options de saisie, comme celles que vous trouvez dans une zone de liste. Deuxième possibilité : vous pouvez lier un récepteur d'événements au type de contenu et vérifier ensuite la correction des métadonnées et autres informations à chaque fois que les utilisateurs créent, modifient ou suppriment des éléments de contenu correspondants.
Les deux options se complètent. Un formulaire Infopath fournit principalement une façon commode de modifier les propriétés d'un type de contenu SharePoint, tandis qu'un récepteur d'événements peut garantir la validité des métadonnées même si les utilisateurs modifient les propriétés du type de contenu sans utiliser le formulaire Infopath. Vous pouvez lier des gestionnaires d'événements à un type de contenu spécifique, ce qui vous permet de spécifier des événements et leurs réponses pour tous les documents associés à un type de contenu individuel dans toutes les collections de sites, quelle que soit la bibliothèque de documents. Vous trouverez plus d'informations sur la façon de développer et de déployer des gestionnaires d'événements à l'adresse msdn2.microsoft.com/ms453149.
La méthode la plus facile pour associer un type de contenu à un panneau Informations sur le document personnalisé consiste peut-être à afficher les paramètres Panneau Informations sur le document du type de contenu dans l'interface utilisateur de SharePoint sur un ordinateur où Infopath 2007 est installé. Vous pouvez ensuite cliquer sur le lien Créer un nouveau modèle personnalisé sous Modèle du panneau Informations sur le document pour démarrer Infopath 2007 en mode conception. Cependant, si votre type de contenu de site inclut des colonnes de site sans attribut SourceID explicite, vous risquez de vous trouver dans une situation dans laquelle Infopath ne peut pas créer de schéma XSD valide pour le formulaire Panneau Informations sur le document. Par exemple, le type de contenu Customer Documentation (Documentation client) présenté plus tôt comprend plusieurs colonnes spécifiques au contact telles que Department (Service), Office (Bureau) et E-mail, qui peuvent provoquer ce problème, comme illustré à la figure 6.
Figure 6 Incompatibilités du schéma XSD dans Infopath 2007
Figure 6 Incompatibilités du schéma XSD dans Infopath 2007
À ce stade, vous avez deux options si vous rencontrez ce problème. Vous pouvez soit supprimer les références aux colonnes de site qui n'ont pas un attribut SourceID explicite de la définition de type de contenu, soit remplacer les colonnes de site prédéfinies qui posent problème par des colonnes de site personnalisées compatibles avec Infopath 2007. Gardez à l'esprit que vous ne pouvez pas modifier les références de champ d'un type de contenu CAML une fois qu'il a été configuré dans la base de données de contenu, surtout si vous avez déjà créé des types de contenu enfants. Vous ne pouvez plus simplement mettre à jour le fichier de définition de type de contenu CAML, ni propager des modifications aux types de contenu enfants parce que Windows SharePoint Services ne suit pas les modifications apportées à la définition de type de contenu parent.
Pour propager les modifications, vous devez modifier le type de contenu parent via l'interface utilisateur de SharePoint ou le modèle objet, ou vous devez définir un nouveau type de contenu dérivé du type de contenu existant. Cette dernière technique vous permet de supprimer les champs critiques et d'ajouter de nouvelles colonnes. Vos utilisateurs peuvent ensuite dériver des types de contenu futurs à partir du nouveau type de contenu. Pour empêcher les utilisateurs de choisir le mauvais type de contenu, ajoutez le type de contenu précédent au groupe de type de contenu _masqué.
Comme je l'ai indiqué précédemment, vous ne pouvez pas mettre à jour des types de contenu CAML après les avoir déployés et activés. Il est donc très important de tester les types de contenu globaux avant le déploiement. Pour plus d'informations, consultez l'article de MSDN « Mise à jour des types de contenu » à l'adresse msdn2.microsoft.com/aa543504.
Une fois que vous avez créé un type de contenu avec des références de champ correctes, vous pouvez créer un panneau Informations sur le document personnalisé dans Infopath 2007. La meilleure stratégie consiste à laisser les propriétaires de site créer des panneaux Informations sur le document personnalisés pour leurs types de contenu enfants. Infopath 2007 fournit la possibilité de publier le panneau Informations sur le document personnalisé directement dans le type de contenu sélectionné, ce qui facilite le scénario de déploiement. Toutefois, il est également possible de publier le formulaire InfoPath dans un emplacement central, tel qu'une bibliothèque de documents, et d'inclure une référence au panneau Informations sur le document dans le type de contenu. Il s'agit de la meilleure solution si vous avez l'intention de fournir un panneau Informations sur le document personnalisé avec vos types de contenu CAML. La figure 7 illustre l'architecture d'implémentation.
Figure 7 Implémentation du fichier XSN dans un emplacement central dans MOSS 2007
Figure 7 Implémentation du fichier XSN dans un emplacement central dans MOSS 2007
Le téléchargement associé à cet article inclut une fonctionnalité nommée AdventureWorks_Update qui prolonge la fonctionnalité précédente AdventureWorks en ajoutant des colonnes de site supplémentaires qui fonctionnent avec Infopath 2007. La fonctionnalité AdventureWorks_Update définit le type de contenu Customer Documentation (Documentation client) original comme masqué et dérive un nouveau type de contenu nommé Customer Docs (Docs client), qui remplace les champs prédéfinis hérités par les nouvelles colonnes de site et associe le nouveau type de contenu à un panneau Informations sur le document personnalisé.
La nouvelle définition de type de contenu Customer Docs (Docs client) inclut un élément XmlDocument qui fournit des informations sur le panneau Informations sur le document. En particulier, l'élément xsnLocation pointe sur le formulaire InfoPath http://companyresources/DIPs/customerDIP.xsn, qui implémente le panneau Informations sur le document. Pour obtenir des instructions détaillées sur la façon d'utiliser la fonctionnalité AdventureWorks_Update, consultez le fichier lisezmoi.htm dans le dossier AdventureWorks_Update.

Conclusion
Vous pouvez utiliser les types de contenu de SharePoint pour créer des stratégies de métadonnées et les utiliser régulièrement dans l'entreprise pour la gestion du contenu. La hiérarchie des types de contenu vous permet de normaliser des caractéristiques pertinentes pour l'ensemble de l'environnement d'entreprise et de les appliquer uniformément à tous les sites par héritage.
Il est notamment possible d'étendre les fonctionnalités de recherche intégrées de MOSS 2007 pour que les utilisateurs puissent localiser des contenus spécifiques plus rapidement et plus facilement. Il est également possible d'appliquer la cohérence des informations en fonction des métadonnées et de définir des stratégies de gestion des informations centralisées. La meilleure stratégie consiste à de normaliser les types de contenu globaux selon les caractéristiques les plus abstraites des métadonnées afin de réduire le besoin de modifications ultérieures. Basés sur un modèle de contenu soigneusement conçu, les types de contenu de SharePoint peuvent fournir de nouvelles possibilités pour normaliser la gestion du cycle de vie des contenus à l'échelle de l'entreprise.

Pav Cherny est président de Biblioso Corporation, expert en informatique et auteur spécialiste des technologies de collaboration et de communication unifiée Microsoft. Ses travaux publiés portent essentiellement sur l'exploitation et l'administration de système.


 Office&#160;Communications&#160;Server: La pr&#233;sence dans OCS&#160;2007
Office Communications Server Rajesh Ramanathan

La présence dans OCS 2007
Vue d'ensemble:
  • Services d'autorisation et d'annuaire
  • Options de messagerie dans OCS 2007
  • Routage des communications grâce à la présence

Microsoft Office Communications Server (OCS) 2007 s'appuie sur et développe les points forts de la version 2005 de Live Communication Server (LCS). LCS 2005 proposait une messagerie instantanée (IM)
et une gestion de la présence adaptée aux besoins des entreprises. Il introduisait également l'intégration de la téléphonie aux installations PBX existantes via le contrôle d'appel distant.
OCS 2007 améliore encore les fonctionnalités de présence et de messagerie instantanée de LCS 2005 et ajoute des fonctionnalités de média et de téléphone avancées avec Office Communicator 2007, en faisant ainsi un « téléphone virtuel » à part entière. Microsoft a également développé des serveurs de conférence et des serveurs de périphérie pour les médias qui vous permettent de répondre à tous les besoins de votre organisation en matière de communications avec un PBX existant ou de façon indépendante en tant que solution complète autonome.
Office Communicator 2007 offre des fonctionnalités de « téléphone virtuel » qui permettent à vos utilisateurs de choisir les périphériques USB qu'ils préfèrent et d'utiliser les fonctions de contrôle d'appel utilisateur telles que la mise en attente et le transfert en toute facilité. Les utilisateurs n'ont plus besoin de mémoriser de longs numéros de téléphone ou d'utiliser un clavier de numérotation. Au lieu de cela, il leur suffit de cliquer pour passer un appel depuis une application de bureau ou organiser une conférence téléphonique en faisant glisser des noms de personnes ou des listes de distribution et en les déposant dans une conversation.
Pour ceux qui ont besoin de vrais téléphones de bureau, Office Communicator Phone Edition (ou téléphone Tanjay) sert de point de terminaison supplémentaire pour l'utilisateur, proposant des menus contextuels tactiles et l'environnement familier d'Office Communicator.
Ces fonctionnalités du système OCS ont été créées autour du concept de la présence de l'utilisateur. OCS 2007 utilise la disponibilité de l'utilisateur, les points de terminaison de communication et les relations entre les utilisateurs pour connecter les personnes à l'aide du support le plus approprié quel que soit le moment. Et puisque OCS allie la voix, la messagerie électronique, la messagerie instantanée et d'autres voies de communication, il peut vous aider à acheminer les messages de la façon la plus productive possible.
Dans cet article, je proposerai un aperçu de la solution OCS 2007 et expliquerai comment divers composants fonctionnent ensemble. J'expliquerai également pourquoi la présence est utilisée comme un ingrédient important dans la recette des communications unifiées et comment elle peut être utilisée pour acheminer plus efficacement les appels vocaux.

Services d'autorisation et d'annuaire
Le système vocal d'une entreprise doit être capable de vérifier l'identité des personnes qui sont autorisées à effectuer des appels. Il doit également pouvoir appliquer des restrictions ou des stratégies appel par appel. Dans un système VoIP (voix sur IP), les clients doivent s'authentifier auprès du serveur pour effectuer des appels. Ce système est identique à un système PBX traditionnel où l'accès à la ligne physique suffisait à confirmer l'identité.
Le système OCS 2007, illustré à la figure 1, utilise Active Directory® pour l'authentification et le stockage des stratégies d'accès, et OCS autorise les appels en les validant par rapport aux stratégies appliquées aux utilisateurs d'Active Directory. Comme OCS utilise les mêmes informations Active Directory que celles utilisées par d'autres applications Microsoft telles qu'Exchange Server ou Microsoft® Outlook®, vous pouvez ajouter des fonctionnalités vocales aux utilisateurs existants dans Active Directory en étendant les propriétés et stratégies de ces utilisateurs (à l'aide des extensions de schéma d'Active Directory) et en fournissant un annuaire unifié pouvant être utilisé pour les applications en temps réel telles que la messagerie vocale ou instantanée.
Figure 1 Composants de communication unifiée OCS
Figure 1 Composants de communication unifiée OCS
Dans Active Directory, la propriété la plus importante en termes de communication unifiée, est l'adresse SIP (Session Initiation Protocol), également connue sous le nom d'URI SIP, qui est par nature très semblable à l'adresse de messagerie de l'utilisateur. Par exemple, un utilisateur d'Active Directory possédant l'adresse de messagerie quiconque@contoso.com se verra attribuer une adresse SIP sip:quiconque@contoso.com. Comme l'adresse SIP est associée à l'objet utilisateur, vous pouvez fournir une identité unique où les informations d'identification permettant à un utilisateur de se connecter à son ordinateur ou à Exchange Server peuvent être utilisées par cet utilisateur pour ouvrir une session dans son serveur OCS.
Le numéro de téléphone de l'utilisateur une autre propriété importante. Le serveur OCS redirige en interne les appels envoyés à un numéro de téléphone vers l'URI SIP de l'utilisateur pour pouvoir acheminer l'appel.
OCS 2007 propose une interface ABS (Address Book Service) permettant d'effectuer des recherches dans les annuaires des organisations. Comme il s'agit d'une version hors connexion du carnet d'adresses, celle-ci permet aux points de terminaison d'un client d'éviter de passer par Active Directory chaque fois qu'une opération de recherche est effectuée au niveau du client.
Parallèlement à ABS, OCS 2007 renforce l'utilité des listes de distribution en offrant un service DLX (Distribution List Expansion) permettant aux utilisateurs d'afficher dans Office Communicator la même liste de distribution que celle qu'ils voient dans Outlook, et de la développer dans Communicator. Les utilisateurs peuvent organiser des conférences téléphoniques avec les membres de ces listes de distribution directement depuis Office Communicator ou entamer une conversation de messagerie instantanée en groupe.

Services vocaux et de messagerie
Ressources OCS supplémentaires
Pour plus d'informations, consultez les ressources suivantes :
  • Événements et Webcasts sur les communications unifiées
  • TechCenter Office Communications Server
  • Laboratoire virtuel TechNet : Activation des utilisateurs et installation d'Office Communicator 2007

Une solution vocale d'entreprise doit proposer les fonctionnalités de contrôle d'appel les plus connues des utilisateurs. Dans cette optique, OCS 2007 offre des fonctionnalités très appréciées telles que la mise en attente des appels, le transfert et le transfert consultatif, les sonneries simultanées, ainsi que des modes non vocaux tels que la messagerie instantanée.
OCS 2007 est au cœur du routage des appels vocaux, offrant des fonctions de routage d'appels à la fois sortants et entrants. Le routage des appels sortants implique la traduction des numéros, l'application de stratégies (telles que la restriction des appels internationaux) liées à un utilisateur et le routage des appels vers les points de terminaison appropriés ou le réseau téléphonique public commuté (RTC). Les fonctions de routage des appels entrants permettent à l'utilisateur de sélectionner ses préférences de transfert d'appels ou de présence/heure de la journée et de router les appels entrants correctement.
OCS ne met pas fin aux appels entrants lui-même. En jargon SIP, il agit en tant que serveur d'inscriptions SIP et proxy SIP. La signalisation et les média sont fournis point-à-point par les points de terminaison clients du système. Les points de terminaison du système tels qu'Office Communicator 2007 fournissent un codec audio large bande (appelé RTAudio) résilient capable de s'adapter aux conditions réseau.
OCS 2007 permet d'organiser des conférences Web sur site à l'aide des rôles de serveur de conférence pour tous les modes de communication : audio/vidéo, messagerie instantanée et données. Les serveurs de conférence OCS permettent aux points de terminaison clients une transition fluide des communications d'égal à égal aux communications à plusieurs participants et en plusieurs modes, avec des fonctionnalités telles que sourdine, éjection de participant et verrouillage. Ils sont capables d'accueillir plusieurs centaines de participants pour les conférences planifiées et jusqu'à cent personnes pour les discussions ad hoc. Vous pouvez planifier les conférences via les compléments Outlook ou transformer un appel en conférence. La solution de conférence offre également des outils tels que le partage de fichiers, les tableaux blancs et l'enregistrement.
Bien sûr, vous devez pouvoir vous connecter aux réseaux et numéros RTC externes et aux entreprises fédérées ou aux installations PBX existantes au sein de l'organisation. OCS 2007 s'intègre aux passerelles SIP vers RTC offertes par les fournisseurs de passerelle habituels qui permettent la connexion à un RTC ou à un PBX existant. Un serveur de médiation peut être configuré pour la traduction des codecs et de la signalisation. Les serveurs de médiation sont facultatifs et sont configurés pour les passerelles qui ne prennent pas en charge les codecs Microsoft.
La messagerie unifiée d'Exchange Server 2007 est la solution de messagerie vocale pour OCS 2007. La messagerie unifiée Exchange offre un service de réponse aux appels vocaux et de télécopie entrants et place le message reçu dans la boîte aux lettres Exchange de l'utilisateur. En outre, la messagerie unifiée Exchange fournit des standards automatiques d'entreprise pour les personnes appelant de l'extérieur qui souhaitent contacter un employé ou un service spécifique.
OCS offre une messagerie instantanée en temps réel comme alternative à l'utilisation de la messagerie vocale, et permet également aux utilisateurs de participer à des conversations en plusieurs modes (voix, vidéo et messagerie instantanée) en même temps. De plus, Office Communicator 2007 permet d'utiliser le format RTF dans la messagerie instantanée. Par ailleurs, les fonctions audio et vidéo peuvent être ajoutées à tout moment durant la session de messagerie instantanée, transformant en toute facilité une conversation de messagerie en conversation audio.
Les autres composants concernent la comptabilité, la journalisation et le dépannage. La comptabilité est fournie par la fonctionnalité du serveur d'enregistrement des données de communications d'OCS 2007. Pour chaque appel effectué dans le système, l'heure d'arrivée de l'appel, la destination qui a répondu à l'appel et divers autres paramètres (par exemple, l'utilisation du transfert de l'appel) sont enregistrés. OCS fournit également des serveurs d’archivage qui enregistrent les conversations de messagerie instantanée conformément aux exigences de conformité. Le serveur de surveillance de la qualité d'expérience enregistre les informations sur la qualité des appels qui ont été passés et peut être utilisé pour résoudre les problèmes de qualité vocale sur le réseau.

Inscription et initialisation
Chaque point de terminaison client du système OCS doit s'inscrire ou se connecter à OCS dans le cadre de la première étape d'initialisation du client. L'inscription est le processus qui consiste à se connecter au serveur OCS. Cette opération annonce l'existence du client. Le processus d'inscription nécessite l'authentification de l'identité de l'utilisateur par le serveur ; ceci crée également une association de sécurité entre l'instance du client et le serveur. Cette association de sécurité est utilisée pour les appels suivants effectués par le client via le serveur et est périodiquement actualisée par le client par le biais d'une réinscription. La durée de la réinscription varie en fonction de la topologie du serveur. Par exemple, les points de terminaison clients inscrits depuis l'extérieur de l'entreprise via un serveur Edge Microsoft AccessTM actualisent leur inscription plus fréquemment que les clients se trouvant dans l'enceinte du pare-feu de l'entreprise.
Notez que seuls les points de terminaison clients qui ont besoin d'un canal authentifié permanent avec OCS pour recevoir des notifications entrantes telles que les appels vocaux ou des notifications de changement de présence doivent s'inscrire. Live Meeting est un point de terminaison client qui nécessite une connexion à OCS uniquement pour participer à une réunion, et il n'a donc pas besoin de s'inscrire auprès d'OCS.
Pour mieux comprendre les détails de l'interaction des clients dans OCS 2007, examinons d'un peu plus près Office Communicator en tant que point de terminaison client. (La plupart des flux de signalisation liés à Office Communicator sont identiques à ceux qui sont utilisés pour d'autres points de terminaison clients tels qu'Office Communicator Phone Edition ou Office Communicator Mobile). Une fois l'inscription terminée, Office Communicator récupère les informations de configuration qui sont critiques au fonctionnement du point de terminaison client. Ces informations incluent :
  • Des informations sur le client telles que la carte de contact, l'adresse de messagerie, l'URI SIP, le nom d'affichage et le numéro de téléphone.
  • Les fonctionnalités qui sont activées sur le client et les stratégies.
  • Les adresses de serveur telles que l'adresse SIP du serveur Edge AV et l'adresse du serveur de messagerie vocale.
  • La liste contacts inscrits sur le serveur.
  • Les règles de formatage des numéros pour l'emplacement du client.
Ce mécanisme de récupération de toutes les informations de mise en service à l'aide du canal SIP existant vers le serveur est appelé mise en service en bande. Il permet aux points de terminaison clients de configurer et d'actualiser leur configuration chaque fois que les clients se connectent, mais également à partir de l'extérieur du réseau ou du pare-feu.
La séquence d'inscription comprend l'inscription auprès du serveur à l'initialisation, l'obtention et la configuration de la présence, et l'adoption d'un état « prêt » (voir la figure 2). Notez qu'OCS permet d'inscrire plusieurs points de terminaison clients pour le même utilisateur ou URI SIP. Durant l'inscription, le serveur renvoie une adresse SIP unique au client, ce qui permet d'associer tout signal entrant à ce client. Cette adresse est également appelée GRUU (Globally Routable User URI). Chaque point de terminaison client inscrit auprès d'OCS se voit attribuer une adresse GRUU séparée par le serveur OCS, laquelle sert à identifier de façon unique le point de terminaison client.
Figure 2 Procédure d'inscription
Figure 2 Procédure d'inscription
Pour contrôler le processus d'inscription, une limite de huit inscriptions actives est imposée par le serveur pour n'importe quel utilisateur. Lorsque plusieurs clients sont inscrits pour le même utilisateur, la configuration est appelée MPOP (multiple points of presence). Lorsqu'un seul client est inscrit, la configuration est appelée SPOP (single point of presence).
Le concept de MPOP est fondamental au système OCS. Il permet à l'utilisateur de recevoir des notifications d'appels ou de messages instantanés entrants depuis n'importe quel point de terminaison, lui permettant essentiellement de disposer de plusieurs points de terminaison pour le téléphone ou la messagerie instantanée. Il introduit une dynamique intéressante pour les réponses à la messagerie instantanée ou même pour l'illustration correcte de la présence d'un utilisateur.
Par exemple, un utilisateur distant pourrait être connecté à un téléphone IP Communicator Phone Edition (point de terminaison SPOP) qui ne peut pas recevoir de messages instantanés. Cette fonctionnalité du point de terminaison est publiée par le téléphone IP avec les informations de présence. L'état de présence de l'utilisateur sur le téléphone est « en ligne ». Un autre utilisateur peut voir l'état de présence en ligne et tenter d'envoyer un message instantané à l'aide de Communicator. Toutefois, puisque la présence a déjà publié la fonctionnalité du périphérique, une notification indique que l'utilisateur à distance n'utilise pas de périphérique compatible avec la messagerie instantanée et qu'il risque donc de ne pas recevoir le message.
Un autre exemple concerne l'acceptation automatique de la messagerie instantanée. Lorsqu'une conversation de messagerie instantanée est lancée, le message est accepté automatiquement et immédiatement si l'utilisateur distant est sur une seule instance de Communicator (un seul point de terminaison SPOP). Mais si l'utilisateur à distance ouvre une session sur deux instances de Communicator (disons un ordinateur portable et un ordinateur de bureau), un retard de 10 secondes est alors accordé à l'utilisateur pour lui permettre d'accepter le message instantané provenant d'un des périphériques. Lorsqu'il n'y a pas de réponse, le message instantané est accepté automatiquement sur l'instance de Communicator la plus active.

Présence
La présence a un rôle important à jouer dans les communications unifiées. Elle permet à un utilisateur de savoir à l'avance si l'utilisateur distant est prêt à communiquer via un mode donné. Ainsi, les états d'OCS tels que « occupé(e), appel en cours » sont associés à l'état occupé d'un utilisateur et non pas à un périphérique ou à une ligne occupé. En outre, OCS 2007 propose une infrastructure de présence améliorée qui permet à l'utilisateur de partager des informations telles que l'emplacement, les heures de travail et les heures de réunion.
Par ailleurs, OCS permet à l'utilisateur de spécifier des autorisations afin que différents groupes de personnes puissent accéder à différentes séries d'informations sur la présence en fonction de leur niveau d'accès. OCS emploie également un état de présence de l'utilisateur, tel que « Ne pas déranger », ainsi que le calendrier des heures de travail et le niveau d'autorisation accordé à l'appelant pour décider si l'appel doit aller directement chez l'utilisateur ou être envoyé à la messagerie vocale.
Les numéros de téléphone sur lesquels vous devez cliquer pour appeler dans Office Communicator proviennent de trois emplacements : deux sont basés sur l'annuaire (liste d'adresses globale/serveur de carnet d'adresses et contacts Outlook), le troisième étant basé sur la présence. Grâce à la présence, les utilisateurs peuvent choisir de publier les numéros de téléphone qui peuvent être vus par les autres personnes.
La présence joue également un rôle clé dans de nombreux scénarios de routage des messages vocaux. Par exemple, si la présence d'un utilisateur distant indique Occupé(e) et affiche le texte En réunion, la probabilité que cet utilisateur répondra à un appel vocale est faible. Dans ce cas, le visiteur préfèrera probablement utiliser la messagerie instantanée ou la messagerie électronique. De même, si la présence d'un utilisateur distant indique Ne pas déranger, cela signifie qu'il est probablement préférable d'utiliser d'autres moyens de communication.
La présence renferme également des informations sur le sujet de la réunion actuelle de l'utilisateur et l'emplacement du calendrier, et ces détails sont publiés à l'intention des utilisateurs du conteneur Équipe. La présence comporte des informations sur le point de terminaison préféré pour une certaine fonctionnalité, et ces informations sont utilisées pour choisir un point de terminaison qui effectuera une action par défaut. Par exemple, la publication des données de calendrier (essentiellement la même à tous les points de terminaison) sera effectuée seulement à partir d'un point de terminaison préféré pour une fonctionnalité de calendrier. OCS possède la logique qui lui permet de choisir un point de terminaison préféré.
La figure 3 illustres les diverses fonctionnalités offertes par la présence au système OCS. La présence, comme indiqué précédemment, est une combinaison de disponibilité et de disposition à communiquer. L'état En ligne représente l'état dans lequel l'utilisateur est le plus disposé à communiquer, et Ne pas déranger à celui dans lequel l'utilisateur est le moins disposé à communiquer. À l'exception de Ne pas déranger, qui doit être défini manuellement, tous les autres états sont automatiquement capturés par Communicator en fonction de diverses conditions telles que l'utilisateur est en réunion (Occupé(e) ou est absent de l'ordinateur (Inactif, puis Absent), comme illustré à la figure 4.
Figure 3 Définition des informations sur la présence (Close Figure 3)

Fonctionnalité | Source
Disponibilité et disposition (En ligne, Hors connexion, Absent, Occupé(e), Ne pas déranger) | Automatique. Basé sur l'état de réunion, l'état de téléphone, etc. Peut également être défini manuellement.
État de calendrier (En réunion, lieu de réunion) | Automatique. Basé sur la préférence de l'utilisateur.
Fonctionnalité du périphérique (messagerie instantanée autorisée) | Automatique. Basé sur le périphérique MPOP.
Numéros de téléphone | Automatique. Basé sur la préférence de l'utilisateur.
Point de terminaison le plus actif | Automatique. Basé sur l'activité de l'utilisateur.
Note | Manuel. Annulé par la note d'absence du bureau.
Note d'absence du bureau | Automatique. Basé sur le calendrier.
Heures de travail | Automatique. Basé sur les données libre/occupé(e).
Emplacement | Manuel. Basé sur la sélection de l'utilisateur.
Figure 4 La présence en tant que mélange de disponibilité et de disposition
Figure 4 La présence en tant que mélange de disponibilité et de disposition
Notez que cette disponibilité peut être déterminée par les divers périphériques auxquels l'utilisateur est actuellement connecté. Dans la mesure où il existe plusieurs périphériques pour le même utilisateur et que chaque périphérique publie des informations de présence et des données utilisateur, il doit exister une logique d'agrégation qui présente une vue unique aux observateurs. OCS est doté d'une telle logique. Elle calcule la présence en fonction de divers paramètres, périphériques et entrées qui sont reçus par le système de présence.
Avant de plonger dans l'agrégation, il convient de jeter un coup d'œil sur la façon dont les informations agrégées sont publiées à l'intention des utilisateurs. OCS 2007 a introduit le concept de conteneurs qui sont plus ou moins analogues aux niveaux d'accès associés aux cercles sociaux. Chaque conteneur offre une quantité d'informations différente, et les personnes qui sont ajoutées à un conteneur spécifique ont uniquement accès aux informations qui sont mises à la disposition de ce conteneur. Chaque personne se trouvant dans la liste de contacts de l'utilisateur doit être présente dans un des conteneurs disponibles. Office Communicator permet à l'utilisateur d'assigner des personnes aux conteneurs ou de les transférer dans d'autres conteneurs en fonction du niveau de leur relation. Office Communicator utilise une méthode heuristique intelligente pour sélectionner automatiquement le conteneur par défaut (illustré à la figure 5).
Figure 5 Conteneurs de présence (Close Figure 5)

Container | Rôle
Bloqué | Bloque les informations sur la présence. Les appels des utilisateurs bloqués ne sont pas autorisés. Cependant, les utilisateurs bloqués peuvent voir le nom et l'adresse de messagerie.
Public | Fournit le nom, le titre, l'entreprise, l'adresse de messagerie et la disponibilité limitée.
Entreprise | Fournit des informations sur les contacts professionnels, l'emploi du temps de base et la disponibilité.
Équipe | Fournit les numéros de téléphone professionnels et les numéros de téléphone mobile, l'emploi du temps, la disponibilité, et peut interrompre l'utilisateur lorsqu'il est à l'état Ne pas déranger.
Personnel | Peut voir toutes les informations de contact publiées, y compris les numéros de téléphone de domicile et les numéros de mobiles.
L'agrégation de la présence dans OCS détermine la présence correcte de l'utilisateur en fonction des divers états de présence que les périphériques signalent au serveur. La figure 6 montre comment la présence est agrégée à partir d'une variété de sources. Notez que certaines informations, telles que l'état de présence et l'activité de l'utilisateur, sont envoyées par le mécanisme d'agrégation de présence d'OCS avant d'être disponibles dans les conteneurs et que d'autres informations, telles que les détails sur les contacts, sont ajoutées par les points de terminaison clients aux conteneurs respectifs. Le conteneur bloqué est absent car à l'exception des informations d'appartenance, aucune autre information n'est publiée sur ce conteneur.
Figure 6 Agrégation et publication de la présence
Figure 6 Agrégation et publication de la présence
Dans le système OCS, une relation de présence est établie lorsqu'un utilisateur ajoute un autre utilisateur à la liste de contacts. Toutefois, le système OCS vous permet également de voir la présence des autres utilisateurs de l'annuaire de l'entreprise sans devoir les ajouter individuellement à vos contacts.
La façon la plus simple de vérifier la présence d'une personne est de la rechercher dans Office Communicator. Cette opération crée une requête unique sur le serveur et ne s'abonne pas aux notifications du serveur concernant les changements d'états de présence des utilisateurs distants. Toutefois, lorsqu'un utilisateur ajoute un autre utilisateur à sa liste de contacts, il s'abonne aux notifications concernant les changements d'états de présence et reçoit automatiquement des alertes OCS en cas de changement.

Messagerie instantanée et audio
La messagerie instantanée utilise à la fois l'inscription et la présence. Dans le système OCS, les messages voyagent d'égal à égal et le serveur OCS joue le rôle de proxy qui fait passer les messages entre les clients d'Office Communicator.
Le premier message qu'un utilisateur envoie à un autre utilisateur est important. En jargon SIP, on dit qu'il établit la session. L'établissement d'une session consiste, entre autres, à trouver le bon client MPOP parmi les clients inscrits, et c'est là qu'OCS joue un rôle important en tant que proxy. Une fois que l'utilisateur accepte la session de messagerie instantanée entrante ou que l'un des points de terminaison MPOP de l'utilisateur émet une acceptation automatique, les messages suivants voyagent aisément de bout en bout sans qu'OCS n'ait à trouver un client approprié.
Les utilisateurs peuvent, s'ils le souhaitent, laisser leurs fenêtres de conversation ouvertes sur leurs bureaux, et Office Communicator 2007 mettra fin à la session SIP s'il ne détecte aucune activité au bout de 10 minutes (bien que la fenêtre de la messagerie instantanée restera ouverte). L'un ou l'autre interlocuteur peut également mettre fin à la session de messagerie instantanée. Une fois la session terminée, Office Communicator 2007 créera automatiquement un élément d'historique de la conversation qui enregistrera la conversation toute entière dans le dossier Historique des conversations d'Outlook. Il s'agit d'un dossier spécial créé dans Outlook par Office Communicator. Cette fonctionnalité de journalisation côté client est facultative et est désactivée par défaut. L'historique des conversations est utilisé par Office Communicator pour relancer une conversation avec le même utilisateur ; ainsi, les utilisateurs qui activent cette fonctionnalité vivront une meilleure expérience en continuant la conversation après que la fenêtre de la messagerie instantanée a été fermée.
Notez que les constructions de la messagerie instantanée présentées ici pour la bifurcation et MPOP s'appliquent également au scénario vocal. Au lieu de renfermer une description de session de messagerie instantanée, l'invitation contiendrait une description de session vocale indiquant une fonctionnalité audio. OCS appliquerait la bifurcation vers l'appel vocal à tous les points de terminaison, comme il le fait pour la messagerie instantanée.
La signalisation vocale dérive en grande partie des concepts de messagerie instantanée, mais introduit la nécessité de traiter les média. J'espère traiter ce sujet dans un futur article.

Rajesh Ramanathan travaille dans le domaine des communications depuis 14 ans et est actuellement responsable de programme principal au sein de l’équipe Office Communicator. Vous pouvez le contacter à l'adresse suivante : rajeshra@microsoft.com.


 Office&#160;Communications&#160;Server: Planification d'un d&#233;ploiement OCS&#160;2007&#160;Voice Enterprise
Office Communications Server Jochen Kunert and Rui Maximo

Planification d'un déploiement OCS 2007 Voice Enterprise
Vue d'ensemble:
  • Scénarios d'intégration de téléphonie
  • Configuration d'Office Communications Server
  • Utilisateurs, schéma de numérotation et itinéraires

Microsoft Office Communications Server (OCS) 2007 est un produit d'entreprise qui intègre les moyens de communication en temps réel avec la détection de la présence des utilisateurs, y compris la conférence Web
(partage de données, audio et vidéo), la messagerie instantanée et conversations audio/vidéo. L'intégration d'OCS 2007 avec un système PBX existant peut présenter des difficultés. Office Communications Server 2007 n'est pas conçu pour être un PBX car les spécialistes de l'information d'aujourd'hui utilisent une variété de moyens de communication (messagerie électronique, messagerie instantanée, téléphone et messagerie vocale) au cours de leur travail quotidien, tandis que les systèmes PBX gèrent uniquement les appels téléphoniques.
Pour fournir la flexibilité nécessaire aux administrateurs pour créer la stratégie d'intégration de téléphonie d'entreprise ou individuelle optimale, Office Communications Server 2007 propose trois scénarios de configuration pour l'intégration aux environnements de téléphonie existants. Ces scénarios sont : Le contrôle d'appel distant, Enterprise Voice et Enterprise Voice avec intégration de PBX.
Cet article porte sur les considérations de planification pour un déploiement de téléphonie d'OCS 2007, lequel peut devoir d'intégrer à un système de téléphonie existant. Ces informations revêtiront un intérêt particulier pour les architectes système et les administrateurs des services informatiques et de téléphonie. Nous fournirons par ailleurs un aperçu des autres scénarios, mais nous nous concentrerons sur Office Communications Server 2007 Enterprise Voice.

Contrôle d'appel distant
Ressources OCS supplémentaires
  • Pro LCS: Live Communications Server Administration
  • Intégration de la téléphonie avec Office Communications Server 2007
  • Guide de planification et de déploiement d'Enterprise Voice

Dans un scénario de contrôle d'appel distant, les utilisateurs disposent d'un PBX, d'un PBX IP ou d'un téléphone de bureau TDM (Time-Division Multiplexing). Depuis leur client Office Communicator 2007, ils peuvent envoyer et recevoir des appels sur leur téléphone de bureau sans composer de numéro sur le cadran ou prendre le combiné du téléphone. Bien que les utilisateurs puissent contrôler leur téléphone de bureau à l'aide d'Office Communicator 2007, l'audio est toujours géré par le système PBX et n'est pas converti en appel VoIP (voix sur IP). Même si Office Communicator 2007 peut contrôler le téléphone de bureau, les appels peuvent toujours être envoyés et reçus à partir du téléphone du PBX, qu'Office Communicator 2007 soit en cours d'exécution ou non.
Pour permettre l'utilisation du contrôle d'appel distant avec Office Communicator 2007 et OCS 2007, vous devez déployer une passerelle SIP (Session Initiation Protocol)/CSTA (Computer Supported Telephony Application Computer) et activer votre environnement Office Communications Server 2007 pour le contrôle d'appel distant. La passerelle SIP/CSTA doit interagir avec le type de système PBX que vous utilisez et être compatible avec OCS 2007 car elle permet de relier les deux systèmes. Pour contrôler le téléphone du PBX, Office Communicator 2007 utilise le protocole CSTA. Ce protocole définit un schéma XML pour l'interface avec un standard téléphonique (PBX), comme décrit dans la norme ECMA (European Computer Manufacturers Association), que vous trouverez à l'adresse www.ecma-international.org/publications/standards/Ecma-269.htm.
Office Communicator 2007 envoie des commandes CSTA pour contrôler le téléphone PBX tandis que les charges SIP sont acheminées vers la passerelle SIP/CSTA par Office Communications Server 2007. Office Communications Server 2007 n'a pas besoin de comprendre le protocole CSTA. Il a juste besoin de savoir comment l'acheminer. La passerelle SIP/CSTA convertit ensuite les commandes en protocole natif utilisé par le PBX. Ceci est illustré à la figure 1.
Figure 1 Scénario d'intégration du contrôle d'appel distant
Figure 1 Scénario d'intégration du contrôle d'appel distant
L'activation du contrôle d'appel distant nécessite cinq étapes. La première étape est la configuration de la passerelle SIP/CSTA pour la communication avec votre PBX. Ensuite, vous devez configurer OCS 2007 pour qu'il achemine les requêtes CSTA vers la passerelle SIP/CSTA. La troisième étape est la configuration des utilisateurs pour le contrôle d'appel distant. La quatrième étape est la configuration d'Office Communicator 2007. La cinquième étape consiste à définir les règles de normalisation d'OCS 2007, qui sont également utilisées pour la normalisation des numéros de téléphone du carnet d'adresses et qui sont différentes des règles de normalisation des numéros de téléphone utilisées en association avec Enterprise Voice.

Enterprise Voice
Lorsqu'un utilisateur est activé pour Enterprise Voice, Office Communicator 2007 ou Office Communicator Phone Edition devient son téléphone principal, au lieu de son téléphone PBX. Office Communicator 2007 disposera d'un numéro de téléphone unique qui lui aura été attribué. (Pour les tests, le téléphone PBX existant peut être transféré vers une nouvelle extension donnée à Office Communicator 2007.) Office Communicator 2007, en association avec un périphérique audio USB recommandé, gèrera le contrôle d'appel (ou sa signalisation) et le média (audio et vidéo).
Dans ce scénario, Office Communicator 2007 achemine les appels entre les points de terminaison Office Communicator 2007 sur le réseau IP (appels IP à IP) et achemine les appels au réseau téléphonique commuté public (RTC)/PBX (appels IP à RTC). OCS 2007 applique des restrictions de composition de numéro aux appels acheminés vers le RTC.
Pour connecter votre environnement Office Communicator 2007 à un PBX ou RTC, vous devez déployer une passerelle multimédia, également appelée passerelle SIP/RTC ou IP/RTC. La passerelle multimédia doit être associée à un serveur de médiation (rôle de serveur d'OCS 2007) pour se connecter à votre environnement Office Communications Server 2007, comme illustré à la figure 2. Le serveur de médiation et la passerelle multimédia associée doivent être installés dans le même emplacement physique.
Figure 2 Scénario d'intégration d'Enterprise Voice avec RTC ou un PBX existant
Figure 2 Scénario d'intégration d'Enterprise Voice avec RTC ou un PBX existant
Le serveur de médiation permet la connexion de passerelles multimédia prenant en charge les implémentations standard, même non sécurisées, de SIP avec Office Communications Server 2007, car OCS 2007 autorise uniquement la communication chiffrée avec authentification. Une autre tâche du serveur de médiation consiste à contrôler les traductions de codec entre les codecs standard (G.711, G.723, etc.) et le codec audio Microsoft en temps réel. Pour une liste des passerelles multimédia prises en charge par Office Communications Server 2007, consultez la liste des partenaires de matériel stratégiques à l'adresse technet.microsoft.com/bb735838.
Vous pouvez connecter les passerelles multimédia directement au RTC, ou au circuit interurbain de l'interface d'accès primaire (PRI) d'un PBX existant. La figure 2 illustre les scénarios d'intégration possibles pour le scénario Enterprise Voice avec RTC et PBX existant. Aucun directeur (habituellement un serveur Office Communications Server Standard Edition Server) n'est nécessaire pour un déploiement d'Enterprise Voice. Il est cependant recommandé d'en utiliser un.
L'activation d'Enterprise Voice nécessite quatre étapes. La première étape consiste à déployer et à configurer les passerelles multimédia. Comme il s'agit d'un produit de partenaire de Microsoft, vous devez vous référer à la documentation du fournisseur, car chaque passerelle multimédia possède des étapes de déploiement différentes.
Ensuite, déployez un serveur de médiation pour chaque passerelle multimédia. Au cours de cette étape, vous devez configurer une carte réseau du serveur de médiation pour envoyer et recevoir le trafic provenant de la passerelle multimédia, et configurer l'autre carte réseau du serveur de médiation pour envoyer et recevoir le trafic provenant d'un serveur Office Communications Server 2007 (généralement un directeur, dans un déploiement d'Enterprise Edition). À moins que votre passerelle multimédia ne soit une passerelle avancée, elle aura besoin de l'assistance d'un rôle de serveur de médiation OCS 2007 pour interagir avec votre infrastructure OCS 2007 Enterprise Voice.
La troisième étape consiste à définir un schéma de numérotation. Il s'agit de définir les stratégies de voix, les itinéraires téléphoniques et les profils d'emplacement.
Ensuite, les utilisateurs doivent être configurés pour Enterprise Voice. De plus, les utilisateurs doivent être activés pour Enterprise Voice afin de pouvoir envoyer et recevoir des appels à partir du PBX ou du RTC. Ceci nécessite l'attribution d'un numéro de téléphone unique à chaque utilisateur.

Enterprise Voice avec intégration de PBX
Cette configuration est une extension de la configuration d'Enterprise Voice. La différence réside dans le fait que le téléphone PBX de l'utilisateur est synchronisé sur son client Office Communicator. La configuration est similaire au scénario Enterprise Voice de connexion au RTC via un PBX, comme illustré à la figure 2. Cependant, dans ce cas, au lieu de remplacer le téléphone PBX de l'utilisateur par un client Office Communicator 2007, Office Communicator 2007 et le téléphone PBX existant utiliseront le même numéro de téléphone.
Si un appelant compose l'extension de l'utilisateur depuis autre téléphone PBX ou un téléphone RTC, le système PBX déviera l'appel vers le téléphone PBX de l'utilisateur et vers client Office Communicator 2007 via Office Communications Server 2007. Le client Office Communicator 2007 et le téléphone PBX sonneront simultanément lors de la réception d'un appel. Inversement, Office Communications Server déviera les appels effectués à partir d'OCS 2007 vers le PBX via la passerelle multimédia. Ce scénario n'est pas possible lorsqu’Office Communicator Phone Edition est utilisé. Cette configuration nécessite que la messagerie vocale soit gérée par le système de messagerie vocale du PBX. La messagerie unifiée d'Exchange Server 2007 ne peut pas être utilisée comme solution de messagerie vocale pour de tels utilisateurs.
L'activation d'Enterprise Voice avec intégration de PBX nécessite les mêmes étapes que le déploiement d'Enterprise Voice, avec toutefois trois étapes supplémentaires. Dans la première étape supplémentaire, la passerelle multimédia doit être directement connectée au PBX. Ensuite, le PBX doit être configuré pour prendre en charge ce scénario. (Ceci peut nécessiter une mise à niveau du logiciel du PBX, en fonction de votre fournisseur) Enfin, les utilisateurs doivent être activés pour l'intégration du PBX.
Microsoft travaille à la prise en charge de la connexion directe du serveur de médiation au PBX IP, sans l'intermédiaire d'une passerelle multimédia. Pour obtenir les informations les plus récentes à ce sujet, consultez la page technet.microsoft.com/bb735838.

Configuration d'Office Communications Server
Les fonctionnalités d'Enterprise Voice sont gérées par les services s'exécutant sur Office Communications Server 2007 Enterprise Edition et Office Communications Server 2007 Standard Edition. La figure 3 décrit les services fournissant les fonctionnalités Enterprise Voice pour l'acheminement des appels entrants et sortants.
Figure 3 Services Enterprise Voice (Close Figure 3)

Service | Description
Service de traduction | Applique des règles de normalisation basées sur le profil d'emplacement ou le contexte téléphonique.
Services d'utilisateurs | Effectuent la recherche de numéro inversée du numéro de téléphone cible.
Composant de routage de réception | Applique les préférences d'appel de l'utilisateur cible.
Messagerie unifiée Exchange | Transfère la requête à la messagerie vocale selon les besoins.
Composant de routage d'envoi | Détermine l'itinéraire optimal en fonction de l'URI et de la stratégie utilisateur.
La figure 4 illustre la façon dont chacun de ces composants fonctionne sur les appels entrants lorsqu'ils sont acheminés par OCS 2007 pour un appel de PC à PC. Les appels entrants peuvent provenir d'un point de terminaison connecté tel qu'Office Communicator 2007 ou Office Communicator Phone Edition, ou d'un serveur de médiation en provenance d'un RTC/PBX (appel RTC-SIP). Les appels sortants provenant d'un des points de terminaison clients Office Communications Server 2007 de l'appelant, tels qu'Office Communicator 2007, sont envoyés au pool Standard Edition Server ou Enterprise où l'utilisateur est hébergé. Ceci porte le nom de pool de domicile de l'utilisateur.
Figure 4 Interaction des services liés à Enterprise Voice sur OCS Serveurs frontaux
Figure 4 Interaction des services liés à Enterprise Voice sur OCS Serveurs frontaux
À ce stade, Office Communications Server 2007 traite l'appel pour déterminer où l’acheminer. Ce saut suivant peut avoir pour destination le pool de domicile de la partie appelée, un serveur de médiation ou la messagerie unifiée Microsoft® Exchange Server 2007 (voir la figure 5). Si l'appel est acheminé vers un autre pool de domicile, OCS 2007 envoie l'appel à tous les points de terminaison actifs de la partie appelée. Le logiciel Office Communicator 2007 ou Office Communicator Phone Edition de la partie appelée sonnera et une fenêtre contextuelle de notification s'affichera sur le périphérique.
Figure 5 Acheminement d'appel
Figure 5 Acheminement d'appel
Si l'appel est acheminé vers un serveur de médiation, le serveur est configuré pour acheminer l'appel vers une passerelle multimédia spécifique. Si la passerelle multimédia est directement connectée à un PBX, l'appel est alors acheminé par le PBX vers un téléphone de bureau ou vers le RTC. Cependant, si la passerelle multimédia est directement connectée au RTC, l'appel va au RTC.
Si le saut suivant est à destination de la messagerie unifiée Exchange Server 2007, le visiteur peut laisser un message. La messagerie vocale est disponible, que la partie appelée soit connectée ou non à Office Communications Server 2007.
Lorsque la partie appelée répond, l'audio est envoyé directement du logiciel Office Communicator 2007 ou Office Communicator Phone Edition de la partie appelante vers le logiciel Office Communicator 2007 ou Office Communicator Phone Edition, dans un appel IP à IP. Si la partie appelante utilise un PBX ou un téléphone RTC, le serveur de médiation envoie le trafic audio directement au logiciel Office Communicator 2007 ou Office Communicator Phone Edition de la partie appelée dans un appel IP à RTC. OCS 2007 gère uniquement le signal d'appel, raison pour laquelle l'audio et la vidéo voyagent directement entre les points de terminaison et ne sont pas acheminés par OCS 2007.

Configuration des utilisateurs
Des numéros de téléphone uniques au sein de l'organisation doivent être affectés aux utilisateurs activés pour Enterprise Voice. Cette configuration s'effectue dans Active Directory®. Ceci est différent de la plupart des systèmes de téléphonie, où le téléphone est assorti d'un numéro de téléphone. L'avantage de cette conception est que les utilisateurs peuvent transformer leur ordinateur exécutant Office Communicator 2007 en téléphone de travail, en se connectant à OCS 2007 à partir du client. Cette fonctionnalité de portabilité peut avoir de l'attrait pour les télétravailleurs ou les employés sur le terrain.
Le numéro de téléphone de l'utilisateur est spécifié au format E.164 dans Active Directory. Ce format définit le schéma de numérotation des télécommunications publiques internationales, un schéma de numérotation permettant de représenter les numéros de téléphone de manière unique et non ambiguë. Le format E.164 spécifie le numéro de téléphone dans ce format :
+<country code><area code><phone number>
Un utilisateur activé pour Enterprise Voice possède deux représentations uniques : un URI SIP et numéro de téléphone E.164. Lorsqu'un numéro de téléphone est composé, Office Communications Server effectue la résolution la représentation E.164 du numéro de téléphone (+14255551212) en URI SIP de l'utilisateur (joe@contoso.com). Office Communications Server 2007 achemine ensuite l'appel en fonction de l'URI SIP de la partie appelée. Si le numéro de téléphone ne peut pas être résolu en URI SIP, OCS 2007 achemine l'appel hors du PBX/RTC via un serveur de médiation.
Lorsque vous planifiez un déploiement Enterprise Voice dans lequel chaque utilisateur d'Office Communications Server Communications doit se voir attribuer un numéro de téléphone unique, vous devez prendre en considération votre système de téléphonie existant. Si vous vous connectez au RTC directement via une passerelle multimédia, vous disposerez probablement d'un bloc complet de numéros d'extension à 2 ou 3 chiffres, des numéros de numérotation interne directe (DID, Direct-Inward-Dialing) pouvant être distribués aux utilisateurs d'OCS 2007. Si vous vous connectez au RTC via un PBX, vous disposerez probablement d'un bloc de numéros DID fournis par le PBX à attribuer aux utilisateurs d'OCS 2007.

Schémas de numérotation
Bien que les numéros de téléphone au format E.164 offrent une représentation unique, ils ne sont pas pratiques pour la composition des numéros. Il n'est également pas possible d'entrer un numéro dans ce format dans Office Communicator Phone Edition ou sur les téléphones PBX/RTC standard. Comment spécifier le caractère + à l'aide d'un cadran numérique à 10 chiffres ? Les utilisateurs sont habitués à composer des extensions plus courtes, qui peuvent être uniques pour un emplacement spécifique mais peut-être pas à l'échelle de l'entreprise. Par conséquent, il est nécessaire de spécifier des règles de traduction pour leur conversion au format E.164.
L'administrateur doit définir des profils d'emplacement qui spécifient les règles de normalisation pour l'exécution de ces traductions de numéros. Après l'extension du numéro de téléphone par le client (Office Communicator 2007 ou Communicator Phone Edition) ou le Service de traduction d'Office Communications Server 2007 au format E.164, les Services utilisateur peuvent exécuter une recherche inversée de numéro et faire correspondre le numéro E.164 à un URI SIP. Les règles de normalisation définies dans un profil d'emplacement utilisent des expressions régulières pour effectuer la traduction si une correspondance est trouvée. Par exemple, si le numéro 1234 est composé, une normalisation faisant correspondre le modèle à quatre chiffres à +1425555{4 chiffres} traduira 1234 par +1425551234. Les profils d'emplacement permettent par conséquent aux utilisateurs de garder les habitudes de numérotation auxquelles ils sont accoutumés.
Les administrateurs peuvent attribuer les profils d'emplacement aux utilisateurs de trois façons :
  • En définissant le profil d'emplacement pour les utilisateurs utilisant Office Communicator 2007 via une stratégie de groupe.
  • En permettant aux utilisateurs de sélectionner un profil d'emplacement depuis Office Communicator Phone Edition.
  • En attribuant un profil d'emplacement au pool de domicile. Les utilisateurs de ce pool se verront automatiquement affecter ce profil de location.
La définition d'un schéma de numérotation implique la création de stratégies Voice, d'itinéraires de téléphonie et de profils d'emplacement avec règles de normalisation. Les stratégies Voice définissent le type d'accès aux appels pour lesquels les utilisateurs bénéficient d'une autorisation. Office Communications Server 2007 détermine comment acheminer les appels au PBX/RTC en fonction des itinéraires téléphoniques. Comme les numéros de téléphone peuvent être composés d'une multitude de façons, les règles de normalisation d'un profil d'emplacement définissent le mode de conversion du numéro de téléphone composé au format E.164, qui peut ensuite être acheminé.
Chaque utilisateur activé pour Enterprise Voice est associé par l'administrateur à une stratégie Voice. Une stratégie Voice définit les privilèges d'appel attribués à un utilisateur. Les privilèges d'appel déterminent les itinéraires que l'utilisateur est autorisé à utiliser et par conséquent les numéros que l'utilisateur est autorisé à composer. Chaque utilisateur doit être associé à une seule stratégie Voice. Le nombre de stratégies disponibles est déterminé par l'administrateur.
Chaque stratégie Voice contient un paramètre permettant d'autoriser ou d'interdire à des utilisateurs d'effectuer des appels simultanés ainsi qu'une liste ordonnée des utilisations téléphoniques. La stratégie Voice, similaire à la stratégie de réunion, est un conteneur logique de paramètres défini en tant que document XML stocké dans Active Directory. L'avantage de cette conception est qu'elle peut être étendue dans les versions futures d'OCS 2007 pour prendre en charge des paramètres de stratégie supplémentaires, sans nécessiter d'extension du schéma Active Directory. Par exemple, si une stratégie Voice n'est pas associée à des utilisations téléphoniques, les utilisateurs affectés à cette stratégie ne pourront pas envoyer des appels sortants au PBX/RTC. Ces utilisateurs pourront uniquement envoyer des appels d'IP à IP.

Utilisation téléphonique et itinéraires
Une utilisation téléphonique définit les privilèges d'acheminement téléphonique auxquels les utilisateurs ont droit. Une utilisation téléphonique est une collection d'itinéraires téléphoniques. Il s'agit d'une chaîne qui doit être un mot-clé unique, ce qui signifie qu'aucune autre utilisation téléphonique ne peut avoir le même nom. Les administrateurs peuvent créer autant d'utilisations qu'ils le souhaitent.
Bien qu'une stratégie Voice puisse être directement associée à un itinéraire ou à un ensemble d'itinéraires au lieu des utilisations téléphoniques, le mot-clé d'utilisation téléphonique est une abstraction permettant de maintenir des associations entre les stratégies et les itinéraires. Si les stratégies étaient directement associées aux itinéraires, supprimant ainsi le concept d'utilisation téléphonique, et que l'administrateur modifiait le nom d'un itinéraire, toute stratégie associée à cet itinéraire devrait être mise à jour. Avec une utilisation téléphonique, qui est à la fois un attribut de stratégie et un itinéraire pour la création de l'association entre la stratégie et l'itinéraire, la relation entre la stratégie et l'itinéraire est conservée, même si le nom de l'itinéraire est modifié.
Un itinéraire contient un modèle de numéro de téléphone et une liste des serveurs de médiation connectés aux passerelles multimédia. Un itinéraire doit être attribué à au moins une utilisation téléphonique. Cette association entre le modèle et les passerelles spécifie comment acheminer les numéros de téléphone qui correspondent à ce modèle particulier.
Le modèle spécifie une plage de numéros de téléphone auxquels il peut correspondre. Il est défini comme une expression régulière pouvant inclure et exclure des numéros de téléphone. L'outil Enterprise Voice Route Helper est inclus afin de vous aider à créer plus facilement ces expressions régulières. Par conséquent, si le numéro de téléphone qui est composé correspond à l'expression régulière d'un itinéraire, l'appel est alors acheminé vers l'une des passerelles définies dans l'itinéraire.
Il est possible de répertorier plus d'un serveur de médiation (et par conséquent plus d'une passerelle multimédia) dans un itinéraire unique. Office Communications Server 2007 achemine les appels aux serveurs de médiation à tour de rôle, afin d'équilibrer le trafic entre les passerelles. Si une passerelle connaît une défaillance ou est mise hors service à des fins de maintenance, le serveur de médiation correspondant renverra une réponse à Office Communications Server 2007, qui tentera immédiatement d'acheminer l'appel vers un autre serveur de médiation (et par conséquent une passerelle multimédia différente) de la liste de l'itinéraire.
Après l'échec de 10 tentatives d'acheminement des appels vers une passerelle multimédia, Office Communications Server 2007 réduit le trafic vers cette passerelle multimédia jusqu'à ce qu'elle réponde à nouveau. Si la passerelle multimédia continue à ne pas répondre après 10 tentatives supplémentaires, Office Communications Server 2007 arrête d'acheminer les appels vers cette passerelle multimédia jusqu'à ce qu'elle réponde.
La liste des passerelles multimédia définies dans l'itinéraire téléphonique est décrite par le nom de domaine complet et le numéro de port de la passerelle. Si le numéro de téléphone ne correspond pas au modèle d'expression régulière, l'itinéraire suivant associé à l'utilisation téléphonique affectée à l'utilisateur est vérifié jusqu'à ce qu'une correspondance soit trouvée. Si aucune correspondance n'est trouvée, l'appel ne peut pas être acheminé et n'atteint pas sa destination. L'utilisateur reçoit une notification lui indiquant que l'appel n'a pas pu être effectué.

Étapes suivantes
Office Communications Server 2007 fournit trois niveaux d'intégration la de téléphonie. Lors de la planification de votre déploiement de téléphonie, vous devrez déterminer le niveau répondant au mieux aux besoins de téléphonie actuels et futurs de votre d'entreprise. Une fois ceci déterminé, vous pouvez planifier votre déploiement. L'un des aspects importants de votre planification est la définition du schéma de numérotation pour votre déploiement d'Office Communications Server Enterprise Voice. Celui-ci doit être soigneusement planifié.
Pour plus d'informations sur Office Communications Server 2007 Enterprise Voice et les technologies connexes, consultez l'encadré « Ressources OCS supplémentaires ».

Jochen Kunert possède 10 années d'expérience dans l'industrie des télécommunications et travaille maintenant comme responsable de programme senior au sein du groupe Office Communications de Microsoft. Il est coauteur d'un ouvrage très prochainement disponible, Microsoft Office Communications Server 2007 Resource Kit. Vous pouvez le joindre à l’adresse suivante : jkunert@microsoft.com.
Rui Maximo travaille dans l'informatique depuis 14 ans et est coauteur de deux livres, Pro LCS: Live Communications Server Administration et Microsoft Office Communications Server 2007 Resource Kit. Vous pouvez le joindre à l’adresse suivante : ruim@ruimaximo.com.


 Informatique hautes performances: Introduction &#224; Windows&#160;Compute&#160;Cluster&#160;Server
Informatique hautes performances John Kelbley and Doug Lindsey

Introduction à Windows Compute Cluster Server
Vue d'ensemble:
  • Utilisation de clusters pour résoudre des problèmes complexes
  • Exigences générales pour les clusters de calcul
  • Configuration d'un cluster de calcul Windows
  • Exécution de commandes à distance

Le terme Informatique hautes performances (HPC – High Performance Computing) se réfère à une branche de l'informatique appliquée portant essentiellement sur la résolution de problèmes nécessitant une grande quantité de calculs. Il y a des années, l'informatique hautes performances (alors plus souvent appelée « superinformatique ») était dominée par
de gros systèmes spécialisés très coûteux que l'on trouvait principalement dans des centres de recherche. Toutefois, à mesure que la puissance de calcul des systèmes plus petits augmentait, le rapport coût/performances s'est modifié et les gros volumes de calcul ont été transférés sur des systèmes de type PC.
De nombreux problèmes demandant beaucoup de calculs peuvent être résolus en effectuant les calculs en parallèle, à condition toutefois qu'un calcul ou un processus particulier ne soit pas dépendants des résultats d'un autre pour s'effectuer. Dans des cas comme celui-ci, les problèmes complexes peuvent tirer parti de plusieurs systèmes plus petits (nœuds) regroupés en clusters de calcul. Voici quelques exemples de types d'applications pouvant bénéficier des clusters de calcul :
  • Modèles financiers : les algorithmes et les formules sont exécutés des milliers de fois, chaque fois avec des informations différentes en entrée.
  • Ingénierie : simulation d'effets dans des pièces distinctes, application de textures à des modèles.
  • Animation informatique : application de textures et d'effets d'éclairage à chaque image d'un film.
Les clusters de calcul sont une façon économique de résoudre des problèmes complexes dans un délai réduit. Comme vous le verrez ici, Microsoft offre des fonctionnalités et une prise en charge clés pour les clusters de calcul via Windows® Compute Cluster Server 2003.
Il est important de comprendre qu'un cluster de calcul est différent d'un cluster de disponibilité (de basculement). Vous connaissez peut-être déjà les clusters de disponibilité pour Exchange, SQL Server® ou d'autres applications de Windows Server® 2003. Ils se servent en général du stockage partagé pour optimiser la disponibilité d'une application. L'objectif des clusters de calcul n'est pas de reprendre le travail d'un autre système en cas de coupure de courant mais de permettre à tous les nœuds de travailler de façon coordonnée.

Exigences générales pour un cluster de calcul
Ressources sur l'informatique hautes performances
  • Communauté Windows HPC
  • Informatique hautes performances avec WCCS 2003
  • Présentation de l'informatique 64 bits Microsoft
  • Accueil Serveurs Microsoft
  • TechCenter Compute Cluster Server
  • Guide pas-à-pas d'installation, de configuration et de réglage d'un déploiement de clusters de calcul hautes performances

Les systèmes HPC modernes partagent certains éléments clés qui facilitent le traitement des charges de travail. Pour commencer, vous devez disposer de plus d'un système. Vous avez aussi besoin d'un planificateur pour coordonner les affectations de tâches entre les nœuds. Le planificateur s'exécute sur le nœud responsable (le nœud de tête) et identifie les ressources disponibles, attribuant et distribuant les tâches et contrôlant leur état global. Il s'agit du coordinateur de ressources au sein du cluster de systèmes et du point où les utilisateurs et les administrateurs soumettent les travaux à traiter.
Les clusters ont besoin d'un moyen de communiquer d'un nœud à l'autre. Selon le type de travail, les nœuds peuvent avoir besoin d'interconnexions ultra-rapides, avec un temps de latence faible pour échanger des messages en vue de coordonner le traitement. Au minimum, chaque nœud de calcul et le nœud de tête doivent être connectés sur un réseau commun.
Les systèmes interconnectés en grand nombre, travaillant ensemble à résoudre des problèmes complexes, ont également besoin de beaucoup d'attention. Les processus et outils adaptés à la mise en service, le contrôle, la gestion et la maintenance de douzaines, voire de centaines ou de milliers de systèmes doivent garantir un environnement stable et cohérent.
Enfin, le plus important, les applications qui peuvent exploiter les fonctionnalités de traitement en parallèle d'un cluster de calcul doivent être disponibles. Sans des applications capables de diviser les tâches pour qu'elles soient traitées sur différents ordinateurs, ou des outils de développement qui incluent la prise en charge d'un « débogueur parallèle », un cluster ne servirait sans doute qu'à chauffer votre salle d'ordinateurs.

Clusters Windows Server
En 2006, Microsoft a commercialisé Windows Server 2003 Compute Cluster Edition (CCE) et Windows Compute Cluster Server 2003 (WCCS) pour répondre aux besoins d'un grand nombre d'applications HPC. CCE et WCCS sont basés sur le Windows Server 2003 que vous connaissez déjà. CCE est une version de Windows Server 2003 prévue pour une utilisation avec les applications HPC. WCCS est identique à CCE, avec l'ajout du pack Microsoft® Compute Cluster Pack (CCP). Cela signifie que vous pouvez déployer, gérer, contrôler et maintenir un cluster Windows Server à l'aide des mêmes outils que ceux que vous utilisez déjà pour gérer les systèmes Windows Server 2003 existants.
Il est cependant à noter que CCE et WCCS sont uniquement disponibles en version x64 ; il n'existe pas de version 32 bits (x86) de ces produits. La configuration matérielle requise pour CCE avec WCCS est identique à celle de Windows Server 2003 Edition Standard x64. Outre la prise en charge de matériel hautes performances (architecture 64 bits), les produits incluent la prise en charge de l'accès direct à la mémoire à distance (Remote Direct Memory Access – RDMA) pour les interconnexions hautes performances (Gigabit Ethernet, InfiniBand, Myrinet, etc.).

Compute Cluster Pack
Comme mentionné précédemment, les clusters de calcul ont certaines exigences fondamentales qui peuvent être satisfaites par l'installation du pack Compute Cluster Pack (CCP). Le CCP est un package d'installation autonome qui inclut :
  • Un planificateur de tâches intégré
  • La prise en charge d'une interface de passation de message (MPI) pour la norme MPICH2
  • Des outils de gestion des ressources de cluster ou destinés aux utilisateurs
Le CCP est le différentiateur clé entre CCE et WCCS. Vous vous demandez peut-être pourquoi, si les clusters de calcul ont besoin de ces composants, ils sont uniquement inclus dans WCCS et pas dans CCE. La réponse est que certaines solutions HPC exploitent des planificateurs de tâches différents ou des MPI spécialisés (ou ne nécessitent pas la prise en charge de MPI) et ont simplement besoin d'une plate-forme robuste sur laquelle s'exécuter, par exemple, Windows Server 2003. Comme le CCP est un package autonome, vous pouvez l'installer sur d’autres versions x64 de Windows Server 2003 (CCE, Standard, Standard R2, Enterprise et Enterprise R2).

Description du fonctionnement
WCCS exploite les principes de base les plus importants de Windows pour simplifier la gestion et le fonctionnement des clusters Windows, y compris Active Directory® et Remote Installation Services (RIS). Compute Cluster Server utilise Active Directory pour gérer la sécurité de façon transparente. Avec Active Directory, un utilisateur peut soumettre au nœud de tête, à l'aide d'un jeu d'informations d'identification unique, une tâche qui peut s'exécuter sur des centaines de nœuds de serveur. Lorsque les tâches sont exécutées sur un ou plusieurs nœuds, elles s'exécutent dans le contexte des informations d'authentification utilisateur fournies lors de la soumission de la tâche et sont mises en cache de façon sécurisée par la suite. WCCS s'appuie sur Active Directory pour fournir cette fonctionnalité de « point de connexion unique ». L'un des avantages supplémentaires de la présence d'Active Directory dans l'environnement réside dans le fait que le serveur et la stratégie de configuration peuvent être administrés de façon centralisée à l'aide de la stratégie de groupe.
Si votre service informatique a déjà déployé Active Directory, vous pouvez économiser du temps et des efforts en générant votre cluster dans le domaine existant. C'est le scénario recommandé.
Si vous devez déployer un cluster de calcul dans un environnement où Active Directory n'existe pas, une pratique recommandée consiste à déployer un ou plusieurs contrôleurs de domaine dédiés pour héberger Active Directory pour le cluster. Il n'est pas rare de faire du nœud de tête le contrôleur de domaine Active Directory puisque tous les nœuds disposent déjà de la connectivité réseau au système, quelle que soit la topologie du réseau. Cependant, faire du nœud de tête le contrôleur de domaine n'est pas recommandé pour les clusters de grande enverguez en raison de l'augmentation de la charge sur le nœud de tête. Les pratiques courantes de déploiement et de gestion d'Active Directory doivent être suivies (installation de contrôleurs de domaine redondants, sauvegardes suffisantes, bonnes pratiques de sécurité, etc.).

Service d'installation à distance
WCCS fournit un frontal intégré pour la plate-forme de déploiement d'image Microsoft Remote Installation Service (RIS). RIS est utilisé pour déployer les images de système d'exploitation du nœud de tête sur chacun des nœuds de calcul, ce qui signifie que vous pouvez utiliser RIS pour installer les nouveaux nœuds de clusters rapidement. Vous n'êtes pas obligé de le faire de cette façon. RIS est uniquement intégré dans WCCS pour plus de facilité. D'autres technologies de déploiement courantes de Windows Server peuvent aussi être utilisées, comme Windows Server 2003 Automated Deployment Services (ADS) ou une installation manuelle de Windows Server 2003.
Si vous voulez utiliser RIS, avant d'installer le CCP sur votre nœud de tête, assurez-vous d'avoir au moins deux disques logiques définis. RIS nécessite un disque distinct du système d'exploitation pour le stockage des images du serveur. Votre partition RIS doit contenir suffisamment d'espace disque pour recevoir une ou plusieurs copies complètes d'une image de Windows Server.
Les matériels de serveur les plus récents, notamment les appareils de mise en réseau et de stockage peuvent nécessiter des pilotes plug-and-play qui ne sont pas contenus dans les images par défaut de Windows Server 2003. Dans ce cas, vous devrez les ajouter manuellement à l'image. La procédure correspondante est décrite en ligne à l'adresse support.microsoft.com/kb/254078.

Installation de votre cluster
La première étape consiste à configurer le cerveau de votre cluster : le nœud de tête. Commencez par installer l'une des versions x64 de Windows Server 2003 évoquée plus tôt. Pendant l'installation du système d'exploitation, vous choisissez si vous souhaitez ou non rattacher le serveur à un domaine existant (recommandé) ou installer Active Directory sur le serveur (non recommandé pour les clusters de grande envergure).
Après avoir installé le système d'exploitation, vérifiez que vous avez également téléchargé et installé tous les correctifs recommandés depuis Microsoft Update. Si vous avez l'intention d'utiliser RIS pour l'imagerie des nœuds de calcul, vous devez ensuite utiliser l'outil administrateur de gestion d'ordinateur/gestion de disque pour vous assurer que deux disques logiques au moins sont définis. Pour des contraintes d'espace, nous ne couvrirons pas l'installation basée sur RIS dans cet article.
Une fois que vous avez ouvert une session et mis à jour votre serveur avec succès, vous devez exécuter le programme d'installation du CCP. Le programme d'installation du CCP effectuera l'installation ou vous guidera tout au long des étapes de téléchargement et d'installation des fichiers et mises à jour prérequis suivants :
  • Correctif pour RIS (voir go.microsoft.com/fwlink/?linkid=55167)
  • Microsoft Management Console (MMC) 3.0 (voir go.microsoft.com/fwlink/?linkid=62400)
  • SQL Server Desktop Edition, installé dans le cadre du processus d'installation du nœud de tête de Compute Cluster Server 2003.
  • Microsoft .NET Framework 2.0
Le programme d'installation du CCP est particulièrement efficace pour évaluer si votre système est prêt pour l'installation. Il vous fera savoir quels composants sont nécessaires et installés dans le cadre du processus et les installera, comme illustré à la figure 1.
Figure 1 Composants nécessaires à l'installation du CCP
Figure 1 Composants nécessaires à l'installation du CCP

Liste des tâches
Une fois l'installation du CCP est complète, celui-ci lance la console d'administration, en se centrant sur la liste de tâches. Comme le montre la figure 2, la liste de tâches contient plusieurs volets, chacun consacré à un domaine différent et énumérant les tâches clés pour terminer la configuration du cluster.
Figure 2 La liste de tâches affiche ce que vous devez faire pour configurer votre cluster
Figure 2 La liste de tâches affiche ce que vous devez faire pour configurer votre cluster
La liste de tâches vous permet d'implémenter facilement l'architecture de cluster que vous avez élaborée, notamment de sélectionner et de configurer la topologie de réseau, le processus d'installation des nœuds et le modèle de gestion des utilisateurs. Les tâches correspondant à chacun des volets sont listées sur le côté droit et chaque tâche lance un Assistant. Effectuez chaque tâche dans l'ordre pour obtenir un nœud de tête entièrement configuré, prêt à déployer les images de RIS à un ensemble connu de nœuds de calcul et qui peut être administré et utilisé par un groupe défini d'utilisateurs.
Topologie de mise en réseau WCCS prend en charge les cinq topologies de réseau les plus courantes utilisées en HPC. Au minimum, tous les nœuds de calcul et le nœud de tête doivent partager le même réseau. Les topologies incluent la prise en charge de plusieurs types d'interconnexions entre les nœuds et ont des avantages et des coûts qui leur sont propres.
Votre topologie de réseau dépendra des performances, de la sécurité et des exigences de déploiement de votre cluster. Par exemple, votre application peut nécessiter une interconnexion ultra-rapide pour la transmission de messages, que vous ne voulez pas exposer à votre réseau d'entreprise. Peut-être souhaitez-vous profiter des fonctionnalités de déploiement RIS intégrées et automatisées. Peut-être le matériel que vous avez choisi ne peut-il contenir qu'une seule carte réseau ou peut-être voulez-vous que le nœud de tête exécute le partage de connexion Internet (ICS) pour gérer la résolution des noms et l'adressage des nœuds de calcul. L'Assistant de configuration de topologie réseau du cluster invoqué à partir de la liste des tâches vous présentera les cinq topologies généralement prises en charge par les implémentations HPC courantes et vous aidera à configurer vos connexions réseau, y compris les configurations de pare-feu Windows sur le nœud de tête et les nœuds de calcul. La figure 3 illustre une des topologies de réseau prises en charge.
Figure 3 Une des topologies de réseau WCCS prises en charge
Figure 3 Une des topologies de réseau WCCS prises en charge
Service d'installation à distance Comme indiqué précédemment, RIS permet le déploiement automatisé des nœuds de clusters.
Gestion des nœuds Vous avez la possibilité de spécifier les noms des serveurs qui seront des nœuds de calcul dans ce cluster. Lorsque le CCP est exécuté sur un nœud, le nœud de tête du cluster auquel le nœud se rattachera est spécifié.
Gestion des utilisateurs Ici, vous pouvez spécifier quels comptes d'utilisateurs ou groupes Active Directory seront désignés comme administrateurs système et lesquels seront désignés comme utilisateurs du cluster.

Installation de nœud
Le déploiement de nœuds de calcul peut être effectué automatiquement via l'utilitaire d'administration de RIS ou à l'aide d'autres méthodes de déploiement prises en charge. Comme avec le nœud de tête, le CCP doit être installé sur chaque nœud de calcul. Comme le montre la figure 4, les options de configuration de l'installation du CCP sont beaucoup plus simples pour un nœud de calcul et consistent en ce qui suit :
Figure 4 Installation du pack Compute Cluster Pack
Figure 4 Installation du pack Compute Cluster Pack
  • Spécifier que le serveur doit être un nœud de calcul (et pas un nœud de tête).
  • Spécifier le nom du nœud de tête du cluster auquel le serveur doit se rattacher.
  • Spécifier s'il faut ou non installer les outils d'administrateur et d'utilisateur sur le nœud de calcul.

Console d'administration
Une fois que vos nœuds sont en communication avec votre nœud de tête, la plupart des tâches de gestion et d'administration de tous les systèmes peuvent être accomplies à l'aide de la console d'administration, illustrée à la figure 5. La console offre une vue centralisée du cluster entier, notamment une liste de tous les nœuds associés, un accès aux actions d'administration clés et d'autres détails encore. Le volet le plus à gauche fournit des fonctionnalités avancées de navigation dans la console, notamment l'accès à l'« Administrateur de cluster », qui, lorsqu'il est mis en surbrillance, fournit un écran de synthèse donnant l'état du cluster et des statistiques sur les tâches. L'accès aux ordinateurs distants et aux sessions de surveillance du système peut aussi être obtenu ici, mais la plupart du temps, l'administration du cluster se fera via la « Gestion de nœud ».
Figure 5 La console d'administrateur fournit une vue d'ensemble du cluster.
Figure 5 La console d'administrateur fournit une vue d'ensemble du cluster.
Vous devriez explorer la console d'administration vous-même, car elle fournit l'accès aux outils et fonctions clés nécessaires pour administrer Windows et les nœuds du cluster. Un clic sur un nœud de cluster dans le volet central supérieur créera plusieurs autres fenêtres et vous pourrez commencer à explorer les fonctions propres aux nœuds.
Les fonctions prises en charge par les menus affichés par clic droit de la souris vous permettent d'administrer facilement les nœuds de calcul de façon centralisée via la Gestion de nœud. Vous pouvez utiliser la Gestion de nœud pour arrêter et relancer des nœuds ; valider ou supprimer des nœuds du cluster ; lancer des ordinateurs, le moniteur système ou l'observateur d'événements à distance ; ou provoquer l'éjection du plateau de CD (ce qui peut être très utile lorsque vous essayez d'identifier physiquement une machine particulière dans un grand cluster).

ClusRun, c'est cool !
La fonctionnalité la plus pratique de cette liste est « Run Command » (Exécuter la commande), c'est-à-dire, la possibilité d'exécuter n'importe quelle commande à distance, comme si vous étiez assis devant l'invite de commande de l'ordinateur cible. WCCS inclut une version ligne de commande de la fonctionnalité Run Command nommée Clusrun.exe et « ClusRun » est utilisé pour décrire à la fois les versions ligne de commande et interface graphique.
Les avantages de l'utilitaire ClusRun sont incomparables, en particulier si le cluster est important. Il permet un gain de temps énorme dans l'exécution des tâches de ligne de commande répétitives et il peut souvent supprimer la nécessité d'écrire des scripts administratifs plus complexes.
Pour utiliser cette fonctionnalité, mettez en surbrillance la liste des machines pour lesquelles vous voulez exécuter une commande, puis cliquez avec le bouton droit et sélectionnez Run command. La boîte de dialogue de la figure 6 s'affiche. Maintenant, saisissez simplement la commande que vous voulez, cliquez sur Run et attendez que le résultat s'affiche dans la fenêtre Result. Vous serez invité à saisir vos informations d'identification la première fois que vous utiliserez ClusRun, mais vous pouvez choisir de mettre informations d'identification en cache pour les utilisations ultérieures.
Figure 6 Vous pouvez exécuter une commande sur plusieurs nœuds
Figure 6 Vous pouvez exécuter une commande sur plusieurs nœuds
L'une des façons courante de réparer des clusters ou d'installer des programmes qui incluent des routines d'installation automatisées consiste à les placer sur un partage de fichier puis d'utiliser ClusRun pour obliger tous les nœuds de calcul à invoquer la commande. Le redémarrage de tous les nœuds de calcul du cluster peut être lancé via une commande unique :
CLUSRUN SHUTDOWN –R –F –T 0

Tool Pack
En mai 2007, l'équipe HPC a publié le pack Compute Cluster Pack Tool Pack (vous pouvez l'obtenir en ligne à l'adresse windowshpc.net/resources/Pages/default.aspx). Le pack d'outils inclut la prise en charge de Windows PowerShellTM, un outil MPIPingPong permettant de diagnostiquer le bon état de la connectivité et un moniteur de cluster graphique très simple mais utile.
Comme l'illustre la figure 7, Simple Cluster Monitor peut vous afficher sur un écran chacun des nœuds du cluster, le nombre de noyaux par nœud, l'utilisation de chaque processeur (en vert vif), l'utilisation de la mémoire (en jaune), le pourcentage de temps d'utilisation du disque (en rouge) et l'utilisation de la bande passante du réseau (en orange). Il s'agit d'un formidable outil consultable en coup d'œil que les administrateurs peuvent lancer pour voir comment le cluster se comporte.
Figure 7 Surveillance de plusieurs nœuds avec Simple Cluster Monitor
Figure 7 Surveillance de plusieurs nœuds avec Simple Cluster Monitor
Le moniteur de cluster inclut également une fonctionnalité d'utilisation à distance. Vous devez exécuter la première instance du moniteur de cluster sur le nœud de tête. Cependant, si vous exécutez une instance du moniteur de cluster dans une session de console sur le nœud de tête, vous avez ensuite la possibilité de lancer des instances du moniteur de cluster à partir d'un poste de travail, de les pointer vers le nœud de tête et d'obtenir le même affichage.

Qu'attendez-vous ?
Vous en savez maintenant suffisamment sur HPC et Windows Server 2003 Compute Cluster Server. Vous savez installer le CCP, vous avez vu la super console tout-en-un et vous avez maintenant de nouvelles commandes et des outils graphiques très pratiques avec lesquels éblouir vos collègues et vos utilisateurs. Vous trouverez des sources d'informations supplémentaires sur l'informatique hautes performances dans l'encadré « Ressources Informatique hautes performances ».

John Kelbley est responsable technique de produit chez Microsoft au sein de l'équipe Global Solutions Technology basée dans le nord-est des États-Unis. Vous pouvez le contacter à l'adresse Johnkel@microsoft.com
Doug Lindsey est responsable de programme au sein de l'équipe HPC de Microsoft. Il est également administrateur de clusters de calcul de production (notamment le numéro 116 sur la liste de novembre 2007 du site www.top500.org). Vous pouvez contacter Doug à l'adresse Dougli@microsoft.com.


 Suppl&#233;ment en ligne: D&#233;ploiement d'Office&#160;System&#160;2007 avec les services Terminal&#160;Server
Supplément en ligne James D. Silliman

Déploiement d'Office System 2007 avec les services Terminal Server
Vue d'ensemble:
  • Déploiement d'Office System 2007
  • Gestion des paramètres utilisateur
  • La nouvelle barre d'outils Accès rapide
  • Outil de personnalisation d'Office System 2007

La publication de Microsoft Office System 2007 a apporté des modifications de conception importantes que vous devez connaître avant de le déployer ou d'effectuer une mise à niveau à partir de versions précédentes sur votre batterie de serveurs de services Terminal Server. Vous devrez vous familiariser avec le modèle global, la barre d'outils Accès rapide,
les composants logiciels enfichables du fichier .adm pour les stratégies de groupe et l'outil de personnalisation d’Office (OCT). Si vous connaissez tous ces outils à l'avance, votre déploiement se fera plus facilement. Commençons notre tour d'horizon des modifications importantes par Microsoft® Word.

Déploiement de Word 2007
Word a toujours utilisé un fichier de modèle global et dans Office System 2007, ce fichier est nommé normal.dotm. Dans un environnement de services Terminal Server, vous disposez de trois approches différentes pour déployer Word et le fichier normal.dotm. Vous pouvez laisser le fichier tel quel sur tous les serveurs de services Terminal Server où Office est installé pour que les utilisateurs obtiennent la vue par défaut de Word. Vous pouvez ouvrir le fichier sur chaque serveur Terminal Server et le modifier vous-même, en ajoutant des personnalisations, pour que les utilisateurs n'aient pas l'affichage par défaut de Word. Ou vous pouvez renommer le fichier afin que les utilisateurs aient leur propre fichier (modifié lorsqu'ils modifient un paramètre dans Word et cliquent sur Défaut).
Quel que soit votre choix, il vaut mieux le faire à l'avance, avant le déploiement. Si vous ne faites pas vos modifications dès l'installation, les utilisateurs ne pourront pas enregistrer leurs modifications du modèle global parce que le fichier de modèle global qui se trouve sur vos serveurs de services Terminal Server écrase leur fichier dans leur profil individuel. Si vous n'ouvrez pas le fichier de modèle pour le modifier, Word 2007 ne présentera que ses paramètres par défaut aux utilisateurs.
Vous pouvez, cependant, modifier le fichier sur chaque serveur de votre batterie de serveurs de services Terminal Server, si vous le désirez. Pour choisir cette option et conserver les mêmes paramètres Word pour chaque utilisateur (comme la police et la taille, l'espacement des paragraphes et la disposition par défaut), vous devez laisser le fichier de modèle global à son emplacement de chemin par défaut. Ensuite, pour modifier les paramètres que vous voulez déployer globalement chez vos utilisateurs, ouvrez simplement ce fichier sur chaque serveur de services Terminal Server, effectuez les modifications désirées dans la mise en page de Word 2007 (cliquez sur Défaut) puis enregistrez-les, en écrivant vos modifications dans le fichier normal.dotm par défaut.
N'oubliez pas de d'abord sauvegarder le fichier par défaut avant d'effectuer vos modifications, sinon vous pourriez être contraint de réinstaller Word 2007 pour récupérer le fichier d'origine. Notez que si vous apportez des modifications à la barre d'outils Accès rapide pendant que vous modifiez le fichier normal.dotm, ces modifications ne seront pas enregistrées dans ce fichier de modèle. Je parlerai bientôt de la barre d'outils Accès rapide et de son fonctionnement.
Et si vous décidez que les utilisateurs doivent pouvoir gérer leurs propres paramètres globaux dans Word ? Ils le peuvent, mais vous devez renommer le fichier normal.dotm en autre chose, comme par exemple normal.dotm.old sur tous les serveurs de votre batterie. Je recommande ce choix comme étant le meilleur puisque les utilisateurs peuvent rencontrer des erreurs de modèle lorsqu'ils ferment Word si d'autres applications s'y connectent.
Si vous renommez ce fichier, Word 2007 détecte que vous voulez autoriser les utilisateurs à gérer leurs propres préférences plutôt que d'utiliser les préférences globales et, par conséquent, Word leur permettra de modifier et d'enregistrer leurs paramètres. Word 2007 place ensuite le fichier personnalisé normal.dotm dans chaque chemin de profil d'utilisateur. Si vous utilisez des profils itinérants (selon la façon dont vous avez paramétré les chemins), le fichier de modèle est enregistré à cet emplacement de dossiers pour chaque utilisateur : \\domain\sharename\%nom d'utilisateur%\Application Data\Microsoft\Templates.
Par contre, les modifications effectuées par les utilisateurs dans la barre d'outils Accès rapide ne sont pas enregistrées dans le fichier normal.dotm. Cette barre d'outils est une nouvelle fonctionnalité d'Office System 2007, distincte de la barre d'outils Ruban principale (une autre nouveauté). La barre d'outils Accès rapide est la minuscule barre d'outils située par défaut dans le coin supérieur gauche de votre écran dans Office System 2007. Cette barre d'outils existe pour les applications d'Office System 2007, comme illustré à la figure 1. Pour plus d'informations, consultez l'article à l'adresse support.microsoft.com/kb/926805.
Figure 1 Fichiers de la barre d'outils Accès rapide (Close Figure 1)

Application Office | Domaine de fonctionnalité | Nom du fichier
Access 2007 | Tous | Access.qat
Excel 2007 | Tous | Excel.qat
Outlook 2007 | Contacts Calendrier Liste de distribution Entrée de journal Courrier Publication dans le dossier Tâches | Olkaddritem.qat Olkapptitem.qat Olkdistitem.qat Olklogitem.qat Olkmailitem.qat Olkpostitem.qat Olktaskitem.qat
PowerPoint 2007 | Tous | PowerPoint.qat
Word 2007 | Tous | Word.qat
Comme vous pouvez le voir à la figure 1, la barre d'outils Accès rapide utilise des fichiers avec l'extension .qat pour enregistrer les paramètres individualisés. Les fichiers sont conservés à l'emplacement de chemin de fichier par défaut suivant sur chaque serveur de services Terminal Server de votre batterie et ils ne sont pas itinérants : C:\Documents and Settings\« nom d'utilisateur »\Local Settings\Application Data\Microsoft\Office (ou C:\Users\« nom d'utilisateut »\AppData\Local\Microsoft\Office pour une machine fonctionnant sous Windows Vista®).
Si vous examinez le chemin, vous remarquerez que les fichiers .qat sont situés dans le sous-dossier de paramètres locaux du profil mis en cache localement de l'utilisateur des services Terminal Server. Ce sous-dossier n'est pas synchronisé avec le profil itinérant d'un utilisateur déconnecté parce que les paramètres locaux n'existent pas dans la structure de chemin de profil itinérant standard. Ainsi, malheureusement, si vous écrasez les profils mis en cache localement sur vos serveurs de services Terminal Server en activant ce paramètre d'objet de stratégie de groupe (GPO), vous perdrez les fichiers .qat personnalisés de l'utilisateur (pour plus d'informations, consultez l'article de la base de connaissances à l'adresse support.microsoft.com/kb/274152).
Il est certain que la suppression de profils mis en cache est largement pratiquée parmi les administrateurs des services Terminal Server pour nettoyer les profils locaux lorsqu'un utilisateur ferme la session, donc cette modification dans Office System 2007 est importante car elle se rapporte à la mise en cache des profils et à la barre d'outils Accès rapide. Une solution évidente consiste à s'assurer que le paramètre GPO discuté dans l'article de la base de connaissances que je viens de mentionner n'est pas défini. Si vous n'activez pas la suppression des profils en cache lors de la déconnexion et que vous avez beaucoup d'utilisateurs, vous consommerez un espace de disque dur précieux sur le lecteur %systemroot% local de chaque serveur de services Terminal Server et devrez prévoir d'autres processus pour le surveiller parce que votre serveur pourrait venir à manquer d'espace sur le disque dur. Ceci n'est pas rare car les profils locaux peuvent devenir assez importants.
Quelle que soit votre approche, vous devriez au moins ajouter à votre script de connexion une routine qui effectue périodiquement une sauvegarde des fichiers utilisateur .qat afin de pouvoir les récupérer s'ils disparaissent ou sont supprimés accidentellement. En conservant une sauvegarde de ces fichiers personnalisés, vous pouvez éviter des appels frénétiques à votre support technique local pour les récupérer.
Trop peu d'administrateurs des services Terminal Server sauvegardent ces profils mis en cache localement ; ils sauvegardent plutôt les profils itinérants du réseau qui, comme je l'ai mentionné, ne comportent pas de copie des fichiers .qat. Une autre alternative est d'envisager l'acquisition d'un produit tiers vous permettant de déployer un profil obligatoire pour chaque utilisateur et ensuite de mapper les modifications des paramètres locaux de chaque utilisateur dans un dossier distinct de votre réseau.

Composants logiciels enfichables de stratégie de groupe
Depuis un certain temps maintenant, il existe des fichiers de stratégie de groupe .adm disponibles pour Office 2003 qui permettent un meilleur contrôle administratif des stratégies d'Office et de l'expérience de l'utilisateur. De même, Office System 2007 comporte de nouveaux fichiers .adm que vous pouvez utiliser afin d'effectuer un certain nombre de personnalisations, notamment désactiver la boîte de dialogue Première exécution et modifier les paramètres de sauvegarde automatique et autres préférences.
Si vous avez déjà déployé des stratégies de groupe Office 2003 et décidez de passer à Office System 2007, vous devrez d'abord supprimer les fichiers .adm Office 2003 de vos GPO avant d'ajouter les fichiers .adm Office System 2007. N'oubliez pas de sauvegarder vos GPO à l'aide de l'interface Console de gestion des stratégies de groupe afin de pouvoir revenir en arrière si vous rencontrez des erreurs après avoir ajouté les nouveaux composants logiciels enfichables. J'ai entendu parler d'au moins un administrateur des services Terminal Server qui a eu un problème d'entrées de stratégie dupliquées en supprimant les composants logiciels enfichables d'Office 2003 et en ajoutant ensuite les fichiers .adm d'Office System 2007 dans ses GPO.
J'ai mentionné dans mon article « Guide de déploiement des services Terminal Server » de mai 2007 (technetmagazine.com/issues/2007/05/TerminalServices), que les utilisateurs des services Terminal Server ne doivent pas être invités à exécuter certaines actions, telles que l'archivage automatique d'Outlook®, ou à accepter les écrans de dialogue Première exécution. Soyez conscient que par défaut, au premier lancement d'Outlook 2007, les utilisateurs voient s'afficher deux écrans Première exécution : l'un pour les Options de confidentialité et l'autre pour Desktop Search. Le premier écran, illustré à la figure 2, peut être désactivé de plusieurs façons : en modifiant les paramètres de GPO (via les nouveaux fichiers .adm d'Outlook 2007), en utilisant l'outil de personnalisation Office ou en modifiant le Registre.
Figure 2 Boîte de dialogue d'options de confidentialité dans Office System 2007
Figure 2 Boîte de dialogue d'options de confidentialité dans Office System 2007
L'écran illustré à la figure 3 s'affiche immédiatement après l'écran Options de confidentialité (si vous ne le désactivez pas) et dans toutes les autres applications d'Office System 2007.
Figure 3 Boîte de dialogue de la fonctionnalité de recherche instantanée dans Office System 2007
Figure 3 Boîte de dialogue de la fonctionnalité de recherche instantanée dans Office System 2007
Pour désactiver l'invite Windows® Search pour les applications Office, téléchargez les modèles ADM d'Office System 2007 à l'adresse go.microsoft.com/fwlink/?LinkId=78161 et chargez-les sur le contrôleur de domaine résidant sur votre disque dur. Dans la stratégie de groupe, vous devez charger le modèle Office Outlook 2007 (Outlk12.adm) sous Configuration de l'ordinateur ou Configuration de l'utilisateur, Ajouter des composants logiciels enfichables. Ensuite, allez dans Configuration de l'utilisateur\Modèles administratifs\Microsoft Office Outlook 2007\Outils | Options\Préférences\Options de recherche et activez le paramètre « Empêcher les invites d'installation lorsque le composant Windows Desktop Search est absent ».
Il existe de nombreux paramètres de stratégie de groupe disponibles dans Office System 2007 pour contrôler l'expérience des utilisateurs, mais vous devrez ajouter les fichiers .adm respectifs, tels que Word (Word12.adm) et Excel® (Excel12.adm), à vos GPO. La figure 4 offre un exemple de ce à quoi le modèle ADM Outlook 2007 (Outlook12.adm) ressemble une fois qu'il a été ajouté à votre Stratégie de groupe.
Figure 4 Modèle ADM Outlook 2007 dans la Stratégie de groupe
Figure 4 Modèle ADM Outlook 2007 dans la Stratégie de groupe

Modifications supplémentaires
Notez que dans Office 2003 vous pouvez également télécharger et utiliser l'Assistant d'installation personnalisée pour créer des Transformations personnalisées. Le nouvel OCT d'Office System 2007 ne nécessite pas de téléchargement séparé. Il est lancé en utilisant « Setup /admin » à partir de la commande Exécuter dirigée vers votre support ou source d'installation d'Office System 2007. L'exécution de cette commande sur vos fichiers sources d'installation, puis la modification des paramètres individuels selon vos souhaits, créent un fichier .msp (par opposition au fichier .mst dans Office 2003) et vous n'avez pas besoin de spécifier des options de ligne de commande pour l'inclure dans votre déploiement ultérieur. Le fait de simplement placer le fichier .msp personnalisé dans le dossier Mises à jour à la racine du point d'installation réseau le déploie automatiquement avec vos paramètres préférés.
Outlook 2007 offre un autre avantage par rapport à ses versions précédentes : il détecte automatiquement votre serveur Exchange 2007, envoyant une demande de point de connexion de service (SCP) directement à Active Directory®, s'il est lancé dans votre LAN. Cette requête facilite la connexion à une infrastructure Exchange 2007 déployée. Pour plus d'informations, consultez l'article à la page go.microsoft.com/fwlink/?linkid=76177.
Microsoft a apporté des modifications de conception importantes dans la façon dont Office System 2007 fonctionne dans un environnement de services Terminal Server en simplifiant ses outils de déploiement, en ajoutant de nouveaux composants logiciels enfichables .adm et en rationalisant l'interface. En vous familiarisant avec certains des concepts importants que j'ai abordés ici avant de déployer ou de mettre à niveau vos applications Office, vous aurez une bien meilleure compréhension de la mise à niveau, ce qui vous permettra de prendre plus tôt des décisions de conception importantes. Si vous n'avez pas l'intention d'effectuer une mise à niveau dans l'immédiat, vous pouvez envisager de simplement charger le Pack de compatibilité d'Office System 2007 afin que vos utilisateurs puissent ouvrir les pièces jointes qui leur sont envoyées par des utilisateurs qui bénéficient déjà de la mise à niveau. Vous pouvez trouver le Pack de compatibilité à l'adresse go.microsoft.com/fwlink?LinkID=77512.
Avec ces informations en main, vous serez fin prêt pour un déploiement réussi d'Office System 2007. N'oubliez pas de sauvegarder vos stratégies et de tester tous les paramètres recommandés dans un environnement de laboratoire avant de les déployer dans votre communauté d'utilisateurs.

James D. Silliman, MCSE, est un technologue spécialiste de Microsoft, qui se consacre aux déploiements des services Terminal Server. Il travaille actuellement pour un ASP, où il conçoit l'architecture de solutions informatiques destinées aux petites entreprises. Vous pouvez le contacter à l'adresse jsilliman@gmail.com.


 Note de l'&#233;diteur: Faire face &#224; la surcharge d'informations
Note de l'éditeur
Faire face à la surcharge d'informations
Joshua Hoffman

Plus je réfléchis à nos deux sujets principaux de ce mois-ci (SharePoint et Office Communications Server), moins le fait que nous n'arrivons pas à communiquer correctement les uns avec les autres me surprend. Voyez-vous, à l'heure où je rédige cet article (c'est-à-dire environ un mois avant que vous n'ayez l'occasion de le lire), la ville de New York est en pleine période de festivités. Et comme par hasard, le siège de Technet Magazine est situé au cœur de ces festivités de New York, au Rockefeller Center. Ce quartier de la ville est merveilleux, mais durant un mois chaque année, il devient... un véritable défi. À la population déjà très nombreuse s'ajoutent les visiteurs américains et étrangers venus faire leurs courses, assister à un spectacle ou faire du patinage sur glace sur une toile de fond de gratte-ciel majestueux. De nombreux New-Yorkais n'hésitent pas alors à battre en retraite.
D'aucuns prétendent que cet exode est dû à la frustration d'avoir à attendre derrière les touristes qui s'arrêtent soudain au milieu du trottoir pour prendre des photos de n'importe qui et n'importe quoi. En fait, il ne s'agit là que d'une excuse (vous êtes les bienvenus chers touristes, et ne vous gênez surtout pas avec vos appareils photos). La vraie raison, à mon avis, c'est la surcharge. Dans une ville déjà surpeuplée et très occupée, il arrive un moment où les gens atteignent un point de saturation et n'en peuvent plus.
C'est dans cet état d'esprit que je me tourne vers notre secteur et que je constate le même phénomène. Nos organisations continuent de grandir (et c'est probablement ce que nous souhaitons tous), et par conséquent, nous produisons de plus en plus d'informations chaque jour. Nos partages de fichiers sont pleins. Nos bases de données sont pleines. Quant à la messagerie électronique... Il n'y a pas si longtemps, un gigaoctet représentait une quantité de stockage considérable. Aujourd'hui, les téraoctets sont la norme, même pour les ordinateurs personnels. Des pétaoctets d'espace sont désormais prévus pour de nombreux centres de données. Une chose est certaine : la quantité d'informations qui existe est énorme. Mais ces informations sont-elles une bonne chose, ou sommes-nous tout simplement submergés ? Sont-elles structurées ? Faciles à analyser ? Faciles à partager ?
Encore une fois, avec toute cette quantité d'informations, je reviens à la même constatation : je ne suis pas surpris que les gens n'arrivent pas à communiquer entre eux. Ce problème, toutefois, pourrait être résolu facilement. C'est ce que je souhaite aborder ce mois-ci. Dans cet article, vous apprendrez à exploiter la puissance de SharePoint pour rassembler les données de votre entreprise de façon plus organisée en toute simplicité. Vous apprendrez à créer rapidement des enquêtes afin de recueillir des données auprès de vos utilisateurs (ou de vos clients). Vous apprendrez à définir des types de contenu personnalisés dans lesquels vous pourrez stocker les informations importantes de l'entreprise. Enfin, vous apprendrez à utiliser Office Communications Server pour établir toutes vos communications critiques. Après tout, à quoi servent toutes ces données si vous n'avez personne avec qui les partager ? —Joshua Hoffman

Remerciements aux experts techniques Microsoft suivants : Ed Banti, Susan Bradley, Byron Hynes, Michael Murgolo, Ken Oien, Jim Truher et Kay Unkroth.


 Lettres: Les lecteurs ont la parole
Lettres
Les lecteurs ont la parole

Disponibilité du service d’installation ActiveX
Je viens juste de lire votre article de juillet 2007, « Le service d’installation ActiveX dans Windows Vista », (en ligne à l'adresse technetmagazine.com/issues/2007/07/AxIS). Pourriez-vous m'indiquer si ce service est maintenant disponible ?
—Eugene Y.

Oui, le service d’installation ActiveX® est à présent disponible. Il peut facilement être activé avec l'option « Activer ou désactiver des fonctionnalités Windows » du panneau de configuration Programmes et fonctionnalités de Windows Vista®.
Le service d’installation ActiveX est un composant facultatif disponible uniquement sur les versions Édition Intégrale, Enterprise et Professionnel de Windows Vista. La liste des sites autorisant l'installation d'ActiveX avec le service d’installation ActiveX est contrôlée à l'aide de la stratégie de groupe. La liste est enregistrée dans la section Configuration de l'ordinateur | Modèles d'administration | Composants Windows | Service d'installation ActiveX de l'Éditeur d'objets de stratégie de groupe.

Outils Active Directory
Merci beaucoup pour l'article « 11 outils essentiels pour la gestion d'Active Directory » (septembre 2007). J'ai essayé de supprimer des utilisateurs d'Active Directory® avec l'utilitaire dsrm présenté dans l'article, en utilisant la ligne de commande suivante :
          dsquery user -samid <samid> | dsrm
J'obtiens un message d'erreur indiquant que l'entrée « dsrm » possède une forme incorrecte. Cependant, je peux exécuter la commande séparément sans problème. Auriez-vous une idée ?
—Keith E.

Nous avons fait part de votre question à l'auteur de cet article, Laura Hunter. Laura fait remarquer que lorsque les résultats de dsquery doivent être redirigés vers dsrm, dsrm nécessite le commutateur -noprompt. Par conséquent, vous devriez utiliser la ligne de commande suivante :
dsquery user -samid <samid> | dsrm -noprompt
Nous vous prions de nous excuser de l'absence de cette information dans l'article d'origine et publierons une correction dans la version en ligne.

Autres solutions d'énigme
J'imagine que vous avez réalisé et avez probablement été avertis par de nombreuses autres personnes, du fait que l'énigme de la rubrique Les scripts embrouillés du Dr. Scripto (novembre 2007) possède en fait deux solutions différentes qui fonctionnent toutes les deux. L'énigme sera également correctement déchiffrée si la variable de 4 caractères qui apparaît sur la première et la deuxième ligne est nnde et si la variable de 5 caractères qui apparaît sur la troisième et la cinquième ligne est iamex. (J'avoue que la différence est mineure et que les noms de votre solution rendent le script beaucoup plus lisible).
Merci pour ce divertissement ; je l'ai apprécié.
—Stan A.

Merci de partager votre solution alternative, Stan ! Nous sommes contents d'apprendre que vous appréciez la nouvelle énigme des scripteurs et avons le plaisir de l'ajouter comme rubrique régulière de Technet Magazine.

Persuasion pour la migration vers Windows Vista
L'article « Modifications apportées aux fichiers hors connexion dans Windows Vista » du numéro de novembre 2007 de Technet Magazine (technetmagazine.com/issues/2007/11/Offline) démontre très bien les avantages de Windows Vista dans le domaine des fichiers hors connexion. L'article à contribué à notre décision de migration vers Windows Vista car nous avons eu beaucoup de problèmes avec les fichiers hors connexion sous Windows® XP Professionnel.
—Daniel Z.

Merci, Daniel ! Nous sommes contents d'apprendre que cet article a été utile à votre entreprise.

Pages manquantes
Votre revue est agréable et instructive. Cependant, les pages 49 à 64 étaient absentes de mon exemplaire du numéro de décembre 2007. Je m'intéresse à l'article sur l'investigation informatique (« Guide d'investigation informatique de base ») de Tom Cloward et Frank Simorjay qui était sensé apparaître à la page 60. Votre équipe d'investigation informatique d'impression peut peut-être trouver mes pages/données manquantes ? Si cet article est disponible en ligne, je serai très content de le lire, si vous pouvez m'envoyer l'URL.
—Dave S.

Nous avons malheureusement rencontré un problème pendant l'impression du numéro de décembre 2007 et, par conséquent, un nombre restreint d'exemplaires a été envoyé aux lecteurs sans les pages 49 à 64. Au nom de notre imprimeur et de l'équipe Technet Magazine, nous vous prions sincèrement de nous excuser de ce désagrément.
Entretemps, l'article auquel vous faites référence, ainsi que le reste du numéro de décembre, a été mis en ligne et est maintenant disponible en ligne à l'adresse technetmagazine.com/issues/2007/12.


 Bo&#238;te &#224; outils: Nouveaux produits pour les professionnels de l’informatique
Boîte à outils
Nouveaux produits pour les professionnels de l’informatique
Greg Steen

Déverrouillage de fichiers
Unlocker
ccollomb.free.fr/unlocker
Cela nous est déjà arrivé à tous : un processus automatisé s'interrompt au beau milieu de son travail et un fichier devient bloqué avec un verrouillage en écriture, provoquant l'échec d'une autre opération car elle ne peut pas copier le fichier, le déplacer, écrire dedans ou le supprimer. Et parfois vous ne savez simplement pas qui était le coupable du verrouillage du fichier, mais savez quel fichier a été verrouillé. Que faire ?
Plusieurs méthodes permettent de remédier à ce problème, mais l'outil gratuit Unlocker, écrit par Cedrick Collomb, offre une solution rapide et facile intégrée à l'Explorateur Windows® aux problèmes de verrouillage de fichier. Grâce à l'intégration à l'Explorateur Windows, vous pouvez facilement trouver le coupable en cliquant avec le bouton droit sur le fichier verrouillé (ou même un ensemble de fichiers) et en sélectionnant ensuite Unlocker dans le menu contextuel. Ensuite, si un verrouillage est découvert, vous pouvez choisir parmi plusieurs options, telles qu'arrêter le processus coupable, déverrouiller le fichier (fermer le handle), supprimer le fichier, le déplacer ou le renommer. Vous pouvez également copier le fichier verrouillé dans son état actuel vers un autre emplacement.
Unlocker possède un programme d'installation d'application complet et vous n'aurez donc pas à inscrire ou désinscrire de DLL manuellement, ni à redémarrer votre système pour démarrer l'outil. Il prend également en charge la notification automatique des mises à jour (si le fait qu'il se connecte de temps en temps à son site d'origine ne vous dérange pas) afin de s'assurer que vous disposez de la dernière version.
Unlocker prend même en charge l'exécution en ligne de commande, ce qui est très pratique pour l'automation. Cela signifie, par exemple, que vous pouvez facilement configurer un processus de copie des journaux de transaction pour fermer automatiquement le handle et arrêter le processus de compression si vous rencontrez un fichier .zip verrouillé lorsque vous essayez de déplacer les journaux, ce qui vous évitera peut-être de devoir vous lever à l'aube pour essayer de résoudre le problème manuellement.
L'utilitaire dispose également d'un outil de barre d'état système nommé Unlocker Assistant. Il peut lancer automatiquement l'interface d'Unlocker lorsque vous essayez de déplacer, renommer ou supprimer un fichier verrouillé, vous évitant ainsi les quelques clics nécessaires pour trouver le fichier et choisir Unlocker dans le menu contextuel affiché par un clic avec le bouton droit. Unlocker est compatible avec la plupart des versions de Windows, y compris Windows Vista®.

Prix : gratuit
Avec Unlocker, vous pouvez trouver et ouvrir rapidement des fichiers verrouillés
Avec Unlocker, vous pouvez trouver et ouvrir rapidement des fichiers verrouillés

Analyse du trafic réseau
Wireshark
wireshark.org
Un bon analyseur de protocole réseau vous permet d'accéder aux éléments fondamentaux du trafic réseau de votre infrastructure pour voir ce qui se passe vraiment sous toutes ces couches d'applications connectées. L'analyseur Open Source le plus connu est probablement Wireshark. Celui-ci utilise la bibliothèque de capture de paquets Open Source WinPcap pour Windows et est dérivé d'Ethereal, toujours sous la direction de Gerald Combs.
Avec Wireshark, vous pouvez facilement capturer le trafic passant à travers une interface réseau et examiner les détails de chaque paquet dans une interface graphique facile à utiliser. Le démarrage d'une nouvelle session de capture de paquets se résume à sélectionner l'interface et à cliquer sur Démarrer. L'interface utilisateur graphique affiche les paquets capturés dans un cadre à code de couleurs, qui détaille l'heure, la source, la destination, le protocole et une description prédéfinie de l'événement, quasiment en temps réel. Un clic sur une transmission met en évidence ses détails et interprète les données du paquet dans un volet facile à suivre. Sous ce volet, vous pouvez voir les données brutes sous forme hexadécimale et ASCII.
Une fois que vous disposez du jeu de données nécessaire à votre analyse, vous pouvez, bien sûr, enregistrer ou exporter la session pour analyse ultérieure. Wireshark peut décoder de nombreux protocoles différents et devrait couvrir la plupart de vos besoins en matière de dépannage.
Les réseaux sont bruyants et, pour vous aider à filtrer les données, l'application possède une excellente fonctionnalité de filtre à base d'expressions, qui vous permet de cibler davantage votre recherche en fonction de chaque paramètre d'un protocole. Par exemple, vous pourriez éliminer tout le trafic à l'exception de ce qui est lié à BitTorrent, à destination et à partir de certaines adresses IP spécifiques de votre réseau. Les filtres pourraient également vous permettre de détecter facilement un ordinateur provoquant des perturbations importantes sur le réseau par l'envoi de tonnes de faux messages de diffusion.
L'interface vous permet également de marquer facilement les paquets à examiner et de définir une transmission spécifique comme référence d'horloge pour la capture. L'une de mes fonctionnalités préférées de Wireshark est la possibilité de suivre un flux TCP en choisissant cette option dans le menu contextuel obtenu en cliquant avec le bouton droit sur un paquet TCP. Une fenêtre s'affiche alors avec un affichage textuel à code de couleurs du contenu du flux TCP, ce qui est très pratique pour détecter les erreurs d'application Web, les faux en-têtes HTTP ou autres problèmes de communication TCP que vous pourriez rencontrer. À partir de là, vous pouvez rapidement imprimer ou enregistrer la conversation pour un examen ou une démonstration ultérieurs.
Je n'ai fait ici qu'effleurer la surface des fonctionnalités de l'application. Wireshark est publié sous licence GPL. Outre sa disponibilité pour Windows, il comporte également des fichiers binaires compilés pour la plupart des versions de Linux et de FreeBSD.

Prix : gratuit
Wireshark vous permet d'analyser votre protocole réseau complet
Wireshark vous permet d'analyser votre protocole réseau complet

Dopez Windows PowerShell
PowerShell Community Extensions
codeplex.com/PowerShellCX
Si vous avez eu l'occasion de vraiment travailler avec Windows PowerShellTM, vous avez probablement remarqué quelques modèles d'exécution récurrents pour lesquels il serait pratique de disposer d'une applet de commande ou d'un alias. C'est dans ce but qu'un groupe d'utilisateurs et de partisans de Windows PowerShell issus de la communauté Open Source ont créé le projet PowerShell Community Extensions, qui encapsule les fonctionnalités les plus fréquemment demandées dans un ensemble redistribuable d'applets de commande, d'alias, de fournisseurs, de fonctions, de filtres et de scripts.
Parmi les applets de commande incluses dans le package, vous trouverez Get-Clipboard et Write-Clipboard, qui vous permettent d'ajouter et de récupérer des données depuis le tampon du presse-papiers. Get-DomainController récupère quant à elle une liste des contrôleurs de domaine disponibles dans le domaine actuel, et Write-GZip et Write-Zip vous permettent d'écrire des fichiers GZIP ou ZIP.
Vous pouvez créer de nouveaux liens pi jonctions symboliques dans Windows Vista ou Windows Server® 2008 avec New-Symlink et New-Junction. Le package comprend également un fournisseur DirectoryServices très utile qui vous donne accès aux serveurs LDAP, tels qu'Active Directory® et AssemblyCache, vous permettant ainsi d'accéder au cache d'assembly global de Microsoft .NET Framework et à tous les assemblys qu'il contient.
Il comprend en outre de nombreux scripts intéressants. Les scripts Set-Writable et Set-ReadOnly vous permettent de modifier rapidement l'état de lecture seule du fichier. Get-Url lance une WebRequest et renvoie une WebResponse sous forme de chaîne, et Export-History vidange l'historique de vos commandes dans un fichier .clixml pouvant être réutilisé ultérieurement. Vous pouvez obtenir des informations sur l'utilisation du disque avec le script Get-DiskUsage ou même faire parler votre ordinateur avec la commande Out-Speech. Le package inclut également un bon nombre d'autres fonctions utiles telles que Quote-List, qui réduit la quantité de frappe dans la ligne de commande, et Add-PathVariable, qui peut ajouter un ensemble de chemins à un environnement spécifié.
Ce projet ajoute toute une série d'extensions très utiles à l'environnement Windows PowerShell standard. Si vous avez en outre la chance d'être un véritable ninja de Windows PowerShell, je suis certain que le projet saurait apprécier vos contributions.

Prix : gratuit
PowerShell Community Extensions fournit les fonctions les plus demandées
PowerShell Community Extensions fournit les fonctions les plus demandées

Greg Steen est un professionnel de l’informatique, dynamique et enthousiaste. Il est constamment à la recherche d’outils innovants destinés à faciliter les opérations, l'assurance qualité et le développement pour les professionnels de l’informatique.


 Forum aux questions sur SQL: Index non cluster et conservation des autorisations
Forum aux questions sur SQL
Index non cluster et conservation des autorisations
Saleem Hakani and Dan Carollo

Index non cluster et leurs utilisations
Q Que sont les index non cluster et quels sont les avantages et les inconvénients de leur utilisation ?
R Un index non cluster ressemble au type d'index que l'on trouve en général à la fin d'un livre. Toutes les informations contenues dans le livre sont représentées par sujet dans l'index et des pointeurs sous forme de numéros de page qui vous dirigent vers l'information, éventuellement à plusieurs emplacements différents du livre. De plus, les données dans l'index d'un livre ne sont pas répertoriées dans le même ordre que dans le texte du livre. C'est la même chose avec les index non cluster. Si vous avez un index cluster dans une table, vous pouvez spécifier quel sera l'ordre des éléments. Sinon, il n'y a pas de façon d'être certain de ce que sera l'ordre.
De plus, les index non cluster ont deux limites : l'index ne peut contenir que 16 colonnes et la taille maximale de la clé d'index ne peut pas dépasser 900 octets. Qu’est-ce que cela signifie ? Voyons ce qui se passe si vous voulez indexer les colonnes suivantes dans la table Movie de l'exemple de base de données MovieList : MovieTitle NVarchar(50), DirectorName NVarchar(50), ShortStory NVarchar(400).
Supposons que vous générez l'instruction suivante pour créer la table :
Use MovieList;
CREATE INDEX Movie_IDX ON Movie(MovieTitle, DirectorName, ShortStory);
Celle-ci génèrera le message d'erreur suivant : « Avertissement ! La longueur de clé maximale est 900 octets. L'index 'Movie_IDX' a une longueur maximale de 1000 octets. Dans certains cas, la combinaison de valeurs élevées entraînera l'échec de l'opération d'insertion/mise à jour. Vous recevrez le message mentionné ci-dessus parce que le type de données « nvarchar » consomme 2 octets par caractère ; un index qui contient les trois colonnes précédentes dépasserait la taille maximale de 900 octets.
Grâce à SQL Server® 2005, vous avez la possibilité de surmonter ce problème en ajoutant les colonnes à la clause INCLUDE. Il s'agit d'une fonctionnalité très utile si vous voulez contourner à la fois les restrictions de taille et de colonne. Vous pouvez le faire en exécutant l'instruction suivante :
CREATE INDEX Movie_IDX ON Movie(MovieTitle, DirectorName) INCLUDE (ShortStory);
Il est important de noter que lorsque vous utilisez la clause INCLUDE pendant une création d'index, le moteur de la base de données ne prend pas en compte les colonnes non clés lors du calcul du nombre de colonnes clés ou la taille des clés de l'index.
Pour plus d'informations sur les index non cluster, consultez les articles « Index non cluster » à l'adresse msdn2.microsoft.com/aa174537 et « Utilisation des index non cluster » à l'adresse msdn2.microsoft.com/aa933130. Pour obtenir des conseils sur l'optimisation des index, consultez la page sql-server-performance.com/optimizing_ indexes.asp.

Conservation des données d'autorisation
Q Comment puis-je éviter de perdre les autorisations lorsqu'un abonnement est réinitialisé ? J'ai connu plusieurs fois le problème suivant : lorsqu'un instantané est réinitialisé, il perd toutes les autorisations accordées.
R Par défaut, tous les objets de la base de données d'abonnement sont supprimés et recréés lorsqu'un abonnement est réinitialisé. Mais il y a deux façons de gérer ce scénario.
Tout d'abord, vous pouvez réappliquer toutes les autorisations après la réinitialisation. Lorsque vous définissez les autorisations manuellement, vous devez scripter toutes les autorisations objet/niveau d'instruction et les stocker séparément afin de pouvoir les utiliser immédiatement après avoir réinitialisé l'abonnement.
Ensuite, vous pouvez configurer votre abonnement pour qu'il ne supprime aucun objet lorsque vous le réinitialisez. Pour cela, vous pouvez utiliser la procédure stockée système SP_CHANGEARTICLE pour configurer la valeur PRE_CREATION_CMD pour le paramètre @PROPERTY et une valeur NONE, DELETE ou TRUNCATE pour le paramètre @Value.
De même, dans la boîte de dialogue Propriétés de l'article dans la section des objets de destination, sélectionnez la valeur « Conserver l'objet existant inchangé, supprimer uniquement les données. Si l'article possède un filtre de rang, supprimer uniquement ce qui correspond au filtre. Tronquer toutes les données dans l'objet existant ». Veillez à tester ceci dans votre environnement de test et si vous avez besoin d'aide supplémentaire, consultez la dernière version de la documentation SQL Server en ligne pour obtenir les informations les plus récentes.

Saleem Hakani est ingénieur bases de données senior, ingénieur senior en résolution de problèmes et responsable de la communauté mondiale Microsoft SQL Server avec 14 années d'expérience dans les systèmes de bases de données. Il dirige le site Web externe de la communauté SQL Server sqlcommunity.com et peut être contacté à l'adresse Saleem@sqlcommunity.com.
Dan Carollo est un ingénieur d'exploitation et administrateur de bases de données SQL Server qui travaille avec l'équipe Windows Anti-Malware Research and Response de Microsoft. Il possède un MCT en SQL Server.


 Coup de projecteur sur les utilitaires: ADMX&#160;Migrator
Coup de projecteur sur les utilitaires
ADMX Migrator
Lance Whitney
Télécharger le code de cet article: ADMX Migrator (2765KB)

Si vous utilisez la Stratégie de groupe, vous savez, bien sûr, comment utiliser les modèles d'administration pour configurer les paramètres des systèmes d'exploitation et des applications. Les fichiers ADM inclus avec Windows® et les logiciels clés tels que Microsoft® Office, couvrent la plupart des configurations d'ordinateur de bureau courantes. Toutefois, vous devez parfois créer vos propres modèles ADM pour incorporer des paramètres personnalisés. La conception de modèles ADM de toutes pièces peut être laborieuse, car ils ont leur propre syntaxe unique et doivent être créés à l'aide d'un éditeur de texte. Mais avec le temps et de l'expérience, beaucoup de professionnels de la Stratégie de groupe sont passés maîtres dans l'art de créer leurs propres fichiers ADM.
Avec Windows Vista®, Microsoft a transformé le format des modèles de Stratégie de groupe en une structure de type XML. Ce nouveau format, appelé ADMX, offre plusieurs avantages par rapport aux anciens fichiers ADM, notamment la prise en charge multilingue et un emplacement de stockage central dans lequel vous pouvez gérer tous vos modèles.
Bonnes nouvelles, en effet, mais qu'en est-il si vous voulez-créer vos propres fichiers ADMX et n'êtes pas familier avec XML ? Plus important encore, que deviennent tous ces fichiers ADM personnalisés que vous avez créés durant toutes ces années ? Heureusement, l'utilitaire ADMX Migrator est là pour vous aider. Cet outil gratuit, développé par FullArmor Corporation et mis à la disposition de Microsoft sous licence, offre deux avantages principaux : il vous permet de créer vos propres fichiers ADMX personnalisés et il peut convertir vos anciens fichiers ADM au format ADMX.
Interface graphique ADMX Migrator
Interface graphique ADMX Migrator
Pour créer des modèles au nouveau format, ADMX Migrator propose l'éditeur ADMX qui arbore une interface utilisateur graphique (un éditeur de texte n'est plus requis). Vous créez vos modèles en utilisant des menus déroulants et des listes contextuelles dans une interface propre et simple (voir la figure). Pour commencer, choisissez la commande New Template (Nouveau modèle), nommez votre fichier de modèle et entrez une catégorie de classification pour votre fichier. Ensuite, vous devez créer le paramètre de stratégie à proprement parler en entrant la clé de Registre à laquelle la stratégie s'appliquera, le nom de la valeur de Registre et la classe qu'elle affectera (utilisateur, ordinateur ou les deux). Vous pouvez également décrire ce que fait la stratégie.
Enregistrez ensuite votre nouveau modèle au format ADMX. Il est stocké sous forme d'un fichier ADMX et d'un fichier ADML. Le fichier ADMX renferme les paramètres de stratégie, et le fichier ADML fournit des informations spécifiques au langage de la stratégie. Vous pouvez à présent copier les deux fichiers sur les répertoires appropriés de votre domaine et les incorporer à la Stratégie de groupe.
Vous souhaiterez probablement convertir vos fichiers ADM au format ADMX pour profiter du nouveau format. ADMX Migrator propose deux méthodes de conversion : par le biais de l'éditeur ou à l'aide d'un programme de ligne de commande. Dans l'éditeur ADMX, choisissez l'option Generate ADMX from ADM (Générer un fichier ADMX à partir d'un fichier ADM). Placez-vous sur votre fichier ADM et l'outil le convertira automatiquement et rapidement. Vous pouvez ensuite ouvrir le fichier converti dans l'éditeur pour examiner ses valeurs et ses propriétés et les modifier si vous le souhaitez. La fenêtre de commande de Migrator ADMX est un peu plus compliquée ; vous devez taper une longue chaîne de commandes à une invite pour exécuter les conversions. Elle inclut, cependant, des options et une certaine flexibilité qui ne sont pas disponibles dans l'éditeur graphique.
ADMX Migrator est un composant logiciel enfichable MMC (Microsoft Management Console), et nécessite par conséquent MMC 3.0 ainsi que Microsoft .NET Framework 2.0. ADMX Migrator s'exécute sous Windows XP SP2, Windows Server® 2003 SP1 et Windows Vista. Vous pouvez télécharger le logiciel à l'adresse go.microsoft.com/fwlink/?LinkId=77409.

Lance Whitney est consultant en informatique, formateur et rédacteur technique. Il a passé un nombre d'heures incalculable à affiner des postes de travail et serveurs Windows. Journaliste de formation, Lance s'est reconverti à l'informatique il y a 15 ans.


 Le petit c&#226;bleur: Authentification IEEE&#160;802.1X sur r&#233;seau c&#226;bl&#233;
Le petit câbleur
Authentification IEEE 802.1X sur réseau câblé
Joseph Davies
Cet article est basé sur une version préliminaire de Windows Server 2008. Les détails contenus dans cet article sont susceptibles d’être modifiés.

Avec le succès croissant de l'authentification IEEE 802.1X pour les réseaux sans fil, des administrateurs réseaux veulent également utiliser cette norme pour leurs connexions à un réseau câblé. Tout comme un client sans fil doit soumettre une série d'informations d'identification pour être validé avant de pouvoir transmettre des trames sans fil vers l'intranet, un
client IEEE 802.1X câblé doit exécuter une authentification avant de pouvoir utiliser son port commuté. L'authentification IEEE 802.1X fournit une barrière de sécurité supplémentaire pour votre intranet : vous pouvez en empêcher l'accès à des ordinateurs invités, frauduleux ou non gérés qui ne peuvent pas réussir une authentification en se connectant à votre intranet.
L'authentification IEEE 802.1X est probablement déjà prise en charge par vos commutateurs réseau câblés et doit simplement être activée et configurée. Pour l'authentification et l'autorisation d'une connexion à un réseau câblé, les commutateurs compatibles avec la norme 802.1X utilisent généralement le service RADIUS (Remote Authentification Dial-in User Service) pour envoyer des informations de demande de connexion à un service RADIUS, par exemple serveur NPS Windows Server® 2008 ou un Service d'authentification Internet (IAS) Windows Server 2003.
Après avoir configuré vos commutateurs pour le service RADIUS, mais avant d'exiger une authentification 802.1X, vous devez activer et configurer l'authentification 802.1X sur vos ordinateurs câblés. L'authentification IEEE 802.1X pour les connexions à un réseau câblé est prise en charge dans Microsoft® Windows® depuis Windows XP. Cependant, vous devez configurer manuellement les paramètres d'authentification 802.1X dans Windows XP et Windows Server 2003 sur chaque client câblé individuel (depuis l'onglet Authentification des propriétés d'une connexion réseau dans le dossier Connexions réseau). Malheureusement, il n'existe pas de moyen de configurer automatiquement les paramètres 802.1X de façon centralisée ou à l'aide d'un script pour ces systèmes d'exploitations moins récents.
Heureusement, la prise en charge des paramètres de réseau câblé dans la Stratégie de groupe et de l'écriture de script avec l'outil Netsh sous Windows Vista® et Windows Server 2008 signifient que le déploiement des paramètres de 802.1X est beaucoup plus simple qu'avant.

Paramètres de réseau câblé dans la Stratégie de groupe
Utilisation du service de configuration automatique de réseau câblé
Sous Windows XP et Windows Server 2003, le comportement de la norme 802.1X sur les connexions à un réseau câblé est contrôlé par le service de configuration automatique sans fil. Sur ces systèmes d'exploitation, ce service a été activé par défaut et les connexions à un réseau câblé ont été placées en mode d'écoute passive, en attente que le commutateur initie l'authentification.
En revanche, dans Windows Vista et Windows Server 2008, le service de configuration automatique de réseau câblé contrôle le comportement du 802.1X sur les connexions à un réseau câblé, mais il est désactivé par défaut. Donc, l'onglet Authentification des propriétés de connexions réseau ne s'affiche qu'après le démarrage du service de configuration automatique de réseau câblé.
Pour un client câblé individuel exécutant Windows Vista ou Windows Server 2008, vous pouvez utiliser le composant logiciel enfichable Services pour démarrer le service de configuration automatique de réseau câblé et le configurer pour un démarrage automatique. Lorsque le service de configuration automatique de réseau câblé est démarré, les connexions à un réseau câblé fonctionnent en mode d'écoute active, dans lequel la connexion réseau tente d'initier une authentification avec le commutateur.
Pour un domaine Active Directory, vous pouvez utiliser la Stratégie de groupe pour configurer le service de configuration automatique de réseau câblé pour un démarrage automatique. Á l'aide du composant logiciel enfichable Éditeur de gestion des stratégies de groupe, configurez la Configuration de l'ordinateur | Paramètres Windows | Paramètres de sécurité | Services système | Paramètre Configuration automatique de réseau câblé pour le mode de démarrage automatique.

Pour centraliser et automatiser la configuration des paramètres de réseau câblé, les services de domaine Active Directory® de Windows Server 2008 et Windows Server 2003 prennent en charge les paramètres de stratégie de réseau câblé dans la Stratégie de groupe. Ces paramètres vous permettent de configurer les paramètres de réseau câblé dans le cadre de la stratégie de groupe de configuration de l'ordinateur pour un objet de stratégie de groupe (GPO) basé sur un domaine.
Avec ces paramètres de stratégie de réseau câblé, vous pouvez spécifier la méthode d'authentification et d'autres paramètres 802.1X pour les clients câblés exécutant Windows Server 2008 ou Windows Vista. Lorsqu'ils rejoignent le domaine, lors du démarrage ou périodiquement après le démarrage, ces systèmes d'exploitation téléchargent automatiquement les paramètres de stratégie de groupe de réseau câblé et les appliquent. Veuillez simplement noter qu'un domaine Active Directory Windows Server 2003 doit être étendu pour prendre en charge ces nouvelles stratégies. Pour plus d'informations sur la façon d'étendre un domaine Active Directory Windows Server 2003, consultez la page technet.microsoft.com/bb727029.
Vous pouvez configurer des stratégies de réseau câblé à partir de la Configuration de l'ordinateur | Paramètres Windows | Paramètres Sécurité | nœud Stratégies de réseau câblé (IEEE 802.3) dans le composant logiciel enfichable Éditeur de gestion des stratégies de groupe. Par défaut, il n'existe pas de stratégie de réseau câblé (IEEE 802.3). Pour créer une nouvelle stratégie, cliquez avec le bouton droit sur Stratégies de réseau câblé (IEEE 802.11) dans l'arborescence de la console, puis cliquez sur Créer une nouvelle stratégie Windows Vista.
La boîte de dialogue des propriétés d'une stratégie de réseau câblé Windows Vista est composée d'un onglet Général et d'un onglet Sécurité. La Figure 1 illustre l'onglet Général par défaut. Dans l'onglet Général, vous pouvez configurer un nom et une description pour la stratégie et indiquer l'utilisation ou non du service de configuration automatique de réseau câblé, qui contrôle le comportement 802.1X sur les connexions à un réseau câblé. Pour plus d'informations, consultez l'encadré « Utilisation du service de configuration automatique de réseau câblé » dans cet article.
Figure 1 Onglet Général par défaut d'une stratégie de réseau câblé de Windows Vista
Figure 1 Onglet Général par défaut d'une stratégie de réseau câblé de Windows Vista
La figure 2 illustre l'onglet Sécurité par défaut d'une stratégie de réseau câblé de Windows Vista Dans l'onglet Sécurité, vous pouvez activer ou désactiver l'authentification 802.1X, sélectionner et configurer la méthode d'authentification du protocole EAP (Extensible Authentification Protocol), sélectionner le mode d'authentification (ré-authentification de l'utilisateur, authentification de l'ordinateur, authentification de l'utilisateur ou l'authentification d'invité), configurer le nombre d'échecs de tentatives d'authentification avant que l'authentification ne soit abandonnée et si les données utilisateur doivent être mises en cache pour les connexions ultérieures. Lorsque la mise en cache est désactivée, Windows supprime les données d'informations d'authentification de l'utilisateur du Registre lorsque l'utilisateur ferme la session. Par conséquent, l'utilisateur suivant sera invité à saisir ses informations d'identification (par exemple un nom d'utilisateur et un mot de passe) à l'ouverture de session.
Figure 2 Onglet Sécurité par défaut d'une stratégie de réseau câblé de Windows Vista
Figure 2 Onglet Sécurité par défaut d'une stratégie de réseau câblé de Windows Vista
En cliquant sur le bouton Avancé de l'onglet Sécurité, vous pouvez configurer des paramètres avancés pour 802.1X et Authentification unique. La figure 3 illustre la boîte de dialogue Paramètres de sécurité avancés par défaut d'une stratégie de réseau câblé de Windows Vista. Á partir de la boîte de dialogue Paramètres de sécurité avancés, vous pouvez configurer les paramètres 802.1X illustrés à la figure 4.
Figure 4 Paramètres 802.1X dans la boîte de dialogue Paramètres de sécurité avancés (Close Figure 4)

Paramètre | Description
Messages Max EAPOL-Start | Nombre de messages EAPOL (EAP over LAN)-Start successifs envoyés sans lorsque aucune réponse aux messages EAPOL-Start initiaux n'est reçue.
Période de maintien | Intervalle de temps entre la retransmission de messages EAPOL-Start lorsque aucune réponse au message EAPOL-Start envoyé précédemment n'est reçue.
Période de démarrage | Période pendant laquelle le client en cours d'authentification n'exécute pas d'authentification 802.1X après avoir reçu une indication d'échec de l'authentification de la part de l'authentificateur.
Période d'authentification | Période pendant laquelle le client en cours d'authentification attendra avant de retransmettre une requête 802.1X après le démarrage d'une authentification 802.1X de bout en bout.
Message EAPOL-Start | Lorsque le client câblé envoie le message EAPOL-Start.
Figure 3 boîte de dialogue Paramètres de sécurité avancés par défaut pour une stratégie de réseau câblé de Windows Vista.
Figure 3 boîte de dialogue Paramètres de sécurité avancés par défaut pour une stratégie de réseau câblé de Windows Vista.
Les clients câblés exécutant Windows Server 2008 prennent en charge l'Authentification unique pour les connexions à un réseau câblé. Cette fonctionnalité est également prévue pour le Service Pack 1 de Windows Vista (disponible sous peu). Pour obtenir plus d'informations, consultez l'article à la page http://www.microsoft.com/technet/technetmag/issues/2007/11/HeyScriptingGuy/default.aspx?loc=fr/.
Des paramètres d'Authentification unique sont disponibles pour exécuter l'authentification 802.1X avant le processus d'ouverture de session d'utilisateur ou après le processus d'ouverture de session d'utilisateur, et attendre le nombre de secondes configuré pour terminer l'authentification 802.1X au niveau de l'utilisateur avant de démarrer le processus d'ouverture de session d'utilisateur. Vous pouvez définir si vous souhaitez pi non afficher des boîtes de dialogue pour l'authentification de niveau utilisateur au delà de la consolidation des champs d'entrée sur l'écran d'ouverture de session de Windows. Par exemple, si un type EAP veut que l'utilisateur confirme le certificat envoyé par le serveur RADIUS pendant l'authentification, le type EAP peut afficher la boîte de dialogue.
De plus, vous pouvez spécifier qu'après avoir exécuté l'authentification de niveau utilisateur, le système établit un renouvellement DHCP (Dynamic Host Configuration Protocol) de la configuration TCP/IP de la carte réseau câblé. Sélectionnez cette option s'il existe des VLAN (LAN virtuels) séparés pour les clients câblés authentifiés aux niveaux ordinateur et utilisateur et si ces VLAN sont des sous-réseaux IPv4 ou IPv6 différents.

Prise en charge de l'écriture de script avec l'outil Netsh
Windows Server 2008 et Windows Vista prennent en charge des commandes dans le contexte netsh lan de l'outil Netsh pour configurer des paramètres de réseau câblé ou exporter un profil de réseau câblé, qui est une série nominative de paramètres de réseau câblé au format XML. Avec la configuration par ligne de commande des paramètres de réseau câblé, il est plus facile de déployer des réseaux câblés en créant des scripts automatisés pour les paramètres de réseau câblé sans utiliser de stratégie de groupe. Les paramètres de stratégie de groupe de réseau câblé (IEEE 802.11) s'appliquent uniquement dans un domaine Active Directory. Pour un environnement sans infrastructure de stratégie de groupe, il est possible d'exécuter manuellement ou automatiquement un script qui automatise la configuration des connexions à un réseau câblé avec un profil de réseau câblé, notamment dans le cadre du script d'ouverture de session.
Pour exécuter la configuration par ligne de commande de clients câblés exécutant Windows Vista ou Windows Server 2008, exécutez les commandes lan netsh avec les paramètres appropriés. Par exemple, la commande suivante active l'Authentification unique pour la connexion réseau nommée « Connexion au réseau local » et configure l'Authentification unique pour exécuter l'authentification utilisateur avant l'ouverture de session d'utilisateur :
netsh lan set profileparameter interface="Local Area Connection" ssomode=prelogon
Pour plus d'informations sur la syntaxe des commandes lan netsh, consultez l'article à la page technet.microsoft.com/aa905084.
Les profils de réseau câblé XML peuvent être exportés à partir d'un client câblé exécutant Windows Server 2008 ou Windows Vista, puis importés sur un client câblé exécutant Windows Server 2008 ou Windows Vista à l'aide de l'outil Netsh. Pour exporter un profil de réseau câblé, utilisez la commande netsh Ian export profile. Si vous voulez importer un profil de réseau câblé, utilisez la commande lan netsh add profile. Pour certains exemples utiles de profils de réseau câblé, consultez la page msdn2.microsoft.com/aa816372.
Avec une ligne de commande et la prise en charge des profils XML, vous pouvez démarrer un client câblé dans le réseau câblé authentifié par 802.1X de l'entreprise. Un ordinateur client câblé qui n'est pas membre du domaine ne peut pas se connecter au réseau câblé en utilisant des informations d'identification d'ordinateur. De plus, un ordinateur ne peut pas rejoindre le domaine tant qu'il n'est pas connecté au réseau câblé. Cependant, la ligne de commande et la prise en charge des profils XML permettent à un ordinateur câblé de se connecter au réseau câblé de l'entreprise en utilisant des informations d'authentification d'utilisateur, puis à joindre l'ordinateur au domaine. Pour plus d'informations, consultez la page technet.microsoft.com/bb727031.

Joseph Daviesest rédacteur technique chez Microsoft et il enseigne et écrit sur le réseau Windows depuis 1992. Il a écrit cinq livres pour Microsoft Press et on lui doit la chronique en ligne mensuelle Cable Guy de TechNet.


 Windows&#160;PowerShell: Autorisations dans l'interpr&#233;teur de commandes
Windows PowerShell
Autorisations dans l'interpréteur de commandes
Don Jones
Télécharger le code de cet article: PowerShell2008_02.exe (151KB)

Lorsque je parle de Windows PowerShell, on me pose souvent des questions sur les autorisations, et on me demande en particulier l'interpréteur de commandes permet d'automatiser les modifications d'autorisations. Les questions sur les autorisations de fichiers sont peut-être les plus courantes, bien que celles concernant les autorisations d'annuaire et du Registre soient également nombreuses. S'agissant des autorisations et de pratiquement
toute interface de ligne de commande ou de script (y compris Windows PowerShellTM et VBScript), j'ai une bonne et une mauvaise nouvelle à vous annoncer.
La mauvaise nouvelle est que les autorisations dans Windows® sont tout simplement compliquées, et Windows PowerShell ne peut pas faire grand chose pour y remédier. Le problème vient du fait que sur un système d'exploitation Windows, il existe plusieurs objets liés aux autorisations, que vous examiniez le système de fichiers, Active Directory®, le Registre ou pratiquement n'importe quel autre emplacement.
Tout d'abord, il y a la ressource elle-même, par exemple, un objet d'annuaire, un fichier ou un dossier. Ensuite, il y a l'objet Liste de contrôle d'accès (ACL) qui est associé à la ressource. L'ACL consiste en une ou plusieurs entrées de contrôle d'accès, ou objets ACE. Un ACE relie essentiellement une entité de sécurité (un utilisateur ou un groupe, qui représente un objet de plus) à une autorisation (telle que Lecture ou Contrôle total) et un état Accorder ou Refuser. Nous parlons ici de pas moins de cinq objets : la ressource, l'ACL, un ACE, une entité et une autorisation.
Les autorisations sont encore compliquées par le fait que chaque type de ressource possède des types d'autorisations différents. Les objets d’annuaire, par exemple, ont des autorisations complexes qui régissent l'accès aux attributs des objets individuels. Les autorisations de fichier sont relativement peu compliquées en comparaison.
Et, techniquement, tout ceci est multiplié par deux lorsqu'il s'agit d'effectuer un audit. Chaque ressource possède en fait deux ACL. Il y a tout d'abord la Liste de contrôle d'accès discrétionnaire (DACL) qui gère l'accès à la ressource. Ensuite, il y a une Liste de contrôle d'accès système (SACL) qui contrôle l'audit de la ressource. Pour utiliser ces autorisations, vous devez littéralement vous frayer un chemin à travers tout un tas d'objets de programmation compliqués, et un interpréteur de commandes comme Windows PowerShell ne peut pas faire grand chose pour vous simplifier la tâche.

Limité par .NET Framework
Plus d'infos ?
Pour obtenir plus de ressources Windows PowerShell, notamment une bibliothèque d'applets de commandes pouvant faire l'objet d'une recherche, et pour entrer en contact avec Don Jones et d'autres experts Windows PowerShell, rendez-vous sur le site www.PowerShellCommunity.org.

La nature de Windows PowerShell rend les choses un peu plus compliquées. Étant construit sur Microsoft® .NET Framework, Windows PowerShell utilise les classes sous-jacentes de .NET Framework pour représenter et utiliser les autorisations. Ces classes .NET Framework sous-jacentes sont conçues pour offrir aux développeurs de logiciels un contrôle granulaire et précis des autorisations. Bien sûr, « granulaire et précis » signifie beaucoup de choses et se traduit souvent par « très compliqué ».
De plus, .NET Framework ne fournit pas de classes représentant les autorisations dans chaque type de ressource Windows. Par exemple, bien que .NET Framework vous propose des classes qui vous permettent de manipuler la sécurité des fichiers, il ne fournit pas de classe qui vous permette de manipuler la sécurité sur les dossiers partagés. Il en résulte que Windows PowerShell ne peut pas manipuler les autorisations sur tous les types de ressources Windows. En résumé, Windows PowerShell est limité aux fonctionnalités exposées par .NET Framework.

Autorisations dans l'interpréteur de commandes
La gestion des autorisations dans Windows PowerShell est dérivée de deux applets de commande : Get-ACL et Set-ACL. Comme vous pouvez le deviner, Get-ACL récupère l'ACL d'une ressource. Vous pouvez ensuite modifier l'ACL en fonction de vos besoins et utiliser Set-ACL pour le réintégrer à la ressource. Ces applets de commande sont toutes deux génériques et s'appuient sur le système Windows PowerShell de fournisseurs PSDrive. Ainsi, ces deux applets de commande ACL peuvent théoriquement fonctionner avec n'importe quel type de ressource, à condition qu'il y ait un fournisseur PSDrive capable de comprendre un type de ressource donné et de modifier les autorisations sur ce type de ressource. Les fournisseurs FileSystem et Registry PSDrive, qui sont inclus avec Windows PowerShell, prennent en charge la gestion des autorisations via les deux applets de commande ACL. (Il est possible que les autres fournisseurs PSDrive ne prennent pas en charge cette opération).
L'exemple de script illustré à la figure 1 vous permet de spécifier un répertoire de démarrage, une entité de sécurité et une autorisation. Le script applique ensuite l'autorisation que vous avez spécifiée pour cette entité à tous les fichiers et dossiers se trouvant dans le répertoire spécifié. Le script lit également les sous-répertoires de façon récursive.
Figure 1 Appliquer une autorisation pour une entité aux fichiers et dossiers d'un répertoire (Close Figure 1)
#ChangeACL.ps1
$Right="FullControl"

#The possible values for Rights are
# ListDirectory, ReadData, WriteData
# CreateFiles, CreateDirectories, AppendData
# ReadExtendedAttributes, WriteExtendedAttributes, Traverse
# ExecuteFile, DeleteSubdirectoriesAndFiles, ReadAttributes
# WriteAttributes, Write, Delete
# ReadPermissions, Read, ReadAndExecute
# Modify, ChangePermissions, TakeOwnership
# Synchronize, FullControl

$StartingDir=Read-Host "What directory do you want to start at?"
$Principal=Read-Host "What security principal do you want to grant" `
"$Right to? `n Use format domain\username or domain\group"

#define a new access rule.
#note that the $rule line has been artificially broken for print purposes.
#it needs to be one line. the online version of the script is properly
#formatted.
$rule=new-object System.Security.AccessControl.FileSystemAccessRule
($Principal,$Right,"Allow")

foreach ($file in $(Get-ChildItem $StartingDir -recurse)) {
  $acl=get-acl $file.FullName

  #Add this access rule to the ACL
  $acl.SetAccessRule($rule)

  #Write the changes to the object
  set-acl $File.Fullname $acl
  }
La fonction la plus importante de ce script se situe là où il définit une nouvelle règle d'accès dans la variable $rule. Pour ce faire, j'utilise une classe .NET Framework « brute », ce qui est peut-être la partie la plus compliquée de la gestion des autorisations sous Windows PowerShell. Le script récupère ensuite l'ACL de chaque fichier et dossier à tour de rôle en utilisant Get-ACL, applique la nouvelle règle en utilisant la méthode SetAccessRule de l'ACL et réintègre l'ACL modifiée dans la ressource à l'aide de Set-ACL.
En réalité, ceci n'est pas très compliqué, bien que des opérations plus complexes telles que la suppression d'un ACE d'une ACL soient impliquées. À mon avis, ce qui complique le processus, c'est le fait que qu'il comporte de nombreuses étapes : obtenir l'ACL, définir une règle, modifier l'ACL et écrire l'ACL. Il ne s'agit pas d'une commande unique propre qui fait tout d'un seul coup. Et puisque je voulais modifier les ACL sur plusieurs fichiers, j'ai dû tout encapsuler dans une boucle Foreach, en utilisant Get-ChildItem pour accéder à tous les fichiers et dossiers.

J'opterai pour la solution la plus simple
Applet de commande du mois : Get-QADUser
Cette applet de commande est un must si vous gérez Active Directory. Elle n'est pas intégrée à Windows PowerShell, mais elle est disponible sous forme de téléchargement gratuit inclus dans Management Shell for Active Directory de Quest Software (www.quest.com/activeroles-server/arms.aspx).
Une fois le composant logiciel enfichable installé, vous pouvez utiliser Get-QADUser pour récupérer des objets utilisateur du répertoire. Bien sûr, le fait d'exécuter l'applet de commande ne fait que renvoyer tous vos utilisateurs, ce qui n'est pas très utile dans la plupart des tâches administratives. Toutefois cette applet de commande vous permet de spécifier des critères de filtrage qui sont appliqués au contrôleur de domaine de sorte que seuls les utilisateurs qui vous intéressent soient renvoyés à Windows PowerShell. Cette technique est beaucoup plus rapide que celle qui consiste à d'abord obtenir tous les utilisateurs puis à les filtrer avec l'applet de commande Where-Object. Par exemple, Get-QADUser -l Redmond renverra uniquement les utilisateurs dont l'attribut « l » contient « Redmond ». (L'attribut « l », au fait, représente la localité et est indiqué comme une ville dans la GUI). Vous pouvez ensuite canaliser ces utilisateurs vers d'autres applets de commande afin de créer un rapport HTML, les placer dans un groupe ou même les supprimer.

Je ne trouve pas mon exemple très complexe, mais je sais que beaucoup d'administrateurs préfèrent une façon plus simple de gérer les autorisations. Certains voudraient peut-être supprimer d'un seul coup un groupe d'utilisateurs particulier d'une série de dossiers, mais ils ne souhaitent pas écrire un script de plusieurs étapes comme celui de la figure 1.
Fort heureusement, Windows PowerShell propose une méthode de gestion des autorisations simplifiée, et vous la connaissez probablement déjà.
Windows PowerShell ne vous oblige pas à renoncer à toutes les méthodes de gestion familières et fiables. Vous pouvez continuer d'utiliser des outils de ligne de commande tels que Dsacls.exe, Cacls.exe et Xcacls.exe qui ont été spécialement conçus pour vous permettre de gérer les divers types d'autorisations en toute simplicité. Bien que leur syntaxe soit complètement différente de la syntaxe normalisée utilisée par les applets de commande de Windows PowerShell, ces utilitaires de ligne de commande n'ont plus besoin d'être utilisés d'une manière ad hoc à la ligne de commande comme ils l'étaient dans l'ancien interpréteur de commandes cmd.exe. De plus, vous pouvez utiliser Windows PowerShell pour automatiser ces utilitaires.
J'ai rencontré des personnes (je dirai des « puristes ») qui prétendent que ceux qui utilisent un utilitaire de ligne de commande ancienne génération dans Windows PowerShell ont tort. Je ne suis pas tout à fait sûr de comprendre leur logique. Je suis entièrement d'accord avec ceux qui pensent qu'il est important de mener à bien une tâche, et si le moyen le plus facile de le faire est d'utiliser un utilitaire de ligne de commande vieux de 10 ans, je suis tout à fait pour. Je n'ai surtout pas envie de passer des heures interminables à essayer de faire les choses d'une autre manière parce que c'est « plus pur ». Et l'équipe Windows PowerShell de Microsoft pense comme moi. Si un outil existant vous aide à faire votre travail, Windows PowerShell vous laisse l'utiliser dans l'interpréteur de commandes. Pourquoi réinventer la roue ?
La figure 2 illustre un bref script, extrait de mon livre Windows PowerShell : TFM (SAPIEN Press, 2006), qui utilise Windows PowerShell pour automatiser Cacls.exe. Ce script n'est qu'une démonstration, ce qui signifie que vous devez l'ajuster si vous voulez en faire un véritable outil d'automatisation. Il vous montre, cependant, comment un script Windows PowerShell peut recueillir des informations et les utiliser pour lancer Cacls.exe, comme si Cacls.exe était une commande Windows PowerShell « native ». (Bien que ce script recueille des informations en invitant l'utilisateur à les lui fournir, il peut également lire les paramètres d'un fichier ou d'une base de données).
Figure 2 Automatiser Cacls.exe (Close Figure 2)
#SetPermsWithCACLS.ps1
# CACLS rights are usually
# F = FullControl
# C = Change
# R = Readonly
# W = Write

$StartingDir=Read-Host "What directory do you want to start at?"
$Right=Read-Host "What CACLS right do you want to grant? Valid choices are F, C, R or W"
Switch ($Right) {
  "F" {$Null}
  "C" {$Null}
  "R" {$Null}
  "W" {$Null}
  default {
    Write-Host -foregroundcolor "Red" `
    `n $Right.ToUpper() " is an invalid choice. Please Try again."`n
    exit
  }
}

$Principal=Read-Host "What security principal do you want to grant?" `
"CACLS right"$Right.ToUpper()"to?" `n `
"Use format domain\username or domain\group"

$Verify=Read-Host `n "You are about to change permissions on all" `
"files starting at"$StartingDir.ToUpper() `n "for security"`
"principal"$Principal.ToUpper() `
"with new right of"$Right.ToUpper()"."`n `
"Do you want to continue? [Y,N]"

if ($Verify -eq "Y") {

 foreach ($file in $(Get-ChildItem $StartingDir -recurse)) {
  #display filename and old permissions
  write-Host -foregroundcolor Yellow $file.FullName
  #uncomment if you want to see old permissions
  #CACLS $file.FullName

  #ADD new permission with CACLS
  CACLS $file.FullName /E /P "${Principal}:${Right}" >$NULL

  #display new permissions
  Write-Host -foregroundcolor Green "New Permissions"
  CACLS $file.FullName
 }
}

Du succès avec les autorisations ?
J'ai entendu dire que Windows PowerShell n'était pas très pratique pour l'administration des autorisations parce qu'il ne proposait pas d'applet de commande native capable d'offrir une gestion des autorisations simplifiée et universelle. Je ne suis pas d'accord. Tout d'abord, cet argument est souvent avancé par des administrateurs spécialistes d'UNIX, et le fait est que le système d'autorisations de Windows est infiniment plus complexe que celui utilisé par UNIX. En exposant ce système, Windows PowerShell sera également compliqué. Ce problème ne provient toutefois pas de Windows PowerShell.
En outre, Windows PowerShell vous permet d'utiliser des outils simplifiés sous forme de bons vieux utilitaires de ligne de commande, comme je l'ai montré dans cet article. Il est vrai que .NET Framework doit être quelque peu étendu de sorte à couvrir d'une manière plus complète la gestion des autorisations à l'échelle de la plate-forme Windows, mais en général, Windows PowerShell vous offre le meilleur des deux mondes : une gestion des autorisations simplifiée et l'accès à des outils de gestion granuleux et précis.

Don Jones contribue à l'élaboration de TechNet Magazine et est co-auteur de Windows PowerShell: TFM (SAPIEN Press, 2007). Il enseigne Windows PowerShell (voir www.ScriptingTraining.com) et peut être contacté par le biais du site Web www.ScriptingAnswers.com


 H&#233;, vous le scripteur&#160;!: Les Jeux sont ouverts&#160;! Oh, et aussi un peu de XML
Hé, vous le scripteur !
Les Jeux sont ouverts ! Oh, et aussi un peu de XML
Les scripteurs Microsoft
Télécharger le code de cet article: HeyScriptingGuy2008_02.exe (151KB)

Vous savez, dès qu'on parle des légendes du monde sportif, les mêmes noms reviennent inévitablement : Michael Jordan. Pelé. Muhammad Ali. Eddy Merckx ScooterK et MrRat. Johnny...
Ouais, c'est ça, vous... Non, vous êtes sérieux ? Vous ne connaissez vraiment pas ScooterK et MrRat ? Bon, pour ceux qui ne se tiennent manifestement pas au courant sur les Jeux de script d'hiver (du 15 février au 3 mars au Centre de scripts TechNet, rendez-vous sur microsoft.com/technet/scriptcenter/funzone/games), ScooterK et MrRat sont de vraies légendes, des concurrents qui ont réalisé des scores parfaits dans au moins une division des Jeux de script d'hiver 2007.
Et voici la partie vraiment sympa : pensez-vous vraiment avoir une chance de devenir une légende du football comme Pelé ? Probablement pas. Pouvez-vous espérer devenir le champion du monde des poids lourds ? Bon, certains des Scripteurs répondent bien au critère « poids lourds », mais la partie « champion de boxe » ne colle pas vraiment. Mais vous (oui, vous !) pouvez facilement devenir le prochain ScooterK ou MrRat.
Remarque : En théorie, vous pourriez tout aussi bien devenir le prochain Michael Jordan. Tout ce qu'il vous suffit de faire, c'est de grandir pour mesurer 1,98 m, gagner 6 titres de champion NBA et remporter deux fois les autres Jeux (olympiques).
Ne vous cassez pas la tête ; nous allons vous dire comment devenir le prochain ScooterK ou MrRat (et peut-être même le prochain Bizzy ou H2Data). Il vous suffit pour cela de vous présenter au Centre de scripts et de participer aux Jeux de script. Le 15 février, nous mettrons en ligne 10 épreuves différentes (10 défis de script), et vous mettrons au défi d'en réussir au moins un. Écrivez un script qui résout le problème que nous posons, et envoyez-le aux Scripteurs. (Vous trouverez des instructions détaillées sur la page d'accueil des Jeux de script). Nous testerons votre script et, s'il marche, nous vous attribuerons des points. Réussissez les 10 épreuves et vous deviendrez vous aussi une légende du monde sportif. Ou du moins du monde sportif de script, ce qui est à peu près la même chose.
Les Jeux de script (15 février - 3 mars) sont amusants et stimulants. Et le mieux, c'est que les Jeux de script sont ouverts à tout le monde. Vous êtes relativement nouveau dans l'écriture de scripts d'administration système ? Alors inscrivez-vous dans la catégorie Débutant ; nous organisons des compétitions séparées pour les débutants en VBScript, Windows PowerShellTM et (nouveau cette année) Perl. Vous trouvez la catégorie Débutant un peu trop facile ? Alors essayez-vous à la catégorie Avancé, qui proposé également des compétitions en VBScript, Windows PowerShell et Perl.
Les Jeux (on vous a dit qu'ils se déroulaient du 15 février au 3 mars ?) sont tout simplement l'événement de la saison dans l'écriture de scripts, et vous ne voulez pas les manquer. Rendez-vous dès maintenant sur la page d'accueil du Centre de scripts pour des astuces et conseils sur l'entraînement pour la compétition, puis revenez le 15 février, quand nous déclarerons les Jeux officiellement ouverts.
Du 15 février au 3 mars. Au cas où vous n'auriez pas compris.
Pardon ? En fait, nous sommes tout à fait d'accord avec vous : la publication d'une nouvelle chronique Hé, vous le Scripteur ! et l'annonce des Jeux de script, c'est probablement trop d'excitation pour un seul mois. Mais pour que les bonnes gens de TechNet Magazine soient heureux (notre principal objectif dans la vie, cela va sans dire), nous avons décidé de prendre le risque et de quand même publier une nouvelle chronique.
Il y a exactement un an (incroyable, ça fait déjà un an ?), nous avons publié une chronique expliquant comment utiliser un script pour lire un fichier XML. En revanche, cette chronique n'expliquait pas comment utiliser un script pour créer, écrire et modifier un fichier XML. Ce mois-ci, nous sommes ici pour corriger cela. Vous aimeriez savoir comment écrire un script capable de créer un fichier XML ? Il suffisait de le demander. Euh, demander puis attendre un an pour que nous nous y mettions. La figure 1 reproduit ce script. Cela peut certes sembler compliqué, mais nous expliquerons comment tout cela fonctionne.
Figure 1 Créer un fichier XML (Close Figure 1)
Set xmlDoc = _
  CreateObject("Microsoft.XMLDOM")

Set objRoot = _
  xmlDoc.createElement("ITChecklist")
xmlDoc.appendChild objRoot

Set objRecord = _
  xmlDoc.createElement("ComputerAudit")
objRoot.appendChild objRecord

Set objName = _
  xmlDoc.createElement("ComputerName")
objName.Text = "atl-ws-001"
objRecord.appendChild objName

Set objDate = _
  xmlDoc.createElement("AuditDate")
objDate.Text = Date
objRecord.appendChild objDate

Set objIntro = _
  xmlDoc.createProcessingInstruction _
  ("xml","version='1.0'")
xmlDoc.insertBefore _
  objIntro,xmlDoc.childNodes(0)

xmlDoc.Save "C:\Scripts\Audits.xml"
Pour commencer, nous créons une instance de l'objet Microsoft.XMLDOM. Comme vous l'avez peut-être deviné, c'est l'objet qui nous permet de travailler avec des fichiers XML. Notre objectif est de produire un fichier XML simple qui ressemble à la figure 2.
Figure 2 Notre cible : un fichier XML simple
Figure 2 Notre cible : un fichier XML simple
Pour créer ce fichier XML, la première chose que nous devons faire est créer le nœud racine (ITChecklist). Comment procédons-nous ? Comme ceci :
Set objRoot = _
  xmlDoc.createElement("ITChecklist")
xmlDoc.appendChild objRoot
C'était plutôt facile, non ? Il nous a suffit d'invoquer la méthode createElement, en transmettant à createElement le nom que nous voulons donner au nœud racine. Nous appelons ensuite simplement la méthode appendChild, en transmettant la référence objet à notre nouvel élément (objRoot) comme unique paramètre de méthode. À ce stade, nous avons un nœud racine.
Mais attendez, ce n'est pas fini. Ensuite, nous créons le nœud ComputerAudit, un nœud enfant du nœud ITChecklist qui représente l'information pour un ordinateur seul. Comme vous pouvez le voir, le code permettant de créer ce nœud est similaire au code utilisé pour créer le nœud racine :
Set objRecord = _
  xmlDoc.createElement("ComputerAudit")
objRoot.appendChild objRecord
La seule différence est la suivante : lorsque nous avons créé le nœud racine, nous avons invoqué appendChild sur notre document XML lui-même. (Notez la référence objet xmlDoc). Pour ajouter un nouveau nœud enfant à la racine, nous invoquons appendChild sur le nœud racine (objRoot) au lieu du document XML. C'est aussi facile que ça.
Il est tout aussi simple d'ajouter des nœuds ComputerName et AuditDate comme nœuds enfants de ComputerAudit. Pour ce faire, nous suivons un processus similaire : nous invoquerons createElement pour créer un nouveau nœud, et nous invoquerons appendChild pour ajouter ce nouveau nœud au fichier.
(Question rapide : Á partir d'où invoquons-nous appendChild cette fois-ci ? C'est ça : à partir d'objRecord, le nœud parent (ComputerAudit) que nous venons de créer).
Au fait, comme les nœuds ComputerName et AuditDate doivent contenir des valeurs, il est important que nous indiquions également une valeur pour la propriété « Text » de chacun de ces nœuds juste avant de les ajouter au document.
Tout cela devrait devenir clair une fois que nous aurons regardé le code qui crée réellement le nœud ComputerName :
Set objName = _
  xmlDoc.createElement("ComputerName")
objName.Text = "atl-ws-001"
objRecord.appendChild objName
Comme on pourrait s'y attendre, le code permettant de créer AuditDate est presque identique. Il nous faut simplement indiquer un nom de nœud différent en invoquant createElement et en attribuant une valeur différente à la propriété « Text ».
Pfff... On vous simplifie vraiment trop la tâche, vous ne trouvez pas ?
Une fois que nous avons terminé de créer les nœuds pour notre premier enregistrement (qui est dans ce cas le seul), nous exécutons ce joli petit bloc de code :
Set objIntro = _
 xmlDoc.createProcessingInstruction _
  ("xml","version='1.0'")
xmlDoc.insertBefore _
  objIntro,xmlDoc.childNodes(0)
Celui-ci insère simplement la balise <?xml version="1.0" ?> au début du fichier, garantissant ainsi que nous avons un document XML bien formé.
À ce stade, tout ce qu'il nous reste à faire, c'est invoquer la méthode « Save » et enregistrer notre nouveau fichier sous C:\Scripts\Audits.xml :
xmlDoc.Save "C:\Scripts\Audits.xml"
Et comme cela, nous avons un tout nouveau document XML.
En fait, c'est assez utile : vous savez maintenant comment créer un fichier XML à l'aide d'un script. Bien sûr, la plupart du temps, vous n'aurez pas réellement besoin de créer un nouveau fichier XML, mais plutôt d'ajouter de nouvelles données à un fichier existant. Alors, les Scripteurs vont-ils montrer à tout le monde comment faire cela ?
Vous savez, au départ, nous avions décidé que nous n'allions pas le faire. Mais ensuite, comme nous sommes gentils et généreux, nous avons décidé de proposer un deal aux lecteurs de TechNet Magazine : si tous les lecteurs de ce magazine acceptent de participer aux Jeux de script 2008, en retour, nous vous montrerons comme utiliser un script pour ajouter des données à un fichier XML. Alors, tout le monde est d'accord pour participer aux Jeux de script ?
Bon... on vous attend. Oui, vous, le gars qui habite dans son bled paumé.
Voilà, on préfère ça. Et croyez-nous, nous allons bien nous amuser pendant les Jeux de script, tout le monde s'y éclate à chaque fois. Nous vous le promettons.
Bon, comme nous pensons que vous êtes des gens de parole, nous allons vous montrer un script qui peut ajouter des données à un fichier XML existant. Examinez la figure 3.
Figure 3 Ajouter à un fichier XML (Close Figure 3)
Set xmlDoc = _
  CreateObject("Microsoft.XMLDOM")

xmlDoc.Async = "False"
xmlDoc.Load("C:\Scripts\Audits.xml")

Set objRoot = xmlDoc.documentElement

Set objRecord = _
  xmlDoc.createElement("ComputerAudit")
objRoot.appendChild objRecord

Set objFieldValue = _
  xmlDoc.createElement("ComputerName")
objFieldValue.Text = "atl-ws-100"
objRecord.appendChild objFieldValue

Set objFieldValue = _
  xmlDoc.createElement("AuditDate")
objFieldValue.Text = Date
objRecord.appendChild objFieldValue

xmlDoc.Save "C:\Scripts\Audits.xml"
Comme vous pouvez le voir, ce n'est pas affreusement différent du script qui a créé le fichier XML. Nous commençons par créer une instance de l'objet Microsoft.XMLDOM, puis nous définissons la propriété Async sur False, ce qui indique au script que nous voulons charger le document de façon synchrone plutôt qu'asynchrone. Quelle différence cela fait-il ? Et bien, si nous chargions le document de façon asynchrone, le script serait libre de continuer bien que le document ne soit pas entièrement chargé. Inutile de dire que le fait d'essayer d'exécuter une tâche sur un document qui n'existe pas encore pourrait rapidement créer des problèmes. En nous assurant que notre fichier XML se charge de manière synchrone, nous nous garantissons également que le fichier sera entièrement chargé avant le démarrage de notre script.
En parlant de chargé, l'haleine de notre... euh, laissez tomber, on va oublier ça. Nous allons plutôt invoquer la méthode Load pour ouvrir le fichier C:\Scripts\Audits.xml. Dès que le fichier est ouvert, nous utilisons cette ligne de code pour créer une instance de la classe documentElement, ce qui nous lie à la racine du document. Dans ce cas, il s'agit bien sûr du nœud ITChecklist :
Set objRoot = xmlDoc.documentElement
Nous avons fait le plus dur. Nous créons une nouvelle instance du nœud ComputerAudit, en utilisant la méthode appendChild pour ajouter ce nouveau nœud au fichier. Nous créons ensuite de nouvelles instances des nœuds ComputerName et AuditDate, en indiquant les valeurs appropriées (respectivement atl-ws-100 et la date actuelle) pour chaque nouveau nœud. Nous rangeons ces deux éléments dans le nouveau nœud ComputerAudit que nous venons de créer, invoquons la méthode Save pour enregistrer le fichier, puis nous pouvons retourner dans la joie à nos scripts pour les prochains Jeux de script.
Lesquels, au cas où nous aurions oublié de le préciser, sont prévus du 15 février au 3 mars au Centre de scripts TechNet.
Jusque-là, tout va bien. Nous pouvons créer un nouveau fichier XML, et nous pouvons ajouter de nouveaux enregistrements à ce fichier. C'est bien beau tout ça, mais il nous reste du pain sur la planche : par exemple, comment modifier des enregistrements existants dans le fichier ? Et bien, voici au moins une façon de procéder, illustrée à la figure 4.
Figure 4 Modifier le XML (Close Figure 4)
Set xmlDoc = _
  CreateObject("Microsoft.XMLDOM")

xmlDoc.Async = "False"
xmlDoc.Load("C:\Scripts\Audits.xml")

Set colNodes=xmlDoc.selectNodes _
  ("/ITChecklist/ComputerAudit " & _
   "[ComputerName = 'atl-ws-100']/AuditDate")

For Each objNode in colNodes
   objNode.Text = Date
Next

xmlDoc.Save "C:\Scripts\Audits.xml"
La partie importante de ce script survient lorsque nous invoquons la méthode selectNodes, qui détermine les enregistrements renvoyés par notre requête. Comme vous pouvez le voir, lorsque nous avons invoqué selectNodes, nous avons pris le soin d'indiquer deux critères : nous voulons uniquement les enregistrements dont l'attribut ComputerName est égal à atl-ws-100, et nous voulons uniquement récupérer l'attribut AuditDate.
Remarque : vous ne voyez pas comment cela fonctionne ? Alors jetez un œil à notre premier article sur la manipulation des fichiers XML (www.microsoft.com/technet/technetmag/issues/2007/02/HeyScriptingGuy/default.aspx?loc=fr/) ; la syntaxe de requête selectNodes y est expliquée plus en détail.
Comme à son habitude, selectNodes renvoie une collection de tous les enregistrements XML qui répondent aux critères indiqués. Cela veut également dire que vous pouvez facilement mettre à jour la valeur de l'attribut AuditDate (le seul attribut que nous avons demandé) en créant une boucle For Each qui parcourra tous les éléments de cette collection, puis, au sein de cette boucle, attribuera une nouvelle valeur à AuditDate :
For Each objNode in colNodes
   objNode.Text = Date
Next
Qu'y a-t-il ? Vous vous demandez si nous pourrions modifier plusieurs attributs à la fois ? Oui, nous pourrions. Mais malheureusement, pas aujourd'hui : nous devrons aborder ça dans une chronique future.
Vous dites que vous avez une autre question : Comment mettre à jour la date d'audit pour tous les ordinateurs dans le fichier ? C'est facile : il vous suffit d'utiliser le script de la figure 5.
Figure 5 Modifier la date d'audit (Close Figure 5)
Set xmlDoc = _
  CreateObject("Microsoft.XMLDOM")

xmlDoc.Async = "False"
xmlDoc.Load("C:\Scripts\Audits.xml")

Set colNodes=xmlDoc.selectNodes _
  ("/ITChecklist/ComputerAudit/AuditDate")

For Each objNode in colNodes
   objNode.Text = Date
Next

xmlDoc.Save "C:\Scripts\Audits.xml"
La différence entre ce script et notre script précédent de modification de XML ? Avec celui-ci, nous n'avons pas indiqué que nous voulions uniquement afficher les enregistrements pour lesquels l'attribut ComputerName était égal à atl-ws-100. En laissant ce critère de côté, nous récupérons par défaut tous les enregistrements.
Jetons un œil à un dernier script avant de nous quitter. Supposons que notre vieux pote atl-ws-100 a joué sa dernière partie de solitaire avant de rejoindre le grand cimetière informatique dans le ciel.
Remarque théologique : où vont les ordinateurs quand ils meurent ? Il se trouve qu'ils sont généralement donnés à l'un des Scripteurs. Par exemple, on a donné un ordinateur portable au Scripteur qui écrit cette chronique parce que, « Vous faites beaucoup de choses utiles pour Microsoft, et vous devriez vraiment avoir un ordinateur portable ». Le seul inconvénient à cette offrande généreuse ? L'ordinateur était cassé et ne pouvait même pas être allumé. Ce qui était probablement aussi bien. Il se trouve qu'il n'avait pas non plus de disque dur.
Pour boucler la grande boucle de la vie du silicium, nous devons supprimer atl-ws-100 de notre fichier XML. Comment allons-nous procéder ? Regardez la figure 6.
Figure 6 Supprimer du fichier XML (Close Figure 6)
Set xmlDoc = _
  CreateObject("Microsoft.XMLDOM")

xmlDoc.Async = "False"
xmlDoc.Load("C:\Scripts\Audits.xml")

Set colNodes=xmlDoc.selectNodes _
  ("/ITChecklist/ComputerAudit " & _
   "[ComputerName = 'atl-ws-100']")

For Each objNode in colNodes
  xmlDoc.documentElement.removeChild _
    (objNode)
Next

xmlDoc.Save "C:\Scripts\Audits.xml"
Comme vous pouvez le voir, ceci ressemble à notre script précédent, celui qui modifiait la propriété AuditDate. Il y a seulement deux différences, en fait. La première, c'est que nous ne nous sommes pas embêtés à indiquer une valeur de propriété dans notre requête selectNodes. En faisant ça, nous obtenons l'intégralité de l'enregistrement XML pour atl-ws-100 :
Set colNodes=xmlDoc.selectNodes _
  ("/ITChecklist/ComputerAudit " & _
   "[ComputerName = 'atl-ws-100']")
La seconde, c'est que dans notre boucle For Each, nous invoquons simplement la méthode removeChild pour supprimer tous les enregistrements où ComputerName est égal à atl-ws-100 :
xmlDoc.documentElement.removeChild _
  (objNode)
Et voilà. Adieu, atl-ws-100. Nous aurions aimé mieux te connaître.
Bon, certains rédacteurs de TechNet Magazine lisent-ils encore la chronique de ce mois ? Vous dites qu'ils sont tous partis essayer l'énigme de script mensuelle ? Excellent. Maintenant que plus personne ne lit par-dessus notre épaule, nous pouvons vous dire ceci : arrêtez ce que vous être en train de faire (comme lire ce magazine, par exemple), et rendez-vous au Centre de scripts pour vous préparer aux Jeux de script. Après tout, vous avez tout le temps pour lire TechNet Magazine. Mais les Jeux de script, ça n'arrive qu'une fois par an, et pendant une période limitée en plus (pour être plus précis, du 15 février au 3 mars). Ne les manquez pas !
Remarque : Maintenant que vous le dites, effectivement, nous avons attendu que vous ayez lu toute notre chronique avant de vous dire d'arrêter de lire TechNet Magazine ? On se demande bien pourquoi...

Les scripts embrouillés du Dr. Scripto
Le défi mensuel qui teste non seulement vos compétences de résolution d'énigme, mais également vos compétences d'écriture de script.

Février 2008 Symboles mystères
Le clavier informatique comporte un grand nombre de caractères aux allures étranges. Le plus étrange, c'est que la plupart de ces caractères ont en fait une utilisation spécifique dans les langages de script tels que VBScript ou Windows PowerShell. Voyons si vous pouvez faire correspondre chaque symbole à son utilisation de script. Nous avons fait le premier pour vous.

Les scripts embrouillés du Dr. Scripto
Réponse : Symboles mystères, février 2008

Les scripteurs Microsoft travaillent pour (enfin, sont employés par) Microsoft. Lorsqu’ils ne sont pas en train de jouer au base-ball, d’entraîner une équipe ou de regarder un match (ou de se livrer à de multiples autres activités), ils dirigent le Script Center TechNet. Vous pouvez le vérifier vous-même sur www.scriptingguys.com.


 Vigilance s&#233;curit&#233;: Attaque de type Island Hopping&#160;: att&#233;nuation des d&#233;pendances ind&#233;sirables
Vigilance sécurité
Attaque de type Island Hopping : atténuation des dépendances indésirables
Jesper M. Johansson

Dans l'article du mois dernier de Vigilance sécurité, j'ai abordé les premières étapes d'utilisation d'un lecteur flash USB pour l'attaque d'un réseau. L'attaque commençait par un lecteur flash USB infecté connecté à un ordinateur. Le code malveillant s'exécutait alors, soit automatiquement soit avec une aide minimale de l'utilisateur (grâce à de
l'ingénierie sociale simple). Cette attaque demeurait locale au poste de travail, mais il est clair que le logiciel malveillant aurait pu se propager au reste du réseau. J'ai décrit ce type d'attaque de réseau en détail dans mon livre à paraître, Windows Server 2008 Security Resource Kit (Microsoft Press®, 2008), et adapte des éléments de ce chapitre pour cet article.
L'une des options de protection consiste évidemment à interdire les lecteurs amovibles. Bien que cela puisse sembler prudent, vos utilisateurs vous achèveraient vraisemblablement avant même que vous n'ayez atteint votre voiture si vous essayiez de le faire, et il pourrait être difficile de leur en vouloir. La meilleure solution, dans tous les environnements à l'exception des plus sensibles, consiste à tenter de gérer le risque impliqué et à limiter l'exposition.
Qui plus est, les lecteurs amovibles ne sont en aucun cas la seule méthode permettant de compromettre un ordinateur client. Vous rappelez-vous l'article « Les 10 lois immuables de sécurité » (disponible à l'adresse microsoft.com/technet/archive/community/columns/security/essays/10imlaws.mspx) ? L'idée générale de la loi n°3 est toujours vraie : « Si la mauvaise personne possède un accès physique non restreint à votre ordinateur, ce n'est plus votre ordinateur ». Dans le contexte de cet article, si un attaquant dispose d'un accès à votre ordinateur, cet ordinateur doit être considéré comme compromis. Ceci peut même être effectué à distance si l'attaquant peut faire en sorte que vous exécutiez son code sur votre ordinateur. Vous reconnaîtrez peut-être la loi n°1 des lois immuables : « Si une personne malintentionnée peut vous persuader d'exécuter son programme sur votre ordinateur, il n'est plus votre ordinateur. »
Il est prudent de considérer que les lois immuables sont toujours applicables. Elles se sont avérées remarquablement résilientes et ne sont pas appelées à changer de manière significative avant que nous ne changions fondamentalement la manière dont fonctionnent les ordinateurs. Par conséquent, en considérant que ces lois s'appliquent au scénario présenté, il est essentiel de rendre les lecteurs amovibles inoffensifs. Vous pouvez y parvenir avec quelques ajustements du Registre.
Bien entendu, vous devez également utiliser des couches de protection supplémentaires. Vous pouvez raisonnablement supposer qu'un grand nombre de vos ordinateurs clients ont déjà été compromis ou sont manipulés par des utilisateurs qui n'ont pas toujours à l'esprit les meilleurs intérêts de votre organisation en matière de sécurité. Cela signifie que vous devez atténuer leurs effets sur le reste du réseau et augmente l'importance que revêtent la compréhension, l'analyse et l'atténuation des dépendances de sécurité.

Définition d'une dépendance de sécurité
Une dépendance de sécurité apparaît lorsque la sécurité d'un ordinateur dépend de la sécurité d'un autre. Vous pouvez avoir entendu dire que si votre contrôleur de domaine (DC) a été piraté, votre réseau entier a été piraté. C'est une façon simpliste de déclarer que tous les membres du domaine dépendent des DC pour leur sécurité. Si la sécurité du DC n'est pas assurée, les ordinateurs membres ne peuvent pas être sécurisés. Si un attaquant peut modifier la configuration de sécurité du domaine, il peut prendre possession de n'importe quel ordinateur du domaine, en ajoutant par exemple de nouveaux comptes au groupe Administrateurs d'un ordinateur membre. Toute vulnérabilité permettant la compromission d'éléments par un administrateur n'est pas seulement intéressante. Un administrateur est supposé disposer de l'accès complet à ce qu'il administre.
Les dépendances dans les systèmes informatiques sont inévitables. En fait, elles sont courantes et souvent souhaitées. Cependant, cela ne signifie pas que toutes les dépendances sont acceptables. Dans cet article, je discuterai des types de dépendances acceptables et de ceux qui ne le sont pas, et analyserai ensuite les types de dépendances et la manière de les atténuer. Dans Windows Server 2008 Security Resource Kit, j'aborde plus en détail les dépendances spécifiques et décrit comment les gérer.

Dépendances acceptables
En général, une dépendance est acceptable lorsqu'un système moins sensible dépend d'un système plus sensible pour sa sécurité. Les ordinateurs et les systèmes peuvent en général être divisés en classes, en fonction de leur degré de sensibilité. (Le jeu spécifique de classes d'un environnement particulier est sans intérêt pour une discussion générale. Ce qui est important, c'est qu'il existe des classifications inhérentes) Dans l'intérêt de cet article, supposons que j'ai deux classifications : postes de travail et DC. Dans ce scénario, il est acceptable pour les postes de travail de dépendre des DC en ce qui concerne leur sécurité. La classe DC est beaucoup plus sensible que les postes de travail donc, évidemment, elle doit être mieux protégée.
Le même argument peut s'appliquer aux comptes d'utilisateur. Il est acceptable qu'un administrateur puisse compromettre des données possédées par un utilisateur. En effet, les administrateurs prennent plus de responsabilité et possèdent un accès illimité (bien que pas toujours direct ou évident) à l'ordinateur et à tout ce qui est dessus. Si vous comprenez ce point et gérez les ordinateurs de façon appropriée, cette dépendance ne pose pas de problème.
Même les logiciels peuvent être analysés de la même façon. Il est certainement acceptable qu'un élément logiciel de moindre sensibilité, tel qu'un navigateur Web, puisse utiliser et dépendre d'un élément logiciel plus sensible, tel que le système d'exploitation, pour sa sécurité. Si le système d'exploitation comporte un bogue, le fait que le navigateur Web soit maintenant vulnérable à un nouveau problème n'est pas étonnant et occupe une place relativement basse dans la liste des inquiétudes immédiates. Le système d'exploitation et les autres applications et données critiques seront le centre d'attention principal. Ceci a trait à la façon dont les bogues sont résolus et les correctifs préparés : un bogue doit être résolu aussi près que possible du problème. Ainsi, l'impact de protection du correctif atteint son potentiel maximum. Par conséquent, au lieu de chercher à résoudre le problème dans le navigateur Web, il convient de réparer le système d'exploitation même.
Dans l'alternative, la dépendance peut être supprimée en modifiant la conception. Par exemple, le navigateur Web peut être récrit pour réduire ses dépendances au système d'exploitation. Cette dernière approche est appropriée dans les cas où les fonctionnalités des composants plus sécurisés (le système d'exploitation, dans ce cas précis) n'a jamais été prévue pour être utilisées de la façon dont le composant le moins sensible (le navigateur Web) l'utilise.

Dépendances inacceptables
Au vu de mon explication des dépendances acceptables, la définition d'une dépendance inacceptable devrait maintenant être évidente. Fondamentalement, un système plus sensible ne doit jamais dépendre d'un système moins sensible pour sa sécurité.
Si la compromission d'un poste de travail implique que la sécurité du DC a été enfreinte, vous avez un problème de sécurité sérieux entre les mains. Il est impossible de protéger un réseau si sa sécurité collective dépend de la sécurité de chaque ordinateur du réseau.
Examinez ceci en termes statistiques. Si chaque ordinateur du réseau est « sécurisé » 99,999 % du temps, vous pourriez penser que vous disposez d'un réseau extrêmement sécurisé. En fait, ce pourcentage est probablement très supérieur à la réalité dans la plupart des cas, à l'exception des plus petits réseaux actuels. Mais supposons maintenant que votre réseau compte 40 000 ordinateurs, chacun d'entre eux étant vulnérable 0,001 % du temps. Pour l'anecdote, un réseau général est non sécurisé jusqu'à un potentiel de 40 % du temps.
Bien entendu, avec des dépendances non gérées, il suffirait juste d'un ordinateur à 0,001 % du temps pour compromettre le réseau entier. Par conséquent, quel est le niveau de sécurité du réseau ? Clairement, il est absolument essentiel que les systèmes les plus sensibles soient protégés de ceux qui sont moins sensibles.
Cet argument peut facilement être étendu aux comptes d'utilisateur et aux logiciels. Par exemple, le nouveau client Terminal Server pour Windows® vous permet d'enregistrer les noms d'utilisateur et les mots de passe pour une ouverture de session Terminal Server pratiquement transparente. Ces informations d'identification sont stockées à l'aide de l'API Crediential Manager, protégé par les informations d'identification utilisées pour l'ouverture de session principale.
Ceci peut créer une dépendance de sécurité. Considérez le cas d'une administratrice réseau ouvrant une session sur son poste de travail personnel. Elle utilise ce poste de travail pour le courrier électronique, la navigation sur le Web et les autres tâches typiques des informaticiens. Naturellement, elle utilise dans ce but un compte de domaine à faibles privilèges.
À un certain moment pendant la journée, cette administratrice se connecte à l'un des DC pour exécuter certaines tâches d'administration. Elle utilise pour cela le client Terminal Server et choisit d'enregistrer son mot de passe pour rendre les connexions futures plus faciles. Ceci se traduit par au moins une, et peut-être deux dépendances de sécurité inacceptables. La première est que ses informations d'identification de compte d'administratrice de domaine sont maintenant protégées par ses informations d'identification d'informaticienne à faibles privilèges. Si ce compte d'utilisateur à faibles privilèges est compromis, le compte d'utilisateur administrateur de domaine est également compromis et, par conséquent, le domaine entier est compromis.
La deuxième dépendance résulte du fait qu'elle a tapé des informations d'identification d'administration de domaine sur un ordinateur non contrôleur de domaine. À moins que son poste de travail personnel soit protégé au moins aussi bien que les DC (et il ne l'est probablement pas), il existe une dépendance car la sécurité des DC dépend de la sécurité de ce poste de travail personnel de l'utilisateur. Si un employé mécontent du même bureau a par exemple installé un enregistreur de frappe sur le poste de travail de l'administratrice réseau, les informations d'identification administratives du domaine ont maintenant été capturées. Chaque fois que vous entrez des informations d'identification administratives sur un ordinateur non contrôleur de domaine, vous exposez le domaine entier à tous les défauts de sécurité de l'ordinateur non contrôleur de domaine.
Supposons maintenant qu'un attaquant insère un lecteur amovible dans un ordinateur sur lequel un administrateur de domaine possède une session ouverte, a ouvert une session à un moment quelconque ou ouvrira une session dans le futur. Cet administrateur de domaine devient compromis, et par extension, le domaine entier est compromis. Il est impératif que vous compreniez cette situation afin de pouvoir l'éviter. Cette même situation peut bien entendu survenir avec des logiciels lorsqu'une application sécurisée s'appuie sur les fonctionnalités d'une application moins sécurisée pour exécuter une certaine tâche.

Analyse d'une attaque
J'ai décrit plus tôt ce qui peut se produire si un lecteur amovible malveillant est inséré dans un ordinateur. Cependant, seul ce qui se produira sur l'ordinateur dans lequel est inséré le lecteur est évident. Supposons donc que l'ordinateur en question fasse partie de domaines joints, comme illustré à la figure 1.
Figure 1 Dépendances de domaines idéales
Figure 1 Dépendances de domaines idéales
Le scénario illustré ici représente une dépendance idéale. Les flèches sont directionnelles et pointent vers l'emplacement d'héritage de la dépendance. Par exemple, la sécurité du poste de travail dépend de la sécurité du DC et la sécurité de l'utilisateur dépend de la sécurité du poste de travail. L'attaquant peut être en mesure de compromettre le poste de travail, ce qui compromettrait toute information placée par l'utilisateur sur ce poste de travail, mais la compromission serait limitée à cet emplacement.
Supposons toutefois que l'utilisateur qui ouvre une session sur le poste de travail est membre du groupe administrateurs locaux sur le serveur. Imaginons en outre que l'administrateur de domaine ouvre fréquemment une session sur le serveur. Vous avez maintenant les dépendances illustrées à la figure 2.
Figure 2 Dépendances de domaine compromises
Figure 2 Dépendances de domaine compromises
En modifiant simplement l'hypothèse concernant la personne ayant ouvert une session sur les ordinateurs en question, la sécurité du réseau entier a été compromise. Puisqu'un administrateur de domaine ouvre une session sur le serveur, la sécurité du DC, et par conséquent du domaine entier, est dépendante de la sécurité de ce serveur.
Ceci serait acceptable si le serveur était géré de façon aussi sécurisée que le DC. Cependant, dans le cas qui nous occupe, un utilisateur qui ouvre une session sur le poste de travail est membre du groupe Administrateurs du serveur. Par conséquent, la sécurité du serveur dépend de la sécurité du poste de travail. Cela signifie que la sécurité du domaine entier dépend de la sécurité du poste de travail. Et devinez quoi ? L'utilisateur sur ce poste de travail vient juste d'exécuter involontairement l'outil de l'attaquant.
Il existe probablement peu de concepts plus importants à comprendre que les dépendances de sécurité dans le monde actuel de la sécurité des informations. Si vous commencez à analyser votre réseau et essayez de comprendre ce que sont les dépendances, vous rencontrerez presque certainement des dépendances inacceptables. Dans le scénario le plus défavorable, qui est beaucoup plus courant que vous pourriez le croire, la sécurité du réseau entier dépend du réseau entier. En d'autres termes, la sécurité de chaque ordinateur est, à certains égards, dépendante de la sécurité de chacun des autres ordinateurs. Il est donc impossible de créer un quelconque type de stratégie de gestion de risque raisonnable et réaliste dans ce type d'environnement, puisque les relations sont impossibles à contrôler et que la complexité est incompréhensible. La solution consiste à analyser et à gérer les dépendances.
J'ai seulement présenté dans cet article un court aperçu des dépendances et de la façon dont elles peuvent être analysées et atténuées. Vous pourrez trouver davantage d'informations dans mon livre, Windows Server 2008 Security Resource Kit. Il contient un chapitre entier consacré à la sécurisation du réseau par l'analyse des dépendances et leur gestion avec deux techniques sophistiquées, l'isolation de domaine et l'isolation de serveur, ainsi que des techniques plus courantes, telles que la gestion de compte administratif.
J'aimerais remercier David LeBlanc pour m'avoir aidé à mettre en forme les idées embryonnaires qui ont mené à cet article.

Jesper M. Johansson est architecte logiciel, chargé des problèmes de sécurité logicielle, et contribue à l’élaboration de TechNet Magazine. Il est titulaire d’un doctorat en systèmes d’information de gestion et possède plus de 20 ans d’expérience dans le domaine de la sécurité.


 Histoires de Bureau: Double amor&#231;age avec Windows&#160;XP et Windows&#160;PE&#160;2.0
Histoires de Bureau
Double amorçage avec Windows XP et Windows PE 2.0
Wes Miller
Télécharger le code de cet article: Desktop2008_02.exe (151KB)

Dans les articles précédents des Histoires de Bureau, j'ai mentionné que Windows PE est devenu un outil de récupération et j'ai expliqué comment vous pouvez l'utiliser à partir d'une deuxième partition. Une question que j'ai reçue récemment m'a incité à penser qu'il pourrait être utile d'aborder à nouveau ce sujet : l'utilisation conjointe de Windows PE 2.0 et de Windows XP.
Après tout, beaucoup d'entre vous utilisent sans doute Windows® XP depuis un certain temps et Windows PE 2.0 est la version dont Microsoft assurera le support à l'avenir (notez qu'il n'y aura plus de mises à jour de Windows PE 1.x).
Une des différences importantes entre Windows PE 1.x et 2.x réside dans le fait que Windows PE 2.x peut démarrer à l'aide d'une interface de démarrage standard (contrairement à la méthode spécialisée utilisée par Windows PE 1.x). Bien que vous puissiez démarrer Windows PE 1.x ou 2.x à partir d'une deuxième partition, la commodité de le démarrer sur la partition de démarrage de votre système d'exploitation présente un potentiel énorme, que j'aborderai bientôt.

Deux amorçages pour Windows
Windows NT® a toujours été relativement tolérant au double amorçage. Mais comme les ordinateurs EFI (Extensible Firmware Interface) ont commencé à remplacer l'ancien BIOS IBM PC AT, Microsoft a modifié le mécanisme de démarrage de Windows pour travailler de façon plus optimale avec EFI et avoir un seul mécanisme de démarrage pour toutes les architectures. Le nouveau mécanisme de démarrage de Windows, introduit dans Windows Vista®, est appelé Base de données de Configuration du Démarrage ou BCD (voir microsoft.com/whdc/system/platform/firmware/bcd.mspx). Mais que l'on parle de l'ancien boot.ini ou du nouveau mécanisme BCD, Windows peut en général faire démarrer d'autres systèmes d'exploitation, même si cela nécessite de transférer le processus de démarrage vers un autre chargeur de démarrage.
Avant que nous ne commencions, il est essentiel que vous vous rappeliez que Windows PE 2.0 ne fonctionne qu'avec des systèmes qui ont à la fois la compatibilité totale ACPI (Advanced Configuration and Power Interface) et 384 Mo (ou mieux 512 Mo) de mémoire RAM. Comme je l'ai indiqué dans mon article du mois de mai (technetmagazine.com/issues/2007/05/DesktopFiles), les systèmes non ACPI ne démarreront pas sous Windows PE 2.0, et comme Windows PE 2.0 doit démarrer avec un RAMDisk, il doit avoir assez de mémoire RAM pour contenir le RAMDisk, un espace de travail et tout le jeu de travail de mémoire RAM. Si votre système possède moins de 384 Mo de mémoire RAM, n'envisagez même pas cette option ; utilisez plutôt Windows PE 1.6. Même quelqu'un d'habile à réduire la taille de Windows PE ne peut pas le faire fonctionner correctement avec 256 Mo.

Oh, les problèmes que vous allez résoudre !
Voyons maintenant quels sont les problèmes que vous pouvez traiter en démarrant Windows PE 2.0 à partir de la même partition que Windows XP.
Récupération complète du système Voici un exemple de tâche qui devient possible lorsque Windows PE est démarré directement à partir de la partition de Windows XP. Dans la mesure où Windows PE 2.0 (comme Windows PE 1.6 auparavant) peut démarrer entièrement dans un RAMDisk, vous pouvez reconstruire l'image du disque entier (ou utiliser ImageX pour restaurer les fichiers de Windows XP par eux-mêmes) puisqu'il n'est pas nécessaire de reconstruire l'image de la partition toute entière.
Si les utilisateurs démarrent avec Windows PE, ils peuvent récupérer leurs propres systèmes même en travaillant à distance. L’image peut venir d'une partition secondaire, d'un partage réseau (si les utilisateurs ne sont pas mobiles), d'un DVD de récupération ou d'un disque dur USB ou, si vous utilisez ImageX, vous pouvez même l'enregistrer sur la partition en cours de récupération. Ce type de récupération sur disque est une excellente solution à beaucoup de problèmes (à l'exception de la corruption physique d'un disque). Ce n'est pas la meilleure solution pour restaurer des données utilisateur, sauf si elles étaient protégées et qu'elles ont ensuite été restaurées pendant la récupération. Souvenez-vous qu'il convient d'utiliser des profils itinérants et de sauvegarder les données de l'ordinateur pour éviter ce genre de perte. Vous devrez aussi vous assurer que tout mécanisme de récupération que vous utilisez est capable d'atténuer les pertes de données potentielles pour l'utilisateur (notamment les pertes dues à la réinitialisation des clés de chiffrement EFS).
Récupération de fichiers Windows PE fournit également le mécanisme permettant de faire fonctionner un système même si l'installation principale de Windows ne démarre pas. Dans ce cas, vous pouvez démarrer et récupérer les données utilisateur, soit en les envoyant à un autre système (à condition de disposer d'un système de sauvegarde accessible aux utilisateurs) ou à un autre emplacement pour que l'utilisateur puisse recommencer à travailler rapidement.
Réparation de système Enfin, le démarrage de Windows PE sur Windows XP vous permet de réparer un système en exécutant soit une série de scripts de dépannage, soit une simple réparation pilotée par l'utilisateur ou enfin une application de récupération. Le processus est similaire à une récupération complète de système, mais son étendue est plus limitée (et ne met pas les données utilisateurs en danger).
Maintenant que vous avez petite idée de ce que vous pouvez faire si vous démarrez Windows PE sur la partition de Windows XP, voyons ce qui se passe dans les coulisses pour que vous puissiez appliquer le processus à n'importe quelle solution.

Avant Windows Vista
Avant la commercialisation de Windows Vista, voici comment les systèmes basés sur un BIOS/MBR (Master Boot Record) démarraient. Le BIOS pointait sur le périphérique de démarrage (dans le cas du disque dur, il pointait sur le MBR du disque). Le MBR exécutait un code qui indiquait quelle partition utiliser pour démarrer. Remarquez qu'il s'agissait de la première partition pour laquelle un indicateur actif était défini. Dans les versions les plus anciennes de diskpart, vous ne pouviez pas désactiver une partition (c'est-à-dire que vous ne pouviez pas supprimer l'indicateur actif). Le commutateur a été ajouté à diskpart pour corriger ceci car sinon, ce serait la première partition dans l'ordre de la table des partitions dont l'indicateur serait activé. La partition contient le secteur d'amorçage, qui indique le code à exécuter ensuite. De Windows NT à Windows Server® 2003, le code à exécuter se trouve dans un fichier nommé ntldr, sans extension de fichier. Si vous avez déjà formaté un disque, sans installer Windows et que vous avez ensuite essayé de démarrer, vous avez vu le message d'erreur « NTLDR not found » (NTLDR non trouvé).
Il est intéressant de savoir que ntldr est entièrement rétrocompatible, mais bien entendu, il n'est pas compatible vers le haut. Cela signifie que le ntldr de Windows XP peut démarrer Windows 2000, mais que l'inverse n'est pas vrai. C'est pourquoi il est primordial de toujours installer le système d'exploitation le plus ancien en premier lorsque vous planifiez un double amorçage. Dans la mesure où ntldr n'a pas de numéro de version, cette condition est encore plus importante.
Ntldr est une appli en mode réel (16 bits) qui lance NTDetect.com, lequel exécute une détection simple des périphériques puis lance le noyau, ntoskrnl.exe (il peut s'agir d'un fichier parmi plusieurs, toujours renommé en ntoskrnl.exe). Le noyau est le composant critique du processus de démarrage de Windows.
Ce résumé du processus de démarrage est un peu simpliste et j'ai omis l'initialisation complète de Win32®, mais il n'est pas pertinent d'en parler dans cet article. Si vous souhaitez obtenir plus d'informations à ce sujet, je vous recommande la lecture de Au coeur de Windows, Quatrième Édition, Dunod, 2005 (Windows Internals, Fourth Edition, Microsoft Press®, 2004) par Mark Russinovich et David Salomon.
Une autre chose à noter est que lorsque vous démarrez à partir du CD, Windows Setup et Windows PE lancent setupldr.bin au lieu de ntldr. Ce fichier contient en fait un code de démarrage légèrement différent afin de démarrer à partir du CD (ce que ntldr ne peut pas faire). C'est la raison pour laquelle, afin de démarrer Windows PE 1.x, vous avez renommé setupldr.bin en ntldr et l'avez mis sur disque. C'est aussi la raison pour laquelle ce ficher ne pouvait alors pas charger de fichier boot.ini (parce que setupldr.bin a été conçu uniquement pour le démarrage à partir d'un CD et, par conséquent, boot.ini n'était pas considéré comme nécessaire).

Windows Vista et au-delà
Windows Vista a modifié plusieurs éléments de ce processus. Windows Server 2008 le modifie encore davantage en activant IA32 (prise en charge 32 bits) pour démarrer à partir de EFI, ce qui n'était jusqu'ici pas possible hormis pour les systèmes basés sur Itanium. Pour les systèmes basés sur le BIOS, les étapes initiales du processus de démarrage restent dans l'ensemble inchangées. La différence clé réside dans le fait que BOOTMGR est le chargeur de démarrage qui est initialisé et qui exécute ensuite les étapes suivantes.
Il recherche le fichier BCD dans le répertoire de démarrage, qui est de fait sa propre ruche de Registre. Le BCD contient les entrées permettant de démarrer (y compris l'entrée par défaut). Jetez un œil à la figure 1 pour connaître les types d'images (types de fichiers exécutables) et à la figure 2 pour connaître les types d'application spécifiques à lancer. L'une (ou plusieurs) de ces entrées peut être une référence à ntldr. Une seule d'entre elles peut réellement référencer le GUID bien connu utilisé pour charger ntldr (voir la cinquième ligne de la Figure 3). Bootmgr décide alors quelle entrée doit être chargée ensuite, selon que le système est en cours de démarrage, était en veille prolongée ou démarre avec ntldr ou un autre gestionnaire de démarrage (auquel cas il pointerait vers un autre secteur d'amorçage et lancerait ce chargeur). Il s'agirait du cas le plus courant si vous étiez en train d'effectuer un double amorçage avec un système d'exploitation autre que Windows. Vous trouverez plus d'informations à la page microsoft.com/whdc/system/platform/firmware/bcd.mspx.
Figure 3 Objets d'application standard (Close Figure 3)

Description | ID BCDEdit | GUID
Gestionnaire de démarrage Windows | {bootmgr} | 9dea862c-5cdd-4e70-acc1-f32b344d4795
Gestionnaire de démarrage de microprogramme | {fwbootmgr} | a5a30fa2-3d06-4e9f-b5f4-a01df9d1fcba
Testeur de mémoire Windows | {memdiag} | b2721d73-1db4-4c62-bf78-c548a880142d
Application de reprise Windows | Pas d'alias | 147aa509-0358-4473-b83b-d950dda00615
Chargeur de Windows hérité | {ntldr} | 466f5a88-0af2-4f76-9038-095b170dc21c
Entrée de démarrage actuelle | {current} | fa926493-6f1c-4193-a414-58f0b2456d1e
Entrée de démarrage par défaut | {default} | pas de GUID prédéfini
Figure 2 Types d'application (Close Figure 2)

Description | Valeur | Description
Gestionnaire de démarrage de microprogramme | 0x1 | S'applique uniquement aux systèmes EFI.
Gestionnaire de démarrage Windows | 0x2 | Contrôle le flux de démarrage. Dans un système à double amorçage, affiche un menu de sélection du démarrage à l'utilisateur.
Chargeur de démarrage Windows | 0x3 | Charge une version ou une configuration particulière de Windows.
Application de reprise Windows | 0x4 | Restaure Windows à son état d'exécution lorsqu'un ordinateur sort de l'état de veille.
Testeur de mémoire Windows | 0x5 | Application de diagnostic de mémoire.
Ntldr | 0x6 | S'applique uniquement aux systèmes BIOS PC/AT. Charge des versions de Windows antérieures à Windows Vista.
Secteur d'amorçage | 0x8 | Application en mode réel 16 bits. S'applique uniquement aux systèmes BIOS PC/AT. Peut être utilisée pour redémarrer le processus de démarrage et charger un système d'exploitation autre que Windows.
Figure 1 Types d'images : (Close Figure 1)

Description | Valeur
Application de microprogramme | 0x1
Application de démarrage | 0x2
Objet chargeur basé sur Ntldr | 0x3
Application en mode réel | 0x4
Vous remarquerez que l'infrastructure de démarrage repensée de Windows Vista est beaucoup plus organisée que les versions précédentes : à l'exception de bootmgr, tout le code de démarrage existe au niveau racine/répertoire de démarrage et est transmis à des fichiers binaires propres à Windows une fois que BCD l'a spécifié.

Démarrage de Windows XP et de Windows PE 2.0
Vous commencez sans doute maintenant à voir comment Windows PE, en utilisant le gestionnaire de démarrage de Windows Vista, peut servir d'intermédiaire pour vous permettre de continuer à démarrer Windows XP ou des versions antérieures de Windows tout en ajoutant Windows PE 2.0 à l'ensemble pour disposer d'un outil de récupération intégré.
Bien sûr, vous allez ajouter une autre étape au processus de démarrage, mais c'est une étape prévue à dessin par Microsoft. Sachant que la nouvelle infrastructure de bootmgr devait être rétrocompatible avec le ntldr existant et d'autres gestionnaires de démarrage tiers, bootmgr a été conçu de sorte à prendre en charge de telles solutions.
Donc, à présent que nous avons examiné comment Windows démarre et comme le nouveau BCD fonctionne, comment lions-nous les deux ensemble et récupérons-nous Windows PE 2.0 sur notre installation existante de Windows XP ? Il y a deux façons de disposer le secteur d'amorçage de Windows Vista, c'est-à-dire le morceau de code de démarrage qui dit au système de démarrer bootmgr. L'une d'entre elles consiste à utiliser diskpart et à créer et formater une nouvelle partition avec Windows PE 2.0. Mais vous n'aurez pas cette possibilité ici, car vous avez déjà une installation Windows XP que vous ne voulez pas endommager ou déplacer. Suivez plutôt ce processus :
  1. Assurez-vous que vous avez une copie de bootsect.exe et de bcdedit.exe sur votre CD de démarrage Windows PE 2.0 (les deux se trouvent être trouvés sur votre DVD d'installation de Windows Vista).
  2. Démarrez votre système Windows XP avec le CD Windows PE 2.0.
  3. Une fois le démarrage effectué, exécutez cette commande :
    bootsect.exe /NT60 ALL
Celle-ci définira le secteur d'amorçage comme étant un secteur d'amorçage compatible avec Windows Vista capable de lancer bootmgr.
4. Copiez le gestionnaire de démarrage sur le disque dur :
    xcopy BOOTMGR C:\BOOTMGR /I
5. Copiez le fichier boot.SDI sur le répertoire \BOOT du disque dur. Vous devrez en faire une copie avant de démarrer, car il sera verrouillé et ne pourra être copié pendant l'exécution de Windows PE :
    xcopy BOOT.SDI C:\BOOT\
Corrigez le chemin source en conséquence.
6. Copiez boot.WIM sur le disque dur. Comme pour le SDI, vous devez avoir une seconde copie disponible ; vous ne pourrez pas copier le fichier à partir duquel vous exécutez :
    xcopy BOOT.WIM C:\BOOT\BOOT.WIM
Corrigez le chemin source en conséquence.
7. Maintenant, créez un nouveau magasin BCD :
    bcdedit /createstore
8. Ensuite, créez les entrées BCD permettant de charger Windows PE :
    bcdedit /create {ramdiskoptions} /d
    "Boot Windows PE"
    bcdedit /set {ramdiskoptions}
    ramdisksdidevice partition=c:
    bcdedit /set {ramdiskoptions}
    ramdisksdipath \boot\boot.sdi
    bcdedit /create /d "Windows PE" /
    application
    OSLOADER
9. La dernière ligne renverra un GUID. Remplacez {VOTREGUID} par le GUID renvoyé. Il s'agit des entrées sur RAMDisk qui font démarrer Windows PE à partir de votre disque dur, illustrées à la figure 4.
Figure 4 Entrées sur RAMDisk qui amorcent Windows PE à partir de votre disque dur (Close Figure 4)
bcdedit /set {YOURGUID} device ramdisk=[c:]\boot\boot.wim,{ramdiskoptions}
bcdedit /set{YOURGUID} path \windows\system32\winload.exe
bcdedit /{YOURGUID} osdeviceramdisk=[c:]\boot\boot.wim,{ramdiskoptions}
bcdedit /set{YOURGUID} systemroot \windows
bcdedit /set{YOURGUID} winpe yes
bcdedit /set {YOURGUID} detecthal yes
10. Maintenant, créez les entrées de bootmgr pour démarrer le gestionnaire de démarrage :
    bcdedit /create {bootmgr} /d
    "Boot Manager"
    bcdedit /set {bootmgr} device boot
11. Enfin, paramétrez une entrée de BCD pour votre installation Windows actuelle (modifiez le texte d'affichage de Windows XP en ce que vous souhaitez voir affiché dans le menu de démarrage du gestionnaire de démarrage). La dernière commande la définit aussi comme la première entrée (entrée par défaut) dans le menu de démarrage :
    bcdedit /create {ntldr} /d "Windows XP"
    bcdedit /set {ntldr} device partition=C:
    bcdedit /set {ntldr} path \ntldr
    bcdedit /displayorder {ntldr} /addfirst
12. Vous devriez maintenant pouvoir redémarrer votre système et lui faire lancer l'installation précédente de Windows ou de Windows PE 2.0 en sélectionnant l'entrée de menu de démarrage appropriée. La figure 5 illustre l'exemple de sortie de bcdedit/enum all. Cette commande énumère toutes les entrées dans le BCD une fois qu'elles ont été ajoutées (ceci provient de Windows PE 1.6).
Exemple d'entrée
J'ai travaillé sur un script capable d'exécuter cette tâche automatiquement. Actuellement, il peut uniquement copier les fichiers de démarrage sur le disque dur et définir vos entrées BCD. Il ne peut pas définir le secteur d'amorçage en tant que nouvelle valeur de Windows Server 2008 parallèlement à l'exécution de Windows. Ceci doit être fait hors connexion, sous Windows PE. Vous trouverez ce script dans la section de téléchargements de code du site Web de Technet Magazine à l'adresse technetmagazine com. Pour pouvoir exécuter le script, il faut que les éléments suivants se trouvent dans le répertoire du VBScript que vous exécutez :
  1. BCDEdit
  2. BOOTMGR
  3. Un répertoire \BOOT\ (à partir du support Windows Vista ou Windows PE 2.0)
  4. Un répertoire \SOURCES\ avec un fichier de démarrage BOOT.WIM valide pour Windows PE 2.0
Il créera le BCD et copiera les fichiers de démarrage appropriés. Après avoir démarré avec Windows PE et exécuté bootsect, vous devriez pouvoir effectuer un double amorçage.

Désinstallation d'un double amorçage
La désinstallation d'un double amorçage est encore plus facile sa mise en place. Il suffit de restaurer le secteur d'amorçage en secteur d'amorçage pré-Windows Vista en exécutant de la commande suivante :
bootsect.exe /NT52 ALL
Une fois la restauration effectuée, vous pouvez supprimer bootmgr et le répertoire \boot. Au redémarrage suivant, le secteur d'amorçage forcera ntldr à démarrer et supprimera complètement Windows PE 2.0 et tous les fichiers binaires de démarrage de Windows Vista du flux de démarrage.

Wes Millerest responsable technique de produit chez Initiate Systems (InitiateSystems.com) à Austin, Texas. Auparavant, il a travaillé chez Winternals Software et comme responsable de programme chez Microsoft. Vous pouvez contacter Wes à l’adresse suivante : technet@getwired.com.


 Sur le terrain: Faite don de votre PC
Sur le terrain
Faite don de votre PC
Jim Lynch

En ce qui concerne la méthode de mise au rebut d'ordinateurs la plus économique, l'opinion qui a prévalu pendant de nombreuses années a été parfaitement résumée dans l'article de recherche publié en 2003 par Frances O'Brien de The Gartner Group, intitulé « PC Disposal: TCO's Last Surprise » (Mise au rebut de PC : la dernière surprise du TCO). Cette analyse comparative de la mise au rebut des ordinateurs indiquait que le don de matériel était l'option la plus coûteuse (parmi six options de mise au rebut) en raison du nombre d'heures nécessaires à la recherche d'une organisation caritative disposée à accepter des dons.
Conseils pour les dons
TechSoup.org offre des conseils supplémentaires pour les dons et l'acceptation de dons à l'adresse techsoup.org/recycle. Quelques éléments à prendre en considération avant de faire un don :
  • Ne conservez pas votre équipement informatique après une mise à niveau vers du matériel neuf. L'équipement informatique perd sa valeur de réutilisation après cinq ans. De même, les téléphones cellulaires atteignent en général leur fin de vie après trois ans.
  • Faites don de votre équipement informatique datant de moins de cinq ans aux reconditionneurs plutôt qu'aux établissements scolaires et sociétés sans but lucratif.
  • Emballez les accessoires avec l'équipement, y compris le clavier, la souris, l'imprimante, le modem, les disques des logiciels et les manuels fournis avec l'équipement.
  • Conservez une liste des éléments dont vous avez fait don pour vos archives et demandez un reçu. Vous pouvez avoir droit à une déduction d'impôt si vous avez effectué votre don à un reconditionneur sans but lucratif. Aux États-Unis, les sociétés donatrices peuvent déduire la fraction non amortie du coût des ordinateurs et les personnes privées peuvent déduire la valeur actuelle sur le marché d'un ordinateur. Pour déterminer la juste valeur sur le marché d'un ordinateur, consultez l'évaluateur gratuit d'ordinateur d'occasion du Canada (servlets.edeal.com/servlets/PcEval).

De nos jours, les règles du jeu sont totalement différentes. En fait, l'agence pour la protection de l'environnement américaine a lancé une compagne intitulée « Do the PC thing », ayant pour but d'apprendre aux utilisateurs à préparer leur ancien matériel pour sa réutilisation, et propose une liste de ressources. Cette campagne fait partie du site Web de sensibilisation du public quant au recyclage et à la réutilisation du matériel électronique de l'EPA, Plug-in To eCycling (epa.gov/plugin/). Cliquez sur le lien « Reuse It » (Réutilisation) pour consulter les articles s'adressant aux consommateurs et aux professionnels.
Vous apprendrez sur ce site que le problème le plus important lié au recyclage ou au don de matériel concerne votre protection. Les textes de l'initiative « Do the PC thing » offrent des indications de base sur le nettoyage de disque dur et les exigences légales en ce qui concerne la sécurité des données et la confidentialité. Que vous mettiez au rebut votre ordinateur pour un recyclage de fin de vie ou pour la réutilisation, vous devez supprimer vos données sensibles, telles que les mots de passe, les documents, les informations concernant les cartes de crédit, les messages électroniques et les journaux Web.
La plupart des recycleurs et reconditionneurs de matériel électronique et des sociétés de gestion d'actifs fournissent des services de sécurité de données en détruisant les disques durs ou en utilisant un logiciel de nettoyage de disque qui remplace les données pour qu'elles ne soient pas récupérables. Notez que si vos ordinateurs sont prévus pour être réutilisés, il est préférable de garder le matériel informatique intact.
Les logiciels de nettoyage de disque réputés suivent les spécifications 5220.22-M du ministère de la Défense américain. Ce type de nettoyage de données logiciel remplace systématiquement tous les emplacements pertinents de votre disque dur par un caractère, vérifie le remplacement, et remplace ensuite à nouveau tous les emplacements pertinents par des caractères aléatoires. En 2004, la NSA (NSA Advisory LAA-006-2004) a constaté qu'un seul remplacement avec un logiciel conforme aux spécifications du ministère de la Défense suffisait à rendre les fichiers électroniques irrécupérables.
Il est maintenant raisonnablement facile d'effectuer votre propre nettoyage de données. Il existe des logiciels gratuits tels qu'Active@ Kill Disk Hard Drive Eraser (killdisk.com/eraser.htm) ou Darik's Boot and Nuke (dban.sourceforge.net). Si vous devez nettoyer les données de plusieurs ordinateurs, envisagez l'utilisation d'applications commerciales plus robustes telles que Blancco Data Cleaner (blancco.com) or WipeDrive (whitecanyon.com).
Si votre équipement informatique a plus de cinq ans ou est sévèrement endommagé, l'une des six options de mise au rebut étudiées par Gartner est le recyclage de fin de vie du matériel électronique. Il existe actuellement plus de 900 entreprises qui effectuent ce travail aux États-Unis. Pour recycler convenablement le matériel informatique ancien, consultez la liste des recycleurs responsables de l'Electronic TakeBack Coalition (www.computertakeback.com/the_solutions/recyclers_map.cfm).

Jim Lynchest directeur de programme pour le recyclage et la réutilisation des ordinateurs chez TechSoup.org, une organisation haute technologie sans but lucratif basée à San Francisco dont la mission est de fournir du matériel, des logiciels et des techniques à très faible coût aux organisations caritatives du monde entier.


 La vie secr&#232;te de Windows: Se d&#233;barrasser des rebuts
La vie secrète de Windows
Se débarrasser des rebuts
Raymond Chen

Cela n'arrive pas souvent , mais de temps à autre une ancienne fonction est supprimée, sans trop de cérémonie de la part de l'équipe de produit. Dans Windows® XP, par exemple, l'interface permettant de paramétrer un motif pour le Bureau a été supprimée. La fonctionnalité sous-jacente est encore présente, si vous parvenez à écrire un programme qui appelle SystemParametersInfo(SPI_SETDESKPATTERN), mais il n'y a plus d'interface intégrée. Pourquoi le motif du Bureau a-t-il été supprimé du panneau de configuration du Bureau ?
Notre recherche indique que pratiquement plus personne n'utilisait ces motifs. Ils étaient plus populaires lorsque la mémoire était plus chère et que les utilisateurs ne voulaient pas gaspiller un quart de la mémoire de la machine pour un fichier bitmap de papier peint de 1 Mo. Un tout petit motif monochrome 8×8 reproduit de nombreuses fois à l'écran offrait un certain niveau de personnalisation sur un écran 640×480, à un coût très inférieur.
Cependant, les modifications survenues au cours des années ont rendu les motifs de moins en moins attrayants. Évidemment, les ordinateurs ont maintenant beaucoup plus de mémoire qu'en 1983. De plus, (c'est aussi une évidence), les moniteurs fonctionnent avec des résolutions beaucoup plus élevées qu'auparavant. Un joli petit motif pied-de-poule ressemble en gros à une tâche grise lorsqu'il est affiché sur un écran 1600×1200.
Et ce n'est pas la seule ancienne fonctionnalité qui est passée à la trappe. Les fichiers bribes en sont un autre exemple. Introduits dans Windows 95, les fichiers bribes apparaissent comme des fragments de documents capturés dans un fichier. Ce fragment de fichier est en fait un objet OLE. L'idée derrière les fichiers bribes était que vous pouviez, par exemple, souligner une partie du texte dans un programme de traitement de texte et le faire glisser sur le bureau où un fichier bribe était alors créé. Par la suite, vous pouviez prendre ce fichier bribe et le faire glisser à nouveau dans le traitement de texte ou un autre programme, et le texte que vous aviez utilisé pour créer le fichier bribe était inséré dans le nouveau document. C'était en quelque sorte un copier-coller, sauf qu'au lieu de stocker les données temporairement sur le presse-papiers, elles étaient enregistrées dans un fichier.
En fait, une fois que vous aviez créé ce fichier bribe, la seule chose que vous pouviez vraiment faire était le déposer dans un autre document, de la même façon que tout ce que vous pouvez faire avec quelque chose dans le presse-papiers, c'est le coller quelque part. À un moment donné, quelqu'un a ajouté une fonctionnalité permettant de double-cliquer sur le fichier bribe, le faisant s'ouvrir dans l'application où il avait été créé au départ. (Le contenu pouvait être n'importe quoi, donc le seul moyen d'afficher le fichier bribe était d'utiliser le programme qui l'avait créé au départ).
Je ne sais pas si cette fonctionnalité a été ajoutée comme outil de débogage ou pour que les utilisateurs puissent voir ce qu'il y avait dans un fichier bribe sans avoir à créer un document factice pour l'y déposer. Quoi qu'il en soit, les auteurs de virus adoraient cette possibilité « d'ouvrir l'application qui a créé le fichier bribe au départ » parce qu'elle leur permettait de créer un fichier bribe et de le garnir de données qui disaient « L'application originale est cmd.exe et le fragment de document est ce fichier de commandes ». Lorsque quelqu'un double-cliquait sur ce fichier bribe particulier pour voir ce qu'il contenait, la visionneuse de bribes transmettait un fichier de commandes au processeur de commandes et disait : « Ouvrez ceci et montrez-le à l'utilisateur ».
Compte tenu de l'historique des fichiers bribes, l'équipe de l'interpréteur de commandes a entrepris de supprimer cette fonctionnalité dans Windows Vista®. Pour cela, l'équipe a dû enquêter sur la popularité des fichiers bribes dans le monde « réel ». Donc l'équipe de l'interpréteur de commandes a demandé au groupe de support produit de vérifier les journaux du groupe pour voir combien de gens appelaient avec des questions sur les fichiers bribes. La théorie était qu'une fonctionnalité populaire génère des appels d'assistance, contrairement aux fonctionnalités impopulaires (parce que personne ne les utilise). Les fichiers bribes, en particulier, ne font pas exactement partie de la catégorie de fonctionnalités dont l'intuitivité est « flagrante », si bien qu'un petit nombre d'appels ne pouvait être justifié par « Eh bien, la fonctionnalité est si évidente que personne n'a besoin d'aide pour l'utiliser ! »
La réponse est revenue du groupe de support produit. Au cours de l'année précédente, le groupe avait reçu un total de quatre appels. Et tous disaient en substance : « J'ai créé ce fichier bizarre. Qu'est-ce que c'est et comment m'en débarrasser ? »

Raymond Chen, The Old New Thing, et son livre du même titre (Addison-Wesley, 2007) traitent de l’historique de Windows et de la programmation Win32. Cela fait un bon moment que Raymond vous a vu et il se demande comment va la famille.