Syntaxe Google des opérateurs pour la recherche avancée

Cette syntaxe Google pour la recherche avancée vous permet de dénicher des documents peu visibles. En effet, il existe une syntaxe particulière qui permet d’affiner considérablement les recherches. Grâce à cette syntaxe Google, vous pouvez trouver des documents rares ou importants.

Syntaxe Google avancée

Dans l’article ce que vous devez savoir sur la recherche avancée Google, vous avez pu découvrir une utilisation avancée de la recherche. Notamment, vous avez vu comment utiliser les opérateurs logiques comme ou (OR), et (AND).

Ils vous permettent d’affiner une recherche. Vous avez aussi découvert l’utilisation du moins (-) pour éliminer des résultats non pertinents.

Dans cet article, vous allez pouvoir approfondir encore plus votre recherche grâce à d’autres opérateurs. Go !

Chercher un type de fichiers

Dans la recherche Google, vous pouvez directement filtrer les résultats pour n’afficher que les documents d’un certain type. Par exemple pour obtenir les documents Acrobat PDF, Microsoft Word (doc, docx), Microsoft PowerPoint (ppt, pptx), Microsoft Excel (xls, xlsx), etc.

Si vous voulez obtenir les fichiers PowerPoint qui contiennent l’expression « Office 2019 », vous tapez la syntaxe Google suivante :

Syntaxe Google
Syntaxe Google

Vous remarquerez la présence de l’opérateur filetype, suivi de deux points (:). Comme vous l’avez deviné, cet opérateur indique le type de fichiers recherchés. Vous lui indiquez comme paramètres les extensions des fichiers qui vous intéressent. Vous pouvez aussi utiliser l’opérateur ext qui est un synonyme de filetype. Les résultats seront identiques.

Il existe deux types d’extension pour les fichiers PowerPoint : ppt, pptx. Afin de récupérer les fichiers qui ont une des deux extensions, vous pouvez utiliser l’opérateur ou (|).

Pensez à mettre un espace avant et après |, puis mettez l’ensemble entre parenthèses ().

"Office 2019" ext:(ppt | pptx)

Limiter les résultats à un site web

La recherche Google est souvent plus pertinente que la recherche que propose le site web sur lui-même.

Sur le site web http://www.questcequecest.com/, vous pouvez lancer directement une recherche, par exemple sur « Office 365 »

Recherche questcequecest.com
Recherche questcequecest.com

Toutefois, vous pouvez trouver les résultats de la recherche manquent de précision.

Dans ce cas, il suffit de refaire la même recherche dans Google mais en indiquant que vous limitez les résultats au contenu du site questcequecest.com.

Syntaxe Google pour un site web
Syntaxe Google pour un site web

L’opérateur site précise que Google ne doit renvoyer que les résultats du site web concerné. Pour le site web, vous pouvez indiquer simplement le nom de domaine sans le http ou https. Si ça vous chante, vous pouvez indiquer le http ou le https, les résultats seront identiques.

Vous remarquerez que le www n’a pas été indiqué, car pour le site web questcequecest.com cela ne change rien. Méfiez-vous, car même si c’est souvent le cas, ce n’est pas systématique.

Par ailleurs, vous pouvez combiner l’opérateur site avec l’opérateur filetype. Par exemple, la requête ci-dessous retourne tous les documents au format PDF du site microsoft.com qui contiennent l’expression « Office 365 ».

"Office 365" site:microsoft.com filetype:pdf

Chercher dans l’URL de la page

L’opérateur inurl permet de faire des recherches dans l’URL d’un site web.

Cela devient un peu technique mais il est intéressant de savoir que beaucoup de documents sont présents dans les sites FTP (File Transfer Protocol soit Protocole de Transfert de Fichier).

Si vous voulez obtenir les documents qui contiennent « Microsoft Office 365 » et qui sont probablement sur les sites FTP mais probablement pas sur les sites web, vous pouvez utiliser la syntaxe Google suivante.

Syntaxe Google pour un site FTP
Syntaxe Google pour un site FTP

Bien sûr, vous obtenez des résultats qui proviennent de sites FTP dont l’URL débute par ftp://, mais aussi des résultats dont l’URL contient le mot ftp.

Notez la présence dans le deuxième inurl du signe qui supprime normalement les URL avec http ou https. Rappelez-vous que la recherche d’informations n’est pas une science exacte. Il faut vérifier systématiquement les résultats.

Autre exemple d’une requête sur le contenu « Office 365 » dans des documents pdf avec ftp dans l’URL mais pas http, ni https, ni php.

"Office 365" inurl:ftp -inurl:(http | https | php) ext:pdf

Si vous avez besoin de rechercher plusieurs mots dans l’URL, vous pouvez utiliser l’opérateur de Google allinurl. Par exemple, utilisez la syntaxe Google suivante pour rechercher les mots Office SharePoint dans les URLs.

allinurl:Office SharePoint

Comment chercher dans un titre d’une page

Les pages web possèdent systématiquement un titre. Celui-ci peut être renseigné ou pas, mais généralement il l’est.

Si vous cherchez les pages qui contiennent le mot SharePoint dans le titre, utilisez la syntaxe Google :

Syntaxe Google pour le titre
Syntaxe Google pour le titre

L’intérêt d’utiliser une recherche sur le titre est d’obtenir à priori des résultats plus ciblés.

En effet, si votre mot clé est dans le titre et pas seulement dans le contenu de la page, c’est qu’il s’agit probablement d’une page qui lui est consacrée.

intitle:SharePoint

Pour rechercher plusieurs mots dans le titre, utilisez la syntaxe Google suivante.

allintitle:Office SharePoint

Vous remarquerez  que certains sites proposent des listes de musiques gratuites, ou de bandes dessinées, etc.

Vous pouvez obtenir ces listes avec une requête comme  par exemple.

allintitle:liste bd

Sachez qu’il existe des opérateurs équivalents pour chercher dans le corps du texte.

intext:SharePoint

De même, pour chercher plusieurs mots dans le corps du texte.

allintext:Office SharePoint

C’est pareil pour les ancres dans le HTML : inanchor et allinanchor. Ces opérateurs limitent la recherche aux pages web qui contiennent des liens avec les mots clés que vous recherchez dans l’ancre, si elle est cliquable.

Ensuite

Le sujet n’est pas épuisé ! Pas du tout !

La technique c’est important. Toutefois, ce qui est aussi important dans la recherche est votre capacité à imaginer comment l’information est stockée.

Bien sûr, vous le faites naturellement. Quand vous recherchez à acheter une voiture vous tapez la recherche « vente voiture citroen ds 7 crossback » et non pas « achat … ». En effet, le vendeur mettra le mot vente dans son annonce, ou bien celle-ci sera dans la colonne des ventes.

Aussi, l’article suivant vous donne des recherches complètes. Elles utilisent les techniques de cet article ainsi que des nouvelles.

 

Ce que vous devez savoir sur les instructions ASP NET

Grâce à cet article sur les instructions ASP NET, vous allez découvrir comment écrire sans faute des instructions ASP.NET dans vos programmes C#. En effet, un programme C# est un ensemble d’instructions.

Pour faire court : un programme ASP.NET écrit en C# s’exécute dans le runtime ASP.NET. Celui-ci étant un sous-ensemble des bibliothèques de programmes du framework .NET.

Instructions ASP NET
Instructions ASP NET

Tout d’abord, sachez que chaque instruction d’un programme C# se termine par un point-virgule « ; ».

Ensuite, un bloc d’instructions peut regrouper les instructions. Une paire d’accolade {}  symbolise un bloc d’instructions.

Enfin, une instruction est une combinaison logique d’opérandes et d’opérateurs.

Opérandes et opérateurs en C#

Un opérande est un mot très générique qui désigne n’importe quel élément manipulé par un opérateur. Notamment, il faut donc définir ce qu’est un opérateur pour mieux comprendre ce qu’est un opérande.

En C#, il existe trois types d’opérateurs. Vous avez l’opérateur unaire qui n’agit que sur 1 seul opérande, comme ++ ou –.

Exemple d’une instruction avec un opérateur unaire.

 i++;

Ensuite, vous avec les opérateurs binaires. Donc, eux agissent sur combien d’opérandes ? Devinez… deux opérandes. Bravo !

Exemple d’une instruction avec un opérateur binaire.

 2 + y;

Enfin, il existe un opérateur ternaire (?:) qui agit sur trois opérandes.

 (nb == "0") ? "0 enfant" : "Famille nombreuse";

Les expressions

Un ou plusieurs opérandes peuvent constituer un unique opérande. La combinaison de ces opérandes avec un ou plusieurs opérateurs permet de former une expression.

 autreInt + 3;

Une ou plusieurs expressions peuvent constituer une unique expression. Généralement les expressions sont supposées être évaluées à une certaine valeur.

x = y + 2;

Décomposition des instructions ASP NET

Pour mieux comprendre ces concepts, prenez l’exemple de l’instruction ci-dessous :

monInt = autreInt + 3 ;

Vous avez une première instruction. Celle-ci est composée d’un opérande, qui est une variable (monInt), puis un opérateur d’assignation (=).

Ensuite, vous avez une seconde instruction. Celle-ci est composée d’un opérande, qui est une variable (autreInt), puis un opérateur d’addition et enfin un opérande, qui est un littéral (3).

Exemples de plusieurs instructions ASP NET

Vous avez ci-dessous une instruction de déclaration.

int monInt;

Ensuite, vous trouverez ci-dessous une instruction d’affectation.

monInt = 42;

Attention. Vous avez ici, une expression. Ce n’est pas une instruction.

monInt + 1;

Enfin, une instruction de déclaration avec une initialisation est équivalent à une instruction de déclaration suivie d’une instruction d’affectation.

int autreInt = 37;

Téléchargez les exemples de code.

Comment connecter des données à SharePoint 2016

Voulez-vous connecter des données à SharePoint 2016 ? Dans ce cas, cet article vous explique la démarche grâce aux techniques pour créer un site SharePoint 2016 Piloté par les données. Vous verrez comment vous pouvez connecter des données externes à SharePoint 2016. Vous pourrez utiliser au choix SharePoint Designer ou les composants WebPart des données métiers.

Pourquoi connecter des données à SharePoint 2016

Avant de plonger dans les délices inavouées des manipulations techniques, prenons le temps de comprendre leur intérêt.

En premier lieu, que signifie un site SharePoint créé par les données ? Un site SharePoint peut servir à transmettre des informations de toutes natures. Par exemple, vous créez un site SharePoint qui publie des nouvelles sur la vie de la société ou du service.

Vous pouvez aussi avoir un site web qui donne les procédures et les formulaires pour remplir une note de frais, etc.

Ensuite, vous pouvez créer des sites SharePoint de type GED (Gestion électronique de documents). Globalement, vous partagez des documents avec des collègues. Vous pouvez même faire de la coédition, c’est-à-dire que vous pouvez être plusieurs à modifier simultanément le même document.

Puis, progressivement, vous mettez en place des applications métiers. Ces applications s’appellent des applications métiers car elles permettent de faire fonctionner votre organisation.

Donc, vous créez des applications à partir de formulaires, puis de flux de travail, etc.

Connecter des données à SharePoint 2016
Connecter des données à SharePoint 2016

Un développement spécifique

Bien sûr, vous pouvez aussi faire développer des applications spécifiques en faisant appel à un développeur professionnel.

C’est la solution de facilité à court et moyen terme. Malgré son intérêt, le développement spécifique a aussi ses inconvénients.

Déjà, c’est couteux. Comptez au minimum 400 € / jour de développement. Ensuite, cela coûte souvent plus que prévu. Parfois même beaucoup plus. C’est possible que ces questions d’argent ne soit pas un problème pour votre organisation. Car, il s’agit un investissement qui sera rentabilisé. Ou bien, vous disposez de moyens financiers colossaux. C’est rare mais ça existe.

L’autre inconvénient est la difficulté à obtenir exactement ce que vous voulez. C’est bien évidemment possible. Mais dans la pratique, cela se heurte à plusieurs difficultés. Par exemple, il peut exister une incompréhension de part et d’autre, le désir de ne pas dépasser le temps alloué pour le développeur, une forme de flemme et probablement 47 autres raisons.

Il existe d’autres problèmes. Par exemple, l’obligation de continuer de faire appel à des personnes externes. Ou bien, si vous rencontrez des difficultés lors d’une migration de SharePoint. Et d’autres raisons encore.

Certains trouveront peut-être que le tableau est noirci. Mais ce n’est pas sûr. L’auteur de cet article a été successivement développeur, chef de projet, directeur de projets, puis à nouveau développeur, etc.

Un développement contrôlé

Une autre raison qui peut vous inciter à faire votre propre « développement » (sans programmation) est la liberté.

Quand vous maîtrisez complètement le processus de « développement » vous faites ce que vous voulez, à votre rythme. Quoique ce n’est pas toujours vrai.

Imaginez que votre souci est d’avoir une formule Microsoft Excel dans une cellule d’une feuille de calcul. Par exemple :

=SI(ESTVIDE(L2);"";DATE(ANNEE(L2);MOIS(L2);1))

Une fois que vous avez compris comment la formule fonctionne, vous pouvez facilement en créer d’autres. Les prochaines seront peut être encore plus complexes. De plus, vous avez l’auto-satisfaction d’être autonome. Faites-vous plaisir !

C’est exactement ce que propose l’idée derrière « Connecter des données à SharePoint 2016 ».

Connecter des données à SharePoint 2016

En effet, grâce aux techniques qui permettent de connecter des données à SharePoint 2016, vous pouvez afficher et manipuler directement les données métiers.

Plus précisément, vous utilisez des données qui proviennent de bases de données, de feuilles Excel, de fichiers XML et même de services web. Parfaitement.

Vous faites tout cela sans jamais programmer quoique ce soit, y compris pour connecter des services web.

Rappelez-vous que si vous avez besoin d’introduire des traitements, c’est possible. Vous pouvez généralement le faire vous-même et sans programmation avec les flux de travail SharePoint 2016.

Quels sont les pré-requis ?

Ces techniques supposent que vous avez une bonne connaissance fonctionnelle de SharePoint 2016, notamment que vous connaissiez les notions de listes, bibliothèques, pages etc.

La connexion de SharePoint à des sources de données externes réclame une bonne culture informatique générale et une compréhension globale de notions comme les serveurs, les méthodes d’authentifications, les autorisations d’accès à une ressource, etc.

La compréhension générale du fonctionnement des balises XML, de services web et des bases de données est aussi nécessaire.

Toutefois, à aucun moment, vous n’aurez à faire le moindre développement. Les outils utilisés ne nécessitent pas de développer une interface ou un programme.

Bien évidemment, si vous êtes déjà un développeur, et en particulier un développeur .Net, vous comprendrez probablement plus finement les mécanismes mis en œuvre. Toutefois, il n’est absolument pas nécessaire d’être un développeur pour utiliser ces techniques. Comme cela vient d’être indiqué, être un informaticien avec une bonne culture générale en informatique suffit.

La pratique de ces techniques suppose évidemment que vous ayez accès à Microsoft SharePoint 2016.

Contenu du livre pour connecter des données à SharePoint 2016

Dans ce livre, vous verrez une présentation pratique de SharePoint Designer. En effet, la plupart des manipulations nécessite d’utiliser SharePoint Designer.  Bien sûr, seuls les aspects liés à la connexion de données sont exposés.

Ensuite, vous verrez comment vous pouvez connecter des sources de données externes à SharePoint. Notamment, les données peuvent provenir d’une base de données SQL Server d’une feuille Excel, de fichiers XML, d’un service web SOAP ou d’un service web REST.

L’objectif de ces manipulations est généralement d’afficher les données. Aussi, vous verrez concrètement comment vous pouvez afficher les données externes.

Notamment, vous découvrirez comment manipuler une vue de données, afficher un fichier XML, afficher un flux RSS externe ou un flux RSS SharePoint.

Vous apprendrez aussi à manipuler le service Business Connectivity Services (BCS) pour connecter des données à SharePoint 2016. En particulier, vous saurez gérer les autorisations externes, créer un type de contenu externe et créer une liste externe.

Enfin, vous découvrirez aussi comment utiliser les composants WebPart de BCS et connecter ces composants WebPart spécialisés à SharePoint 2016.

Apprendre les fondamentaux de la programmation en vidéos

Pour apprendre les fondamentaux de la programmation en vidéos, le mieux est d’avoir une vidéo. Justement, la vidéo Installer Visual Studio pour ASP.NET est la première d’une série de vidéos pour vous apprendre les fondamentaux de la programmation à travers le développement d’une application web.

Il existe déjà une autre série sur ce site qui permet d’apprendre les fondamentaux de la programmation avec le langage C#.

Toutefois, j’ai souhaité à travers cette nouvelle série de vidéos vous faire découvrir la programmation de manière plus concrète grâce au développement d’une véritable application web. En effet, l’objectif est de dépasser la console d’applications, vous savez ce petit carré noir, dans lequel les résultats de vos applications s’affichent.

Il s’agit d’apprendre à développer une application web, et plus particulièrement une application web en ASP.NET.

Cette application en ASP.NET sera écrite grâce au langage C# mais aussi vous verrez aussi un petit peu de HTML, des feuilles de styles CSS de façon à voir panorama le plus large possible sur le développement d’une application .Net.

Vous apprendrez aussi à manipuler Visual Studio. Souvent, ce qui bloque les développeurs dans le monde Microsoft c’est justement l’apprentissage de Visual Studio.

Fondamentaux de la programmation

Visual Studio est un outil très riche et très puissant mais qui nécessite son propre apprentissage.

Aussi, je vous invite fortement à faire les manipulations grâce à la dernière version Microsoft qui s’appelle Visual Studio Community 2013.

C’est un outil entièrement gratuit, que vous pouvez télécharger gratuitement à partir du site Microsoft, ça va être vu en détail dans la vidéo. Ainsi, vous pourrez bénéficier des fonctionnalités de Visual Studio de façon gratuite et vous pourrez expérimenter le développement.

Cette série s’adresse à des débutants en développement, vrais ou faux débutants. Les faux débutants ont des notions mais qui ils n’ont peut-être pas su les assembler pour construire un vrai programme.

Ces vidéos seront progressives et surtout fourniront les explications de façon à ce que vous puissiez progresser pas à pas.

Vous apprendrez si vous manipulez par vous-même.

Regarder les vidéos sans les pratiquer n’est pas suffisant pour progresser.

Fondamentaux de la programmation
Fondamentaux de la programmation

Préparer l’installation

Pour débuter la première chose à faire est d’installer Visual Studio Community 2013. Pour cela c’est très simple.

Dans votre navigateur vous faites une recherche sur Visual Studio Community 2013.

Vous cliquez sur le lien visualstudio.com et là vous arrivez sur la version Community 2013. Cherchez bien la version Visual Studio Community 2013.

Sur cette page vous cliquez sur Downloads puis Visual Studio Downloads.

Ça  vous permet d’arriver sur la page qui présente toutes les versions de Visual Studio 2013.

Vous descendez un petit peu et là vous trouvez Visual Studio Community & Express, et en particulier Community 2013 with Update 4.

Cliquez dessus.

Quand vous arrivez sur cette page là, vous pouvez soit installer directement la version Visual Studio Community 2013 en cliquant sur ce lien mais moi je vous conseille plutôt de télécharger l’image iso. C’est sûr que ça va prendre du temps parce que ça fait à peu près 7 Go à télécharger.

L’avantage: vous serez autonome.

Si vous avez le moindre problème et que vous devez refaire l’installation ou une mise à jour, ou réparer, vous avez tout ce qu’il faut sans être obligatoirement connecté à Internet.

Aussi, je vous invite à  télécharger cette version-là.

Cette version est en anglais.

Vous pouvez ensuite appliquer le module logistique dans la langue de votre choix, par exemple en français en le téléchargeant.

Ça  fait deux téléchargements distincts.

Télécharger Visual Studio

Il faudra d’abord installer la version anglaise et éventuellement si vous le souhaitez, vous pouvez installer la version française.

Cela étant, compte-tenu du nombre très important d’information et de guides qui existent sur le web, je vous suggère de rester sur la version anglaise.

Maintenant, si vous êtes un irréductible gaulois, rien ne vous empêche évidemment d’installer la version française.

Donc, vous cliquez sur ce lien et vous allez avoir un téléchargement qui va débuter de l’image ISO.

Comme vous avez effectivement 7Go à télécharger ça prend du temps.

Donc la version ISO est téléchargée, ainsi que le pack de langue en français. Ouvrez d’abord le fichier ISO en double-cliquant dessus.

Ça nous permet de lancer l’installation à travers vs_community.exe.

Si vous ne voyez pas d’extension il faut régler l’affichage.

Il faut dans Affichage Options Modifier les options des dossiers de recherche.

Décochez Masquer les extensions des fichiers dont type est connu.

Lancer l’installation

Vous lancez vs_community.exe.

L’assistant d’installation s’ouvre.

Vous approuvez les termes du contrat. Ensuite, vous pouvez éventuellement modifier l’endroit où va être stocké les fichiers d’installation, si c’est nécessaire. Puis, vous cliquez sur Next.

Vous avez ici tous les outils qui vont s’installer En particulier, ce qui nous intéresse c’est Microsoft Web Developer Tools, mais laissez les autres outils car dans l’immédiat, on ne fera pas de développement Windows Phone.

Laissez donc les options puis cliquez sur Install.

L’installation va aussi durer un certain temps.

Je mets la vidéo en pause et je reprends dans quelques instants.

À la fin de l’installation, vous avez cet écran.

Normalement tout s’est bien passé.

Cliquez sur Launch: il est possible que vous ayez ce message.

Ce n’est pas grave: cliquez sur ok et vous avez effectivement Visual Studio qui  termine son installation.

Vous pouvez avoir des outils supplémentaires qui viennent s’ajouter. C’est normal.

Dans la vidéo suivante, vous ferez  quelques manipulations de base pour mieux comprendre cet environnement riche qui est Visual Studio.

Comment convertir un type de données en C# (CSharp)

Cette nouvelle vidéo explique ce qu’est un type de données de C# dans Visual Studio. Les types de données correspondent à des définitions sous-jacentes du système de type commun (CTS, Common Type System) du Framework .Net.

Notamment, cette vidéo fournit la liste des types de données avec leurs caractéristiques. Elle traite aussi de la technique de la conversion d’entiers en chaines de caractères et de la conversion de chaines de caractères avec des valeurs numériques en entier.

Dans la vidéo précédente, vous avez définit des variables que vous avez typées.

Visual Studio donne des informations supplémentaires sur le type int. Une structure de type System.int32 représente un entier signé sur 32 bits. Cette information vous donne la correspondance entre le type de données C# int et le type de données .Net. Autrement dit, int représente le type de données System.int32 dans le Framework .Net.

De plus, tous les langages du Framework .Net qui manipulent quelque chose qui ressemble à notre int, utilisent la structure System.int32. D’ailleurs, vous pouvez remplacer int par System.int32. Votre programme va parfaitement fonctionner. Ensuite, vous pouvez le vérifier en cliquant sur le bouton Démarrer.

Puis, vous remarquerez que vous retrouvez le même System que le System de la première ligne using. Donc, vous n’êtes pas obligé de préfixer par System et écrire simplement int32. En cliquant sur le bouton Démarrer, vous pouvez vérifier que le programme fonctionne toujours. Revenez aux types C#.

Type de données Entiers

type de données Entiers
Types Entiers

Dans ce tableau, vous avez plusieurs types de données C# pour les entiers.

Notamment, ces types de données C# correspondent tous à des types de données .NET. Pour chacun de ces types de données, vous avez des plages d’entiers. Il y a de nombreux choix pour les types de données d’entiers.

Dans vos premiers programmes, vous utiliserez certainement les types byte ou int pour les entiers. Ces types de données sont utilisées pour stocker des données entières.

Type de données Flottants

Types Flottants
Types Flottants

Vous pouvez stocker des données avec des décimales, ou des nombres très grands, que l’on appelle des flottants.

Vous avez aussi la possibilité de jouer sur la précision, en fonction des besoins de votre programme.

Type de données Caractères et Logique

Types Caractères et Logique
Types Caractères et Logique

Un troisième type de données sont les caractères et logique.

Notamment pour les types de données de type caractères, vous avez le type char et le type string. Le type string a déjà été utilisé pour la variable monMessageBienvenue, qui correspond au type .NET System.String. Bien évidemment, c’est une suite de caractères.

Vous pouvez aussi le vérifier en survolant avec la souris et vous voyez apparaître System.String. Quand vous commencez à taper string, IntelliSense vous affiche deux choix string. Le premier string correspond au type C#. Le second correspond au type .Net.

Type de données Date et Heure

Il existe un quatrième type de données .NET qui n’a pas d’équivalent C#.

Types Date et Heure
Types Date et Heure

C’est tout ce qui concerne les dates et heures. En particulier vous avez le type de données .Net System.DateTime. Vous pouvez définir une variable intitulée Maintenant. Elle se voit affectée la date et l’heure courante. La ligne dessous affiche le résultat.

Convertir un type de données entier (int) en string

Dans le programme, enlevez les messages inutiles et gardez uniquement l’affichage du message de bienvenue.

Votre objectif est de convertir une variable de type int dans une variable de type string, c’est-à-dire dans une chaîne de caractères. Pour cela vous créez une chaîne de caractères nommée monMessageComplet.

Cette variable est la concaténation du contenu de la variable monMessageBienvenue plus le contenu de la variable monAge, plus la chaîne  » ans ».

Vous allez aussi modifier le message de bienvenue, en tapant : « Vous avez « . Puis vous remplacez le paramètre de la méthode Console.WriteLine() par la variable monMessageComplet. Dans cette variable, vous avez concaténé une chaîne de caractère avec une variable locale entière et une autre chaîne de caractères fixe.

Visual Studio a supposé que le contenu de la variable monAge devait être converti en une chaîne de caractères. Vous pouvez vérifier qu’il n’y a pas d’erreur en compilant et en démarrant le programme.

Toutefois, il est préférable de demander explicitement la conversion du contenu de la variable monAge en un contenu de type string (chaîne de caractères).

Il existe une méthode qui permet de transformer le contenu d’une variable numérique en un contenu de type string. Si cela paraît étrange d’appliquer une méthode, notamment la méthode ToString(), à une variable. Il faut savoir que la variable est elle-même issue d’un type .NET qui s’appelle System.Int32. Le type System.Int32 possède une méthode qui s’appelle ToString().

Cette méthode permet de convertir explicitement une chaîne numérique en une chaîne de type string. Vous pouvez vérifier que votre programme fonctionne bien en le compilant et en le lançant.

Convertir un type de données caractères (string) en int

Vous pouvez aussi convertir dans l’autre sens.

C’est-à-dire que vous souhaitez récupérer une valeur numérique qui est stockée dans une variable de type string dans une variable de type int.

Mettez en commentaire votre ligne précédente. Pour mettre en commentaire, tapez deux barres obliques (« // ») devant la ligne. Cela indique au compilateur de ne pas tenir compte de la ligne.

Créez la variable de type string, nommée monAgeDouble, qui va contenir la valeur numérique. Ensuite, vous créez une variable de type int, nommée monAgex2 qui est égale à monAgeDouble. Sauf que Visual Studio râle puisqu’effectivement il ne peut pas convertir implicitement le contenu du type string en int.

Pour le faire, il faut utiliser la méthode Parse().

Cette méthode va extraire le contenu de la variable de type string pour le mettre dans la variable de type entier (int). Ensuite il ne reste plus qu’à utiliser la valeur. Par exemple, en affichant « Votre âge est :  » + monAgeNum. Cela va fonctionner mais il est préférable d’appliquer la méthode ToString() pour faire la conversion explicite en chaîne de caractères.

Vous allez aussi vérifier que le contenu de la variable monAgex2 est bien numérique.

Pour cela, vous créez une nouvelle variable de type int, nommée monAgeNum qui est égale à monAgex2 / 2 Mettez en commentaires les lignes inutiles.

Pour résumer, monAgeDouble, qui est de type string, contient une valeur numérique. Le contenu de monAgeDouble est converti dans monAgex2, qui est de type int, et la variable monAgeNum = monAgex2 / 2.

Program.cs
Program.cs

Vérifiez que tout fonctionne : ça fonctionne bien.

Téléchargez les exemples de code.

 

Comment déclarer une variable en C# (CSharp) pour débutant

Dans cette vidéo, vous verrez les premières notions de base pour savoir comment déclarer une variable. Vous verrez aussi comment initialiser des variables, les renommer et utiliser dans votre code C# grâce à Visual Studio.

Notamment, vous souhaitez pouvoir changer simplement le message de bienvenue du programme précédent, et rajouter des informations complémentaires.

La première opération à faire est de stocker le message « Bonjour monde ! » dans ce qu’on appelle une variable. Pour commencer vous devez déclarer une variable auprès du compilateur.

Déclarer une variable

Une variable est une zone dans la mémoire de l’ordinateur qui contient votre message. Pour créer une variable en C#, vous avez une première méthode qui est très simple qui consiste à définir d’abord le type de la variable.

Dans C#, les variables sont typées. C’est-à-dire que vous devez indiquer au compilateur si la variable va contenir une chaîne de caractères, une valeur numérique, une date, etc. Le type de la variable indique s’il s’agit de stocker un nombre, une date, une chaîne de caractères, etc.

Par exemple, pour déclarer une variable, nommée monAge, qui contient une valeur numérique entière comme l’âge, vous pouvez écrire:

int monAge ; // déclaration

Dans le cas présent, c’est une chaîne de caractères. Vous attribuez donc le type « string ».

Dans la liste de valeurs qui s’affiche, IntelliSense propose les mots qui commencent par « str ». Faites une tabulation pour sélectionner la première valeur (string), puis un espace.

Nommer la variable

Maintenant il faut donner un nom afin d’identifier la variable qui va être manipulée dans le programme.

Donnez un nom significatif qui permet de retrouver l’utilité de cette variable. Par ailleurs, il est préférable que le nom débute par une minuscule. Ce n’est pas une obligation, mais un usage.

Dans le cas présent, nommez votre variable : monMessage, puis fermez l’instruction avec le point-virgule.

Vous venez de déclarer une variable monMessage. Le compilateur sait donc qu’il doit réserver une zone en mémoire pour stocker une chaîne de caractères. Par contre, il ne sait pas quelle chaîne de caractères vous souhaitez stocker.

Assigner une valeur à une variable

Une fois que vous avez indiqué au compilateur le type de la variable, grâce à des mots clés comme string, int, etc., vous affectez des valeurs avec le signe « = ». Dans C#, le signe « = » n’est pas le signe mathématique d’égalité, c’est un opérateur qui affecte une valeur.

Par exemple, pour indiquer que la variable monAge vaut 25, vous pouvez écrire:

monAge = 25; // initialisation

Sur la ligne dessous, vous tapez le nom de la variable (monMessage) : vous la voyez apparaître dans le petit menu déroulant. Vous la sélectionnez en faisant une tabulation.

Ensuite, vous tapez le signe égal pour affecter une valeur puis vous saisissez : « Bonjour monde ! ». Enfin, vous fermez l’instruction par un point-virgule.

En survolant avec la souris, l’éditeur vous indique qu’il s’agit d’une valeur locale de type string c’est-à-dire de type chaîne de caractères qui contient le message « Bonjour monde ! ».

Maintenant, il suffit de remplacer le message « Bonjour monde ! » dans la méthode WriteLine() par la variable. Une fois de plus, IntelliSense fait son travail en proposant la variable monMessage.

La variable a été définie et une valeur a été assignée.

Maintenant, vérifiez que tout fonctionne. Pour cela, cliquez sur le bouton Démarrer : c’est aussi l’avantage de cet IDE. Vous pouvez vérifier instantanément que tout fonctionne bien. Faites Entrée pour fermer la boîte de dialogue.

C’est un message de bienvenue qui est affiché, mais vous aimeriez aussi avoir un message pour dire au revoir.

Créer une seconde variable

Vous créez une nouvelle variable de type chaînes de caractères. Cette fois-ci, vous la nommez monAuRevoir, puis vous lui assignez la chaîne : « bye bye ».

Vous utilisez cette variable dans Console.WriteLine(monAuRevoir).

Maintenant, vous avez une première variable (monMessage) qui contient le message de bienvenue, puis une deuxième variable intitulée monAuRevoir, qui contient le message pour quitter.

Uniquement pour des raisons de cohérence ça serait mieux de renommer la variable monMessage en monMessageBienvenue.

Renommer une variable

Sélectionnez la variable MonMessage, puis vous tapez le nom de la nouvelle variable : monMessageBienvenue.

Au bout du nom de la nouvelle variable, vous voyez apparaître un petit rectangle rouge. Si vous le survoler avec la souris, une nouvelle petite fenêtre apparaît avec une petite flèche noire.

Cliquez sur la flèche noire : un menu s’affiche. Celui-ci vous propose de renommer automatiquement toutes les occurrences de monMessageBienvenue en monMessageBienvenue. Sélectionnez cette option.

L’ancienne variable est automatiquement renommée dans tout le code.

Cela fonctionne à l’identique, si vous renommez la seconde variable. Pour cela, sélectionnez monAuRevoir puis renommez-en monMessageAuRevoir. Sélectionnez le petit rectangle rouge puis cliquez sur la petite flèche pour renommer monAuRevoir en monMessageAuRevoir.

Vous pouvez aussi créer des variables d’un autre type que chaînes de caractères.

Déclarer une variable
Déclarer une variable

Variable de type numérique

Notamment, vous pouvez créer des variables pour contenir des valeurs numériques.

Typiquement, vous souhaitez stocker un âge. Donc vous allez créer une variable de type numérique. Plus précisément, vous allez créer une variable de type « int ». Int est l’abréviation du mot anglais INTEGER qui signifie Entier, autrement dit un nombre entier : 0,1, 2, etc.

Comme il existe plusieurs types de données numériques, vous indiquez un type précis.

Vous saisissez int puis vous donnez aussi un nom : monAge.

Créer et affecter en une opération

Sachez aussi, que vous pouvez regrouper sur une seule ligne la déclaration et l’initialisation. Par exemple, en écrivant:

int monAge = 25 ; // déclaration et initialisation

Comme pour les deux variables précédentes, vous pourriez créer d’abord la variable puis ensuite lui affecter sa valeur. Vous pouvez aussi faire les deux opérations en une seule.

Dans ce cas, vous définissez la variable avec son type et son nom puis vous lui affectez tout de suite une valeur. Vous n’avez pas besoin de guillemets puisque c’est une valeur numérique. Ensuite, indiquez votre âge, par exemple 35.

Si vous le voulez, vous pouvez reprendre les définitions des variables précédentes et simplifier leur écriture en utilisant la même écriture.

Ainsi, vous auriez sur une seule ligne d’un côté la définition de la variable à gauche du site égal, et à droite l’affectation de la valeur.

Combiner les variables

Vous pouvez aussi utiliser la variable monAge en la combinant à la variable monMessageBienvenue.

Ce qui donne monMessageBienvenue + monAge dans la méthode WriteLine(), avec l’aide éventuelle de IntelliSense.

Ajouter des informations complémentaires

Vous pouvez aussi modifier légèrement le message de bienvenue pour rajouter votre prénom. Puis cliquez sur le bouton Démarrer : le message de bienvenue s’affiche.

Toutefois, l’âge est collé au texte. Vous allez changer ce comportement.

Dans la méthode WriteLine(), vous rajoutez une simple espace blanc pour séparer le contenu de monMessageBienvenue du contenu de monAge.

Vous en profitez pour ajouter qu’il s’agit d’un âge avec un petit texte supplémentaire.

Notamment, vous avez pu le faire avec cette méthode. Vous auriez pu aussi intégrer ce texte supplémentaire dans le message de bienvenue. C’est un choix de développement et d’optimisation éventuelle. Mais nous ne sommes pas dans une phase d’optimisation.

Cliquez à nouveau sur le bouton Démarrer : c’est mieux.

Téléchargez les exemples de code.

Découvrir et comprendre l’environnement Visual Studio pour C#

Cette vidéo présente les fonctionnalités de base de l’IDE de Visual Studio. Notamment, vous allez pouvoir  retrouver les fenêtres d’origine. Ensuite, vous verrez comment ajouter les numéros de ligne dans le code. Puis, vous découvrirez comment IntelliSense fonctionne pour compléter automatiquement et intelligemment la frappe.

Enfin, vous verrez aussi comment faire le suivi des modifications avec la bande latérale jaune et verte et comment réduire le code grâce aux icônes + / – tout en gardant une vision globale du code.

L’objectif de cette vidéo est vous familiariser avec l’environnement Visual Studio avec un aperçu du fonctionnement de ses fonctionnalités de base. Afin de disposer d’un exemple concret, consultez la vidéo pour comprendre un programme C#.

Afficher votre programme dans Visual Studio

Au début, vous pouvez être perdu ou perturbé notamment lorsque les fenêtres habituelles n’apparaissent plus. Par exemple, suite à une mauvaise manipulation, vous les avez toutes fermées : l’écran devient complètement vierge.

Vous avez beau cliquer sur Afficher > Page de démarrage puis vous rechargez votre application mais rien n’apparaît. C’est assez perturbant.

Pour résoudre le problème, il suffit de cliquer sur Afficher puis Explorateur de solutions.

Dans les vidéos suivantes, vous aurez l’occasion de découvrir à quoi sert concrètement l’explorateur de solutions. Dans un premier temps affichez le. Ensuite, vous double-cliquez sur Program.cs Généralement c’est le programme que vous utilisez par défaut.

Afficher les numéros de ligne

Vous pouvez aussi afficher le numéro de ligne, même si vous avez peu de lignes. Avec des programmes de 100 ou 2000 lignes, c’est plus pertinent.

Pour cela, vous allez dans Outils puis Options. Ensuite, vous ouvrez la section des paramètres de l’éditeur de textes, En particulier, celui de C#. En cliquant dessus, vous voyez apparaître différents paramètres notamment le numéro de ligne. Vous cochez Numéro de ligne puis vous faites OK.

Puis, vous voyez apparaître le numéro de ligne dans la colonne de gauche.

Ensuite, vous avez bien d’autres paramètres d’affichage qui sont disponibles dans ces options.

Changer les couleurs de l’écran et les polices

Dans la section Environnement, vous avez la possibilité par exemple de changer la police ou les couleurs de votre écran.

Par exemple, certains aiment avoir un arrière-plan sombre et des polices claires.

En dehors de ces aspects d’affichage vous avez aussi IntelliSense.

Qu’est-ce qu’IntelliSense dans Visual Studio  ?

À chaque fois que vous tapez quelque chose, l’éditeur analyse précisément votre frappe.

Par exemple, si vous cherchez à taper le mot console, vous voyez apparaître une petite fenêtre qui propose différents choix. Plus vous avancez dans l’écriture du mot Console et plus la fenêtre va afficher une liste de mot précis.

Pour sélectionner la proposition qui vous convient, vous avez plusieurs manipulations possibles : vous pouvez sélectionner le mot en cliquant dessus ou vous pouvez aussi appuyer sur le point (.) du clavier.

Le point sert de délimiteur dans l’expression en cours d’écriture.

Si vous appuyez sur point, tandis que vous étiez positionné sur Console, IntelliSense vous fait apparaître le mot en entier.

Maintenant que IntelliSense sait que vous cherchez à utiliser Console, il vous propose toutes les actions qui sont liées à ce terme. Bien évidemment, vous retrouvez la méthode WriteLine().

Vous pouvez sélectionner ou commencer à taper : la liste des valeurs de la fenêtre d’IntelliSense se restreint jusqu’à faire apparaître uniquement l’option concernée.

Vous sélectionnez avec la flèche bas du clavier le mot WriteLine, et vous pouvez utiliser la parenthèse ouvrante comme délimiteur.

Complétion des saisies

Un autre avantage de Visual Studio est d’afficher automatiquement la parenthèse fermante : il ne reste plus qu’à taper le texte.

Vous tapez sur guillemet (« ), et un autre guillemet apparaît. Puis, entre ces deux guillemets, vous tapez votre texte, comme par exemple, « A bientôt ».

IntelliSense ne se contente pas de proposer car il analyse et complète votre frappe.

Vous voyez apparaître au bout de la ligne Console.WriteLine avec son paramètre, un souligné rouge un peu gondolé et si vous survolez ce souligné avec la souris, IntelliSense vous indique qu’il manque le point-virgule.

En effet, chaque instruction doit se terminer avec un point-virgule.

Détecter des anomalies

Lorsque vous êtes sur un programme compliqué, le fait d’activer la bonne option, permet de détecter des anomalies dans sa logique de programmation.

Par exemple si vous vouliez écrire directement ici Write, IntelliSense ne propose pas WriteLine() puisque pour lui ça n’a pas de sens dans le contexte présent.

L’indentation

L’indentation est un décalage qui apparaît systématiquement et qui facilite la lecture. Si par exemple vous saisissez une autre ligne sous les deux premières. Vous débutez la saisie en début de ligne et vous tapez Console puis point puis WriteLine().

Incidemment, vous remarquerez que IntelliSense a proposé par défaut WriteLine(). Autrement dit, il tient compte de nos habitudes d’écriture.

Si vous continuez la saisie, vous tapez par exemple « bye bye » et que vous terminez par le point-virgule, vous remarquerez que votre saisie a été automatiquement alignée sur les deux lignes précédentes.

C’est l’indentation automatique.

Cliquez sur le bouton Démarrer : les messages s’affichent correctement.

Il existe aussi des aides visuelles qui vous permettent de mieux savoir quelles sont les parties du code sur lesquelles vous êtes intervenues.

Affichage des dernières modifications intervenues

Sur le côté gauche de l’éditeur, une colonne verte signale les lignes que vous avez récemment modifiées et que ces modifications ont été enregistrées.

Par exemple, si vous vous positionnez sous Console.ReadLine() et que vous appuyez sur la touche Entrée, vous voyez apparaître une colonne jaune sur la ligne de votre curseur.

Ainsi, Viusal Studio indique une modification qui concerne les deux lignes. Toutefois, vous n’avez pas encore enregistré ces modifications.

L’enregistrement des modifications se fait en cliquant sur Enregistrer.

Dans l’onglet du nom du fichier, une étoile à côté du nom signale que le fichier n’a pas encore été enregistré. Si vous enregistrez, la petite étoile disparaît et la colonne jaune devient verte.

Visual Studio
Visual Studio

Surimpression des sections

Une autre aide visuelle intéressante de Visual Studio concerne l’utilisation des sections.

Lorsque vous déplacez votre souris sur le côté gauche un fond grisé apparaît. Cela permet de repérer l’endroit sur lequel pointe la souris.

En cliquant sur les petits moins qui apparaissent sur le côté gauche, réduire les différentes sections de façon à pouvoir me concentrer visuellement sur la partie qui m’intéresse.

Toutefois, vous pouvez prendre connaissance du contenu d’une section réduite sans être obligé de l’ouvrir.

Si vous survolez avec votre souris le carré avec les trois petits points, qui se trouve au bout de la section, vous voyez apparaître le code de la section réduite en surimpression de votre écran.

Téléchargez les exemples de code.

 

Comprendre un programme C# (CSharp) pour débutant

Dans cette vidéo, vous allez comprendre un programme c#. Notamment, vous verrez les spécificités et l’importance de chaque partie de la syntaxe du programme. En particulier, les notions introduites sont le Framework .Net, la directive using, les espaces de noms, les classes et les méthodes.

Comprendre un programme C#

L’application que vous avez développé dans la vidéo précédente va vous servir d’exemple pour mieux comprendre un programme c#. Notamment, vous allez découvrir la logique de fonctionnement du programme C#.

Comprendre un programme C#
Application001

En effet vous voyez de nombreux termes comme : using, namespace, class, etc. qui ont un sens bien précis. Hors, il est important de resituer tous ces éléments.

En effet, il faut bien comprendre que vous avez une première couche qui s’exécute c’est Windows. Windows est évidemment le programme principal dans lequel va fonctionner votre application. Par ailleurs, votre application communique avec Windows à travers l’environnement .Net.

L’environnement .Net

L’environnement dot net ou la plateforme dot net est un outil qui permet d’avoir un code qui se concentre le plus possible sur les couches métiers, utiles ou applicatives, plutôt que sur ce qui est lié au fonctionnement de Windows.

Concrètement dans l’application précédente lorsque vous la lanciez, vous aviez une fenêtre qui s’affichait. L’objectif de cette vidéo n’est pas de passer du temps à expliquer comment cette fenêtre doit s’afficher où elle doit s’afficher, quelles dimensions elle a, etc.

L’objectif est de comprendre un programme c#.

Aussi, dans un premier temps, ce qui vous intéresse c’est d’afficher votre message. C’est là qu’intervient plusieurs outils comme l’instruction Console qui va vous permettre de faire simplement ce genre d’opération : afficher un message.

Notamment, l’instruction Console est en réalité une Classe. De la même façon que vous avez la classe Program dans Application001, vous avez la classe Console.

Qu’est-ce que c’est qu’une classe ?

Dans un premier temps, il est possible de définir une classe comme un simple regroupement de méthodes.

Il y a une terminologie à comprendre, aussi il y aura plusieurs vidéos pour vous aider à saisir toutes ses nuances. Aujourd’hui, c’est une simple introduction pour bien comprendre un programme C#.

La classe Console comprend plusieurs méthodes, dont WriteLine() et ReadLine().

Schéma de la Classe Console
Schéma de la Classe Console

Dans le schéma, la classe Console dispose d’au moins de ces deux méthodes.

Qu’est-ce que c’est qu’une méthode ?

Une méthode est un regroupement d’instructions. Les instructions sont les lignes de programmes qui vont s’exécuter.

Par exemple, WriteLine() et ReadLine() sont des méthodes qui sont comprises dans la classe Console.

Dans le code, vous voyez effectivement une classe qui comprend deux méthodes mais vous remarquerez aussi qu’il existe une classe Program qui enveloppe une autre méthode qui est un peu particulière qui est la méthode Main().

A quoi sert la méthode Main() ?

Lorsque le programme va démarrer, c’est la méthode Main() qui va s’exécuter en premier.

Cela veut dire que lorsque le programme se lance Windows va d’abord chercher le contenu de la méthode Main() et il va exécuter les lignes de codes qui se trouve dans cette méthode.

Maintenant, vous devez mieux comprendre un programme c#.

Pourquoi avoir utilisé la classe Console ?

Console sert à créer la fenêtre dans laquelle le texte s’affiche. Ce texte a été passé en tant que paramètre. Autrement dit vous avez le paramètre entre les deux parenthèses de la méthode WriteLine() de la classe Console.

Namespace

Vous voyez aussi la notion de namespace (« espace de nom »). Dans Application001, le « namespace » correspond exactement au nom du projet.

Supposez que vous ayez une application très complexe dans laquelle il y a plusieurs classes Program.

Comment distinguer une classe Program d’une autre ?

Chaque classe Program possède un préfix. Celui-ci est le namespace auquel elle appartient : Application001 dans l’exemple.  S’il y a une ambiguïté, il est possible d’appeler la méthode Main() de la classe Program qui fait partie de l’espace de nom Application001.

La meilleure illustration de ce mécanisme est justement avec la classe Console.

La classe Console appartient à l’espace de nom qui s’intitule System. C’est le même « System » que celui qui se trouve en haut du programme, sur la première ligne, en face de using.

Directive using

Si Microsoft dans son modèle a mis en place using Sytem, c’est parce qu’il se doutait que la classe Console serait utilisée. Dans le programme, il est possible de préfixer par System, chacune des lignes qui appellent la classe Console. Du coup, l’instruction using System n’est plus nécessaire.

Les autres using ne sont pas nécessaires non plus. Vous pouvez les enlever car il est très facile de les retrouver, si vous en avez besoin. Donc, vous pouvez enlever tous les using, car la classe Console est préfixée par l’espace de nom System.

Si vous cliquez sur Démarrer, le programme se compile et se lance normalement.

Annulez vos modifications avec CTRL+Z, pour supprimer les dernières modifications.

Pour résumé, vous pouvez utiliser la classe Console sans être préfixée à condition de déclarer l’instruction using. Si vous reprenez le schéma, c’est la raison pour laquelle vous avez la classe console qui est incluse dans l’espace de nom System.

L’espace de nom permet de lever l’ambiguïté. Application001 utilise la classe Console de l’espace de nom System. Dans la classe Console Application001 a besoin des méthodes WriteLine() et ReadLine().

Téléchargez les exemples de code.

Comment écrire un programme C# (CSharp) pour débuter

Avec cette vidéo, vous aller écrire un programme C#. Ce programme va afficher « Bonjour monde ! » sur une console Windows grâce à Visual Studio 2013.

Cette première application servira comme exemple dans la vidéo suivante pour comprendre les mécanismes mis en jeu.

écrire un programme C#
écrire un programme C#

Comment écrire un programme C#

Vous allez pouvoir écrire un programme C#. Pour cela, vous lancez Visual Studio Express 2013 : la page de démarrage s’affiche.

Celle-ci sert à gérer facilement les projets sur lesquels vous travaillez et aussi à communiquer avec la communauté de Visual Studio. Vous trouvez dessus des annonces, ainsi qu’un certain nombre de possibilités qui sont proposées : mise en route, découvrir les nouveautés, etc.

Créer son premier projet

Le projet va héberger votre programme C#. Il va donc vous permettre d’écrire un programme C#

Pour créer un nouveau projet soit vous pouvez cliquer directement sur Nouveau projet de la page de démarrage, soit vous pouvez cliquer dans le menu sur Fichier puis Nouveau projet. Cela revient au même.

Sachez que si vous perdez l’affichage de la page de démarrage. Vous la retrouver en cliquant sur Afficher Page de démarrage.

Cliquez sur Nouveau projet pour créer un premier projet. Vérifiez que vous êtes bien sous Modèles > Visual C#. C’est important. En effet, lors du premier lancement Visual Studio propose le langage Visual Basic. Il faut donc modifier le langage sélectionné sur Visual C#.

Modèles de projet

Sous Visual C#, vous voyez différents modèles : Application Windows Forms, Application WPF, Application Console, etc.

Cliquez sur le modèle Application Console, pour le sélectionner. Puis, donnez un nom à votre projet comme Application001, et cliquez sur le bouton OK.

Application001 est le nom du projet qui va permettre d’écrire un programme C#

Visual Studio Express 2013 a créé plusieurs fichiers dont un fichier qui s’appelle Program.cs et qui s’ouvre par défaut.

static void Main(string[] args)

Ce fichier possède notamment un point d’entrée important qui est static void Main(string[] args). C’est le point d’entrée principal du programme. Cela veut dire que lors du lancement du programme, les premières instructions exécutées seront celles qui seront entre ces accolades.

La vidéo suivante décortiquera les instructions qui sont être tapées.

Pour l’instant, positionnez votre souris entre les deux accolades qui sont juste sous static void Main(string[] args). Ces deux accolades, ainsi que leur futur contenu, appartiennent à static void Main(string[] args).

Instruction Console.WriteLine()

Laissez un peu d’espace entre ces deux accolades et vous tapez en respectant scrupuleusement la casse, c’est-à-dire en respectant les majuscules et les minuscules, l’instruction suivante Console.WriteLine.

Pour l’instant, ne prêtez pas attention aux différentes fenêtres qui s’ouvrent. Vous aurez l’occasion de découvrir un peu plus tard leur intérêt.

Respectez bien la casse car souvent les problèmes que l’on rencontre au début, proviennent d’une mauvaise frappe qui ne respecte pas les minuscules et les majuscules. Hors, C# est sensible à la casse.

Cliquez sur la parenthèse ouvrante pour mettre le message que vous souhaitez afficher, qui est : « Bonjour monde ! ».

Visual Studio complète automatiquement ce que vous êtes en train de taper.

Écrivez : « Bonjour monde ! » entre les parenthèses de Console.WriteLine().

Visual Studio vous signale qu’il manque quelque chose avec un petit souligné rouge au bout de la ligne. En effet, toutes les instructions C# doivent se terminer par un point-virgule (;).

Le point-virgule est un délimiteur important car il signale au compilateur que l’instruction s’arrête juste avant l’endroit où est le point-virgule. En effet, le compilateur n’est pas sensible aux espaces. En revanche, il est sensible à la présence de ce délimiteur.

Instruction Console.ReadLine()

La première instruction permet uniquement d’afficher un message, mais il faut avoir le temps de voir ce message.

Pour cela, vous allez taper juste en dessous : Console.ReadLine.

Appuyez sur la parenthèse ouvrante et vous pensez à fermer avec un point-virgule.

Quel est l’intérêt de Console.ReadLine ?

Cette instruction indique qu’il faut « attraper » ce que l’utilisateur saisit. Par contre, tant que l’utilisateur ne saisit rien, le programme attend. Tout ce qui était affiché avant, continuera d’être affiché.

Concrètement l’intérêt de Console.WriteLine() est d’afficher le message « Bonjour monde ! » alors que Console.ReadLine() va vous permettre d’avoir le temps de lire ce message tant que l’utilisateur n’aura pas appuyé sur une touche.

Exécution du premier programme C#

Maintenant, vous pouvez lancer le programme : vous avez plusieurs possibilités pour le faire.

Dans le menu vous avez un bouton Démarrer Vous verrez plus tard la notion de debug, qui se trouve juste à coté.

Lancez le programme : une fenêtre s’ouvre.

Le message « Bonjour monde ! » qui s’affiche dans la fenêtre correspond bien à l’instruction Console.WriteLine() du programme et le petit curseur qui clignote correspond à Console.ReadLine().

Tant que vous ne tapez rien dans la fenêtre le message reste affiché. Si vous tapez par exemple sur la touche entrée, le message disparaît.

Solution Visual Studio

Avec Visual Studio, vous avez créé ce qu’on appelle une solution. Celle-ci est composée de différents fichiers. Vous pouvez visualiser ces fichiers sur le disque dur.

Lancez l’explorateur Windows, sous la bibliothèque intitulée Documents, vous trouvez un dossier intitulé Visual Studio 2013.

Sous ce dossier, ce trouve un autre dossier intitulé Projets, dans lequel vous retrouvez votre solution qui est enregistré sous forme d’un dossier qui s’appelle Application001 puisque c’est le nom que vous avez donné.

Si vous l’ouvrez-vous trouverez les fichiers qui correspondent à cette solution : le fichier Application001.sln s’appelle le fichier solution. L’ensemble constitue la solution avec tous ses fichiers.

Si vous ouvrez le dossier Application001 vous retrouvez les fichiers du projet. En particulier, il y a le fichier source qui contient les instructions du programme, ainsi que l’exécutable. Le fichier source est le fichier Program.cs. Si vous l’ouvrez avec un éditeur de texte comme Notepad++, vous retrouverez exactement ce que vous avez saisie dans l’éditeur de Visual Studio.

Dans l’éditeur de texte, vous n’avez aucune aide alors que dans l’éditeur de Visual Studio vous avez de nombreuses aides qui vont vous faciliter le travail. C’est la raison pour laquelle, vous travaillerez toujours avec l’éditeur de Visual studio.

Sous le dossier bin, le sous-dossier debug est aussi intéressant, car vous trouvez le fichier Application001.exe. C’est le programme qui s’est exécuté pour afficher la fenêtre avec le message. Si vous double-cliquez pour le lancer, vous retrouvez le programme qui affiche « Bonjour monde ! » et qui attend que vous fassiez une saisie quelconque pour le terminer.

Application001.exe est donc l’exécutable qui permet de lancer le programme.

Page de démarrage

Si vous retournez dans Visual Studio que vous fermez la solution, c’est-à-dire l’ensemble des fichiers, plus rien ne s’affiche.

Vous pouvez retrouver la solution, en demandant d’afficher la page de démarrage. Pour cela, vous cliquez sur Afficher, puis Page de démarrage. Dans cette page de démarrage, vous remarquerez que Application001 apparaît dans la liste des fichiers récents. Si vous cliquez dessus, vous l’ouvrez.

Vous pouvez aussi épingler la solution dans la page de démarrage. Cela va vous permettre de retrouver ce projet en tête de liste, quel que soit le nombre de projets sur lesquels vous aurez travaillé et que vous n’aurez pas épinglé. Faites cette manipulation pour les projets sur lesquels, vous travaillez fréquemment afin de pouvoir les récupérer rapidement.

Second projet C#

Maintenant, créez un second projet que vous appelez ApplicationTest.

Vérifiez que vous êtes bien sous Modèles > Visual C#, puis sélectionnez le modèle Application console. Normalement, ça devrait être le cas car Visual Studio garde les dernières options sélectionnées.

Puis refaites à peu près la même chose que pour le projet précédent.

Autrement dit, saisissez une instruction Console.WriteLine() avec un message quelconque, suivi d’une instruction Console.ReadLine().

Lancez-le avec le bouton Démarrer pour vérifier qu’il n’y a pas de problème.

Fermez la solution puis afficher la page de démarrage sur laquelle vous retrouvez bien les différents projets, sous Récent.

Téléchargez les exemples de code.

Comment installer Visual Studio 2013 pour programmer en C#

Dans cette vidéo, vous allez voir comment Comment installer Visual Studio 2013. L’objectif de cette série de vidéos ( garantie sans chat 😉 ) est de apprendre à programmer en C#. Vous verrez aussi les notions relatives à l’objet.

Pour apprendre à programmer en C#, le mieux est d’utiliser les outils de Microsoft et notamment les dernières versions, comme la version Visual Studio 2013.

Vidéo pour installer Visual Studio

Dans cette première vidéo, vous voyez comment installer Visual Studio 2013 Express pour Bureau Windows est expliquée.

Ce tutoriel présente les manipulations à faire pour installer Visual Studio 2013 Express Windows Desktop en français.

Visual Studio est ce qu’on appelle parfois l’IDE, autrement dit l’outil de développement graphique intégré qui vous permet beaucoup plus rapidement par rapport à un simple éditeur de texte.

Installer Visual Studio
Installer Visual Studio

Rechercher la bonne version

Lancez votre moteur de recherche préféré, puis vous recherchez l’édition Visual Studio Express qui est totalement gratuite.

Faites attention parce qu’il existe plusieurs versions de Visual studios express : 2010, 2012, 2013, etc.: prenez bien la version 2013.

Si vous avez un lien qui renvoie vers la version 2013 du site anglais, vous pouvez le corriger facilement. Pour cela, vous remplacez les caractères en-us par les caractères fr-fr dans l’URL.

Lien pour télécharger Express 2013 pour Bureau Windows :
http://www.visualstudio.com/fr-fr/products/visual-studio-express-vs.aspx.

Faites attention car il existe aussi plusieurs versions gratuites de Visual Studio Express 2013. Il existe une version dédiée au développement d’applications dans le langage ASP.NET, ainsi qu’une version Express 2013 pour Windows, qui est en réalité dédiée au développement d’applications pour les Windows Phone.

Pour l’instant, prenez bien l’édition Express 2013 pour Bureau Windows.

Téléchargement et installation

Cliquez pour télécharger. Parmi, les différentes options d’installation, sélectionnez la version en français, ainsi que l’installation directe de Visual Studio 2013 avec sa dernière mise à jour.

Pour procéder au téléchargement, vous devez vous identifier sur le site de Microsoft. C’est gratuit et cela sera nécessaire pour la suite.

Une fois que vous êtes identifié, vous pouvez télécharger la version Express 2013 pour Windows Desktop, autrement dit, la version bureau. En cliquant sur le lien de téléchargement, vous enregistrez le fichier de lancement.

Avant d’ouvrir le dossier, vous remarquerez que Microsoft vous propose de créer un compte sur Visual Studio Online. Pour l’instant ne le faites pas car ce n’est pas nécessaire, et vous pourrez toujours le faire plus tard, si vous voulez.

Ouvrez le dossier où est téléchargé l’installateur, puis double-cliquez dessus. Dans la fenêtre qui s’ouvre, acceptez les termes du contrat, en cochant la case, et cliquez sur Installer.

Selon la vitesse de votre téléchargement, et votre matériel, il faut compter parfois jusqu’à une trentaine de minutes.

Lorsque vous avez terminé l’installation et la configuration, vous cliquez sur Lancer.

Page de démarrage

Sur la page de démarrage, vous pouvez voir les nouveaux projets que vous pouvez créer ainsi que les projets récents. Les projets récents sont les projets sur lesquels vous avez pu travailler, par exemple s’il s’agit d’une réinstallation de Visual Studio.

Vous avez aussi le menu que l’on aura l’occasion de détailler dans la prochaine vidéo. Vous aurez aussi l’occasion de mettre les « mains dans le cambouis » et de voir concrètement comment faire les premiers développements avec C#.

Lien pour télécharger Express 2013 pour Bureau Windows :
http://www.visualstudio.com/fr-fr/products/visual-studio-express-vs.aspx.

Téléchargez les exemples de code.

Découvrez le format Office Open XML de Microsoft Office

Microsoft Office utilise le format de fichiers Office Open XML depuis la version d’Office 2007. Ce format de fichiers ouvert est devenu un standard ISO en avril 2008.

Initiative Open XML

Un objectif de l’initiative Open XML a été d’intégrer dans le nouveau format les caractéristiques des milliards de documents qui existent déjà. Afin d’aider les utilisateurs dans cette tâche, Microsoft a développé un ensemble d’outils généralement méconnus pour certains d’entre eux.

Le Gestionnaire de planification de migration d’Office (OMPM) est un ensemble d’outils qui vous permet de préparer un environnement pour une migration vers Microsoft Office. Il contient un ensemble d’outils pour aider les organisations à analyser leurs documents et identifier les questions soulevées par une migration.

Après avoir scanné vos documents, vous pouvez importer les résultats dans une base de données Access puis visualiser le rapport. Pour chaque document, le rapport vous indique si l’outil a détecté des problèmes de conversion: chaque problème rencontré fait l’objet d’une proposition de solution

Eventuellement, vous pouvez utiliser Office File Converter (ofc.exe) pour convertir les documents dotés de l’ancien format binaire dans le nouveau format XML.

Office Open XML
Office Open XML

Avantages du format Office Open XML

Le premier avantage de ce format est d’être ouvert et gratuit.

Par ailleurs, ce format repose sur la spécification du format de fichier compressé ZIP. Concrètement, il s’appuie sur des définitions XML et des conteneurs ZIP.

Notamment, la plupart des parties du document sont des fichiers XML qui décrivent les données de l’application, les métadonnées et les données.

Le fichier conteneur ZIP stocke toutes ces données. Il stocke aussi les images, les objets OLE intégrés dans le document au format binaire.

Ensuite, il permet l’assemblage de documents disparates ou qui viennent de sources différentes.

Grâce à un kit de développement Microsoft, il est facile à manipuler. Notamment, vous pouvez extraire les données. De plus, vous pouvez modifier les informations d’un document Office sans utiliser l’application Office.

Par ailleurs, vous pouvez échangez plus simplement les données entre les applications Office et votre système d’informations.

 

Commande PowerShell pour créer un fichier : exemples

Dans cet article, vous découvrirez une commande PowerShell pour créer un fichier. Cet article est l’occasion de passer en revue les principales particularités des formats de fichier et les commandes associées.

En effet, les « vrais » fichiers recèlent des pièges liés aux données elles-mêmes: présence de virgule ou de point-virgule dans les données au format CSV, etc.

Commande PowerShell pour créer un fichier : Out-File

En particulier, pour obtenir la liste des services qui s’exécutent sur votre ordinateur dans un fichier texte, vous allez utiliser la commande Out-File.

Aussi, ouvrez une invite de commande PowerShell en tant qu’Administrateur et tapez :

Get-WmiObject win32_service | Out-File services.txt

Ensuite, ouvrez le fichier services.txt avec Notepad++. Vous lisez :

ExitCode : 0
Name : AdobeARMservice
ProcessId : 1780
StartMode : Auto
State : Running
Status : OK

ExitCode : 0
Name : AdobeFlashPlayerUpdateSvc
ProcessId : 0
StartMode : Manual
State : Stopped
Status : OK

Dans ce cas, vous ne récupérez qu’une partie des informations d’un service, la disposition est sous forme de fiche et le fichier est encodé en UCS-2 Little Endian.

Commande PowerShell pour créer un fichier Encodage UTF-8

Ensuite, pour avoir un encodage UTF-8, tapez :

Get-WmiObject win32_service | Out-File .services.txt -Encoding "UTF8"

Par ailleurs, Get-WmiObject win32_service produit un résultat sous forme de liste. Aussi, pour avoir une disposition tabulaire, vous essayez :

Get-WmiObject win32_service | Format-Table | Out-File .services.txt -Encoding "UTF8"

Notamment, le résultat donne :

ExitCode Name ProcessId StartMode State Status
——– —- ——— ——— —– ——
AdobeARMservice 1780 Auto Running OK
AdobeFlashPlayer… 0 Manual Stopped OK

Le « Name » est partiel. La mise en forme est peu pratique pour un traitement automatisé.

Commande PowerShell pour créer un fichier avec Get-Service

Ensuite, le résultat ne vous convenant toujours pas, vous changez de commande pour obtenir la liste des services.

Cette fois-ci, au lieu d’utiliser Get-WmiObject win32_service, vous essayez la commande Get-Service qui par défaut produit un résultat sous forme de tableau :

Get-Service | Out-File .services.txt -Encoding "UTF8"

Le résultat est encore différent :

Status Name DisplayName
—— —- ———–
Running AdobeARMservice Adobe Acrobat Update Service
Stopped AdobeFlashPlaye… Adobe Flash Player Update Service

En fait, la colonne Name (ainsi que DisplayName) est tronquée.

Commande PowerShell pour créer un fichier : Export-Csv

Maintenant, au lieu d’utiliser Out-File, vous allez utiliser Export-Csv.

Aussi, tapez la commande suivante :

Get-WmiObject win32_service | Export-Csv .services.csv -Encoding "UTF8"

Puis, ouvrez le fichier services.csv avec Notepad++ et vous voyez apparaître beaucoup plus d’informations sous forme quasi-tabulaire:

#TYPE System.Management.ManagementObject#rootcimv2Win32_Service
« PSComputerName », »__GENUS », »__CLASS », »__SUPERCLASS », »__DYNASTY », »__RELPATH »,…
« MONORDINA », »2″, »Win32_Service », »Win32_BaseService », »CIM_ManagedSystemElement », »Win32_Service.Name= » »AdobeARMservice » » »,…
« MONORDINA », »2″, »Win32_Service », »Win32_BaseService », »CIM_ManagedSystemElement », »Win32_Service.Name= » »AdobeFlashPlayerUpdateSvc » » »,…

Ensuite, pour éliminer la première ligne, il suffit de rajouter le paramètre -NoTypeInformation à la ligne de commande:

Get-WmiObject win32_service | Export-Csv .services.csv -Encoding "UTF8" -NoTypeInformation

Enfin, ouvrez le fichier services.csv avec Microsoft Office Excel.

Lors de son ouverture, Excel a détecté la présence du séparateur « ; » dans certaines lignes et il a séparé les données concernées dans la seconde colonne (« B »). Par exemple la description du « Service de cache de police Windows » contient un « ; »: « […] Il peut être désactivé ; il en résulte cependant une dégradation des performances des applications. »

Délimiteur spécifique

La présence inopportune du séparateur « ; » va rendre plus complexe le traitement des données lors de l’utilisation d’un Split(). Aussi, pour contourner ce problème, vous décidez de changer de délimiteur en choisissant un caractère plus rare comme ¤.

La commande devient:

Get-WmiObject win32_service | Export-Csv .services.csv -Delimiter "¤" -Encoding "UTF8" -NoTypeInformation

Lorsque vous ouvrez le fichier services.csv avec Microsoft Office Excel, celui-ci n’arrive pas à séparer les colonnes automatiquement: l’assistant d’importation de texte se lance.

PowerShell pour créer un fichier
Assistant d’importation de texte d’Excel

Vous pouvez réduire le nombre de colonnes avec l’utilisation de la commande Select-Object. Par exemple, si vous ne voulez que le nom et la description (« Caption ») de chaque service, vous tapez la commande suivante:

Get-WmiObject win32_service | Select-Object Name, Caption | Export-Csv .services.csv -Delimiter « ¤ » -Encoding « UTF8 » -NoTypeInformation

Le fichier résultat est plus sobre:

« Name »¤ »Caption »
« AdobeARMservice »¤ »Adobe Acrobat Update Service »
« AdobeFlashPlayerUpdateSvc »¤ »Adobe Flash Player Update Service »

Commande PowerShell pour créer un fichier : Import-Csv

Pour retraiter le fichier résultat, utilisez la commande PowerShell Import-CSV suivante :

Import-Csv .services.csv -Delimiter "¤"
Commande PowerShell Import-Csv
Commande PowerShell Import-Csv

Pour traiter une seule colonne, vous utilisez la fonction Split() ou la variable automatique $_.

La commande suivante fournit la description de tous les services dont le nom débute avec la lettre « A »:

Import-Csv .services.csv -Delimiter "¤" | ForEach-Object {if($_.Name.StartsWith("A")){write-host $_.Caption}}

Si votre fichier services.csv ne possédait pas d’entête, la commande précédente échouerait. Pour y remédier, il suffit d’indiquer un entête dans la commande Import-Csv avec le paramètre Header:

Import-Csv .services.csv -Header ("Name","Caption") -Delimiter "¤" | ForEach-Object {if($_.Name.StartsWith("A")){write-host $_.Caption}}

Le résultat donne quelque chose comme:
Adobe Acrobat Update Service
Adobe Flash Player Update Service

Supprimer les double guillemets

Lorsque vous utilisez Export-CSV, cette commande ajoute automatiquement des guillemets autour de chaque donnée retournée.

Notamment, pour enlever tous les guillemets des fichiers CSV à l’aide de PowerShell, l’article de Hey, Scripting Guy! donne une solution qui combine l’utilisation des commandes Export-Csv et Out-File. Toutefois, cette solution n’est pas pleinement satisfaisant car elle remplace aussi les guillemets qui seraient à l’intérieur d’une donnée !

(Get-Content .services.csv) -replace '"', "" | Out-File .services.csv -Encoding "UTF8" -Force

Ensuite, faites attention à l’affichage ambiguë des guillemets et des quotes dans WordPress. L’opérateur -replace a comme premier argument ‘ »‘, soit: une quote, un guillemet, une quote.

En effet, le second argument est «  », soit: un guillemet, un guillemet.

Par ailleurs, le paramètre -Force permet d’écraser un fichier en lecture seule.

Enfin, une solution moins radicale consiste à utiliser une expression régulière. Celle-ci utiliserait alors la fonction replace pour supprimer uniquement les guillemets en début et en fin de chaîne de chaque donnée: ‘^ »(.*) »$’, ‘$1’.

Ainsi, le replacement doit se faire sur chaque donnée, et non pas ligne par ligne.

Tableaux et Arrays PowerShell

Face à la diversité des choix, vous pouvez être tenté de manipuler toutes les données à l’aide de tableaux (« Arrays ») plutôt que de les stocker temporairement dans un fichier.

Si le volume de données manipulées n’est pas disproportionné, ce choix est souvent judicieux car la manipulation en mémoire reste souvent plus rapide que l’écriture sur un disque dur.

Toutefois, pour des raisons de conservations d’historique ou de traçabilité, vous devrez peut-être enregistrer les données manipulées dans un fichier.

Dans ce cas, n’utilisez pas l’opérateur -replace sur les objets. En effet, les commandes suivantes risquent de produire un résultat différent de vos attentes:

# Génére un fichier CSV à partir de la liste des services de l'ordinateur
 Get-WmiObject win32_service | Select-Object Name, Caption | Export-Csv .services.csv -Delimiter "¤" -Encoding "UTF8" -NoTypeInformation

# Alimente le tableau $Array à partir du fichier CSV
 $Array = Import-Csv .services.csv -Delimiter "¤"

# Cherche à remplacer des caractères dans $Array puis génère un fichier TXT pour récupérer le résultat
 $Array -replace "Adobe","ADOBE" | Out-File .services-2.txt

# Cherche à remplacer des caractères dans $Array puis génère un second fichier CSV pour récupérer le résultat
 $Array -replace "Adobe","ADOBE" | Export-Csv .services-2.csv -Delimiter "¤" -NoTypeInformation

Vous obtenez alors le contenu de services-2.txt :

@{Name=ADOBEARMservice; Caption=ADOBE Acrobat Update Service}
@{Name=ADOBEFlashPlayerUpdateSvc; Caption=ADOBE Flash Player Update Service}

Puis, le contenu de services-2.csv :

« Length »
« 61 »
« 76 »

En effet, l’opérateur -replace a converti l’objet tableau $Array en une seule chaine de caractères (string).

Notamment, le fichier résultat services-2.txt contient les chaînes de caractères.

Par ailleurs, le fichier résultat services-2.csv contient uniquement la longueur des chaînes de caractères.

En effet, la chaîne « @{Name=ADOBEARMservice; Caption=ADOBE Acrobat Update Service} » fait exactement 61 caractères. Tandis que  la chaîne « @{Name=ADOBEFlashPlayerUpdateSvc; Caption=ADOBE Flash Player Update Service} » fait exactement 76 caractères.

Renommer automatiquement Word grâce à son contenu

Dans cet article, vous allez découvrir une technique simple pour renommer automatiquement Word (un document Word) à l’aide de son contenu. Vous pouvez utiliser cette technique pour créer aussi des métadonnées dans le document Word.

Un audit documentaire révèle de nombreuses surprises. En particulier, le nom des documents est parfois peu significatif.

Renommer automatiquement Word
Renommer automatiquement les documents Word

Si vous voulez démarrer la mise en place d’une GED (Gestion Electronique de Documents) dans de bonnes conditions, il est préférable que les documents existants soient corrigés avant d’être injectés dans la GED. Ou simplement, si vous souhaitez que le nom de vos fichiers reflète leur contenu.

Bien évidemment, il n’est pas question de reprendre manuellement les documents quand il y en a plusieurs milliers.

Renommer automatiquement Word (documents Word)

Pour répondre à une demande de ce type, j’ai développé un script qui procède à un renommage automatique des documents Word.

Le critère utilisé pour le renommage consiste à récupérer le contenu du premier paragraphe de style Titre, Titre 1 ou Titre 2. Bien évidemment, si le script ne trouve pas de style, il ne renomme pas le document.

La liste des styles est paramétrable : vous pouvez ajouter des styles supplémentaires, utilisés dans le corpus analysé.

Ayez du style !

Si le script trouve un des styles recherchés, par exemple Titre 1, alors le script renomme le fichier à partir du contenu du paragraphe Titre 1.

La propriété Word (métadonnée) Titre est remplacée par le contenu du paragraphe Titre 1.

Facultativement, vous pouvez remplacer des caractères du nom du fichier ou du titre par une autre chaîne. Cela permet d’éliminer des chaînes de caractères qui ne sont pas significatives. Cela permet aussi d’insérer des caractères afin de normaliser les noms de fichiers. Cette étape est complètement facultative.

Le script s’exécute sur des milliers de documents réels.

En moyenne, les documents ont une taille approximative de 250 Ko. Le plus gros document a une taille de 1,3 Mo.

Performances du script

Comme souvent avec les scripts qui s’exécutent sur un volume important, les temps de réponses ne sont pas linéaires. Ils sont excellents au début (20 documents / minute environ) puis ils deviennent un peu moins bon ensuite.

Pour renommer automatiquement Word, le scripts s’exécute sur des lots de 150 documents. Cette approche s’est révélée efficace et finalement très rapide. Car, avec un ordinateur de configuration bureautique standard, le traitement des 150 documents se fait en 20 minutes environ, soit 450 documents / heure.

Le taux des documents non-traités est de 2% environ. Il s’agit de documents qui ne possédaient aucun style de titre (plutôt rare), ou de documents qui possédaient un style de titre non recherché : par exemple, un Titre 3.

Rappel: une fois que les documents sont chargés dans SharePoint, vous pouvez créer des règles de routage pour déplacer ces fichiers de la bibliothèque de remise vers les bibliothèques finales.

RenommerFichiersWord_V1_0_0.zip

Diviser un fichier vCard en de multiples fichiers séparés avec Powershell

Dans cet article, vous allez découvrir comment vous pouvez diviser un fichier vCard en de multiples fichiers. Vous allez pouvoir le faire grâce à Windows Powershell.

Le format vCard permet d’échanger simplement des cartes de visite électroniques. En effet, ce format est utilisé dans de nombreux logiciels de messageries électroniques. De plus, le format vCard est aussi disponible à travers les outils de messagerie instantanée. Enfin, il est aussi parfois utilisé pour des échanges entre mobiles.

Notamment, un fichier vCard contient les coordonnées d’un contact.

Exactement, comme une carte de visite traditionnelle expose les informations comme le nom, l’adresse, les numéros de téléphone, les adresses de courriels, etc..

diviser un fichier vCard
diviser un fichier vCard

Export au format vCard

Par ailleurs, vous pouvez exporter les contacts de Gmail dans un fichier au format vCard. Ensuite, vous pouvez importer ce fichier dans le carnet d’adresses Apple ou une autre application comme Outlook.

Le fichier produit s’intitule contacts.vcf. Il contient toutes vos adresses dans un seul fichier. De plus, les adresses étant au format vCard, elles sont stockées dans le fichier sous la forme :

BEGIN:VCARD
VERSION:3.0
FN:Jean Dujardin
N:Dujardin;Jean;;;
EMAIL;TYPE=INTERNET:jean.dujardin@gmail.com
NOTE:Intelligence économique
END:VCARD

Aussi, un bloc BEGIN:VCARD – END:VCARD encadre chaque adresse.

Comment diviser un fichier vCard ?

Si vous importez ce fichier dans Microsoft Outlook, il importe uniquement la première adresse.

Aussi, pour contourner cette difficulté, j’ai trouvé sur le web un simple script en Windows PowerShell qui permet de lire un gros fichier pour générer des petits fichiers unitaires.

Le script de Paul Westlake divise un fichier vCard en de multiples fichiers. Les fichiers sont au format vCard aussi. Notamment, vous trouverez ci-dessous le script PowerShell français qui permet de diviser un fichier vCard en de multiples fichiers.

Enfin, le script n’étant pas signé, pensez à modifier la préférence utilisateur de la stratégie d’exécution Windows PowerShell avec la commande Set-ExecutionPolicy.

Code actuel:
SplitVCF_V2_0_0.zip

Ancien code:
SplitVCF_V1_0_0.zip

Parcours récursif d’une arborescence de fichiers en batch

Dans cet article, vous allez découvrir comment réaliser un script qui procède à un parcours récursif et automatique d’une arborescence de fichiers.

En effet, afin de sauvegarder tous les fichiers du disque dur dans une archive compressée et cryptée, j’ai développé un programme en batch qui utilise la ligne de commande de WINRAR. Il fonctionne très bien, toutefois j’ai rencontré deux soucis.

Le premier problème, c’est la taille des données qui augmente sans cesse. Faire une unique sauvegarde de la totalité des données n’est pas pratique lors des restaurations. Les sauvegardes sont donc faites par sous-répertoires afin d’obtenir des archives de taille plus petite.

L’autre problème survient lorsque les répertoires sont renommés. Il n’était pas possible de modifier le script à chaque fois qu’un des répertoires était renommé. Aussi le script procède à un parcours récursif des répertoires afin de découvrir automatiquement le nom des dossiers.

Le parcours récursif est actuellement sur deux niveaux, mais il est possible d’ajouter des niveaux supplémentaires sans difficulté.

Prenons un exemple. Les données à sauvegarder sont stockées dans une arborescence de quelques dossiers sur un lecteur Q:

Les dossiers du niveau 1 sont, par exemple:

    • A_faire,
    • Archives,
    • En_attente,
    • Important,
    • Personnel,
    • Travail,
    • Volumineux.

La taille de ces dossiers de niveau 1 étant trop importante, la sauvegarde est faite au niveau des sous-dossiers. Les sous-dossiers, comme les dossiers, n’ont pas d’espace dans leur nom: présence d’un tiret (« -« ) ou d’un underscore (« _ ») à la place de l’espace.

Aussi, chaque sous-dossier est sauvegardé individuellement dans une archive compressée et cryptée. Le nom du fichier compressé est composé de la façon suivante: dossier.sous-dossier.rar. Les sauvegardes sont stockées sur un disque externe.

Parcours récursif d’une arborescence de fichiers

Le principe de fonctionnement est le suivant :

  • La liste des dossiers de Q: est stockée dans le fichier backup1.lst, grâce à la commande dir Q: /b > backup1.lst.
  • Le résultat stocké dans backup1.lst est exploité grâce à la commande FOR /f « delims=: tokens=1 » %%a in (‘TYPE backup1.lst’) do (…).

Puis pour chaque nom présent dans backup1.lst, la même technique est utilisée pour produire un fichier backup2.lst qui contient la liste des sous-dossiers:

  • dir Q:%%a /b > backup2.lst
  • FOR /f « delims=: tokens=1 » %%b in (‘TYPE backup2.lst‘) do call svg-0.01b.cmd %%a %%b

Le programme svg-0.01b.cmd se charge de la compression.

Une remarque sur le mot de passe. Celui-ci est en clair dans svg-0.01b.cmd: ce qui peut sembler imprudent. Il serait possible de le saisir à chaque fois mais avec 84 archives cryptées, cela deviendrait assez pénible. Il existe aussi des techniques assez simple pour le lire à partir d’un fichier texte qui serait sur un emplacement sécurisé, mais finalement ça ne ferait que déplacer le problème.

SVG_V1_0_0.zip

arborescence de fichiers
arborescence de fichiers

Réaliser des scripts Windows sans apprendre un langage

Dans cet article, vous découvrirez comment vous pouvez réaliser des scripts Windows sans apprendre de langage. L’intérêt des scripts Windows est de pouvoir automatiser des tâches répétitives.

En effet, dans un domaine Active Directory, l’installation automatisée d’un logiciel peut se faire avec des GPO (Group Policies Objets ou en français : Stratégies de groupes).

Cependant, tous les sites ne s’appuient pas sur un annuaire Active Directory pour l’identification et l’authentification des ressources. Dans ce cas, l’installation automatisée d’un logiciel peut être scriptée même si le logiciel à installer ne dispose pas d’un fichier MSI.

Le package MSI contient les informations nécessaires à la réalisation de l’installation.

Installation automatisée de logiciels

Même dans les cas les plus complexes, interactions avec l’utilisateur, redémarrage nécessaire de l’ordinateur avec poursuite du script, etc., il est possible d’automatiser complètement l’installation.

Concrètement, nous utilisons l’environnement Microsoft WSH et les langages VBScript ou JScript pour automatiser les installations. Ils présentent l’avantage d’être compris par tous les systèmes Microsoft depuis Windows NT 4.0 jusqu’à Windows Server 2016, y compris les postes clients. Comme, par exemple : Windows XP, Windows Seven ou Windows 10.

Bien évidemment, vous pouvez utiliser Windows Powershell, apparu avec Vista, pour faire des scripts Windows. Cependant, vous devrez apprendre un nouveau langage et de nouveaux concepts.

C’est pourquoi, si vous devez procéder à une installation qui nécessite une forte interaction avec l’interface graphique, privilégiez AutoIt pour sa simplicité.

Par exemple, l’écriture du mot questcequecest.com dans une boîte de dialogue, se traduira par:

WshShell.SendKeys « {q}{u}{e}{s}{t}{c}{e}{q}{u}{e}{c}{e}{s}{t}{.}{c}{o}{m} » . . . en WSH
Send(« questcequecest.com ») . . . en AutoIt

AutoIt et les scripts Windows

Il permet de créer des boîtes de dialogues riches:

Scripts Windows
Scripts Windows

Si vous regardez bien l’image, vous verrez que tout ce qui est nécessaire est présent.

COM/OLE est implémenté: toutes les manipulations d’objets de WSH sont gérées à l’identique dans AutoIt. De plus, AutoIt interagit avec les contrôles Windows, les services Windows, le système de fichiers. Il appelle directement les DLL externes et les API Windows.

AutoIt fonctionne ainsi sur les OS Windows 95, 98, ME, NT4, 2000, XP, 2003, Vista, Seven, 8, 8.1, 2008, 2008 R2, 2012, 2012 R2.

Sur Vista et OS ultérieur, il prend en compte UAC (User Account Control ou en français : Contrôle des comptes utilisateur).

Il est gratuit. Aussi, vous pouvez l’utiliser pour bien d’autres choses que les installations de logiciels.

D’autres utilisations des scripts Windows

Le langage de script d’AutoIt, qui est semblable à WSH/VBSCript, vous permet d’accroître considérablement votre productivité pour les tâches d’administration.

Pour cette raison, vous avez intérêt à généraliser l’utilisation des scripts, y compris pour les langages de scripts classiques comme WSH/VBSCript/JSCript ou PowerShell.

Comment devenir un bon développeur C# grâce aux vidéos

Le site Microsoft Virtual Academy propose des formations gratuites aux technologies Microsoft. Parmi celles-ci, certaines peuvent vous transformer en un bon développeur C# ou dans un autre langage.

Bon développeur
Visual Studio Code

Apprendre le langage C#

Notamment, si vous ne connaissez absolument rien au développement en C#, vous suivrez avec intérêt la formation pédagogique et didactique de Bob Tabor: « C# Fundamentals: Development for Absolute Beginners« .

Par ailleurs, Bob vous prend par la main et il vous montre ce qu’il faut faire avec une gentillesse sans égale.  Ce gars est vraiment épatant. Il réussit à trouver des mots simples et imagés pour faire comprendre facilement des notions relativement complexes.

Apprendre l’objet dans .Net

Ensuite, vous serez en mesure de suivre la formation « Prise en Main de la Programmation en C# » de Jerry Nixon (Microsoft) et Daren May.

Attention au titre du cours qui peut induire en erreur. En effet, il pourrait faire croire que la syntaxe de C# sera étudié. En réalité, c’est un cours Objet appliqué au C#.

Par ailleurs, le cours de Jerry et Daren se focalise beaucoup plus sur les notions Objet prises en charge par le Framework .Net: Encapsulation, Héritage, Polymorphisme, Classes et Méthodes partielles, Génériques, Types anonymes, Var, Linq, etc. que sur la syntaxe C#.

Enfin, vous verrez de nombreuses démonstrations à l’écran. Les explications sont claires.

Apprendre d’autres langages de développement

Ensuite, vous pouvez aussi apprendre le HTML 5, comment faire des jeux, ou comment développer pour Windows 10, etc.

Apprendre SharePoint, SQL Server, etc.

De plus, il y a de nombreuses autres formations concernant l’administration technique de SharePoint, SQL Server, etc.

Pour devenir un bon développeur…

Toutes ces formations sont en anglais et d’excellentes qualités. Cela vous permettra aussi d’améliorer l’écoute de l’américain ! Au bout de 10 heures d’écoute, je fatigue moins à écouter parler anglais !

Vous trouverez parfois la retranscription complète des discussions.

Vous pouvez suivre les cours avec l’aide des fichiers PDF ou PowerPoint. Ces fichiers contiennent des informations complémentaires par rapport aux diapositives de la vidéo.

Si l’anglais ne vous rebute pas, n’hésitez pas à vous inscrire et à suivre une des formations proposées afin de devenir un bon développeur.

Comment Manipuler le langage XML avec PowerShell

Dans cet article vous verrez comment manipuler du XML avec PowerShell. Plus précisément, vous verrez comment les applets de commandes permettent de créer ou d’interroger simplement des structures de données XML.

XML avec PowerShell

Windows PowerShell supporte directement le langage et le format XML. Vous pouvez gérer et manipuler un fichier XML ou une structure de données en XML grâce à quelques commandes de Windows PowerShell.

Tout d’abord, vous devez ouvrir une invite de commandes PowerShell. Dans cette invite de commandes, vous allez créer une variable typée XML, intitulée $monXML:

# Crée un objet XML
$monXML =[xml] « <Acheteur nom=’Fruits & Qualité’><Quantité>9</Quantité><Fruit>Poires</Fruit></Acheteur> »

Vous remarquerez la présence du type de données XML qui est représenté à l’aide de [xml]. La suite de la structure est classique dans XML.

Cette structure définit un Acheteur intitulé Fruits et Qualité. Elle spécifie que cet acheteur achète 9 Poires. En effet, le chiffre 9 est la valeur de la balise Quantité et Poires est la valeur de la balise Fruit.

Les balises Quantité et Fruit sont rattachés à la balise Acheteur.

L’attribut nom est un attribut de la balise Acheteur.

Lire la valeur d’un noeud XML avec PowerShell

La lecture d’une valeur d’un noeud XML avec PowerShell se fait en indiquant le chemin complet jusqu’au noeud visé. Le chemin complet se construit en concaténant les noeuds intermédiaires et en utilisant le point (« . ») comme séparateur.

Par exemple, pour obtenir la quantité, il suffit d’indiquer le chemin complet jusqu’au noeud Quantité.

# Donne la valeur du noeud Quantité
write-host -foregroundcolor yellow $monXML.Acheteur.Quantité

Résultat : 9

La valeur est de 9 car c’est la valeur obtenue en parcourant le chemin : $monXML puis Acheteur puis Quantité. Ensuite, PowerShell lit la valeur de la balise Quantité.

Pour obtenir le fruit, il suffit aussi d’indiquer le chemin complet du noeud :

# Donne la valeur du noeud Fruit
write-host -foregroundcolor yellow $monXML.Acheteur.Fruit

Résultat : Poires

La valeur est Poires car c’est la valeur obtenue en parcourant le chemin : $monXML puis Fruit. Ensuite, PowerShell lit la valeur de la balise Fruit.

Par ailleurs, vous pourriez écrire encore plus simplement en PowerShell :

# Donne la valeur du noeud Quantité
$monXML.Acheteur.Quantité

et

# Donne la valeur du noeud Fruit
$monXML.Acheteur.Fruit

aa

XML avec PowerShell
XML avec PowerShell

Comprendre les formules des colonnes calculées SharePoint

Le principe de fonctionnement des colonnes calculées SharePoint est simple et il se comprend facilement. La valeur d’une colonne calculée utilise les valeurs d’autres colonnes pour effectuer des opérations dessus.

Les opérations mises en oeuvre concernent les formules conditionnelles, les formules de manipulation de date et heure, les formules mathématiques en général et les formules de texte.

Exemple de colonnes calculées SharePoint

Sur votre site SharePoint de démonstration, créez une liste personnalisée nommée Chrono.

Puis créez une nouvelle colonne de type Nombre nommé NumeroSuivant.

Colonnes calculées SharePoint
Nouvelle colonne de type Nombre

Ensuite, créez une colonne calculée appelée NumeroAvenir avec la formule :

= NumeroSuivant +1

Le résultat renvoyé est de type Nombre.

Colonnes calculées SharePoint
Colonne calculée appelée NumeroAvenir avec la formule

Ensuite, ajoutez un  nouvel élément dans la liste:

Ajouter un nouvel élément dans la liste
Ajouter un nouvel élément dans la liste

Vérifiez que la colonne NumeroAvenir vaut bien 1001:

Nouvel élément ajouté dans la liste
Nouvel élément ajouté dans la liste

La seule difficulté est de trouver la liste exhaustive des formules autorisées, notamment pour les sites SharePoint en français. Toutefois, si vous êtes familier avec l’anglais, vous pouvez utiliser sans crainte les formules en anglais car elles seront automatiquement traduites en français.

SharePoint utilise la même syntaxe que celle des fonctions de Microsoft Excel. Cependant, SharePoint ne comprend pas toutes les fonctions d’Excel.

Dans Formules de champ calculé, vous trouverez toutes les formules disponibles. L’aide en ligne relatif aux exemples de formules courantes de SharePoint Server 2007 et Windows SharePoint Services 3.0 fournit les mêmes informations.

Il est aussi important de penser à utiliser le point-virgule (« ; ») comme séparateur dans les syntaxes en français. L’utilisation de la virgule (« , ») comme séparateur dans les formules des champs calculés sur un site de langue française génère une erreur de type « Runtime Error« . L’utilisation d’une colonne inexistante dans votre formule de calcul génère aussi une erreur de type « Runtime Error ».

Comprendre les Commandes PowerShell SharePoint

Les commandes PowerShell SharePoint permettent d’exécuter automatiquement les tâches administratives liées à SharePoint. Un bon exemple d’application est celui de pouvoir créer de nouvelles listes sur les sites grâce à des commandes PowerShell SharePoint.

Commandes PowerShell SharePoint

Lors de la création d’une nouvelle liste, vous devez d’abord indiquer à SharePoint le modèle à utiliser. Aussi, pour lister tous les modèles, ouvrez SharePoint Management Shell puis tapez les commandes suivantes :

$Web=Get-SPWeb http://ged.nova.ad/sites/primeur/
$Web.ListTemplates | Select Name, Description

Commandes PowerShell SharePoint - Liste de Modèles
Commandes PowerShell SharePoint – Liste de Modèles

Ainsi, vous obtenez le nom et le début de la description de tous les modèles disponibles dans votre collection de sites.

Créer la liste SharePoint

Ensuite, choisissez le modèle que vous vous voulez et créez la liste avec la méthode Add().

$Template=$Web.ListTemplates[« Liste personnalisée »]
$Web.Lists.Add(« Commandes », »Liste des commandes »,$Template)

En cas de succès, SharePoint renvoie l’identifiant interne unique de la liste sur 32 caractères, le GUID.

Commandes PowerShell SharePoint - Liste personnalisée
Commandes PowerShell SharePoint – Liste personnalisée

Ensuite, une fois la liste créée, il est pratiquement indispensable de rajouter des colonnes.

Ajouter une nouvelle colonne

Donc, vous indiquez à SharePoint la liste sur laquelle vous travaillez. Puis vous indiquez le type de la colonne et son nom, toujours avec la méthode Add().

$List=$web.Lists.TryGetList(« Commandes »)
$varFieldTypeTexte=[Microsoft.SharePoint.SPFieldType]::Text
$List.Fields.Add(« FruitID »,$varFieldTypeTexte,$false)

En réalité, la colonne a bien été ajoutée, mais vous ne la voyez pas !

Commandes PowerShell SharePoint - Ajout colonne
Commandes PowerShell SharePoint – Ajout colonne

Pour la voir, vous allez dans les paramètres de la liste, et sous Colonnes, vous retrouvez bien FruitID .

Commandes PowerShell SharePoint - Nouvelle colonne
Commandes PowerShell SharePoint – Nouvelle colonne

Modifier l’affichage de la liste

L’ajout de colonnes ne modifie (heureusement !) pas par défaut les affichages. En effet, c’est à vous de le faire. Il vous reste donc à modifier l’affichage par défaut

$View=$web.GetViewFromUrl(« http://ged.nova.ad/sites/primeur/Lists/Commandes/AllItems.aspx »)
$Field=$List.Fields[« FruitID »]
$View.ViewFields.Add($Field)
$View.Update()

Commandes PowerShell SharePoint - Affichage modifié
Commandes PowerShell SharePoint – Affichage modifié

Voilà pour les principes.

Vous trouverez ci-dessous un script PowerShell complet à télécharger.

Ce script créé une liste intitulée « Commandes » avec 4 colonnes (« FruitID », « FruitNom », « DateAchat », « Quantite »).

L’affichage par défaut (« AllItems.aspx ») de la liste est modifié pour faire apparaître les 4 colonnes.

SPListeCreer_V1_0_0.zip

Enfin, si vous désirez un accompagnement pour vous aider à concevoir le contenu de vos sites Sharepoint, ou pour installer, configurer, auditer SharePoint, allez sur la page de contact.

Assembly du PowerShell SharePoint et développement .Net

Les premières lignes des scripts PowerShell SharePoint débutent par une ligne ou deux qui ressemblent plus ou moins à :

Add-PSSnapin « Microsoft.SharePoint.PowerShell »

ou bien à:

[Reflection.Assembly]::LoadWithPartialName(« Microsoft.SharePoint »)

Ces deux instructions chargent les fonctions de l’assembly du PowerShell SharePoint.

Si vous êtes un développeur .Net, vous savez déjà ce qu’est un assembly. Pour un administrateur récemment converti au PowerShell SharePoint, c’est certainement moins évident.

L’objet de cet article est de présenter très succinctement le rôle et l’intérêt d’un assembly pour un public de débutant en matière de développement Net.

Principes généraux de l’assembly

Physiquement, un assembly est un fichier .DLL ou .EXE. L’idée derrière l’assembly est de mettre à disposition un code partageable entre différentes applications. C’est le même principe que pour les anciens fichiers DLL des systèmes d’exploitations Windows qui n’utilisent pas le Framework .Net.

Toutefois, la comparaison s’arrête là car les différences sont nombreuses.

En effet, les assemblies présentent de nombreux avantages supplémentaires notamment en matière de sécurité, fiabilité et robustesse. Des fonctionnalités supplémentaires, comme par exemple le déploiement côte-à-côte (vu plus bas), permettent aussi de pallier aux faiblesses des anciennes DLL.

Dans la plupart des cas, l’assembly est physiquement dans le Global Assembly Cache (GAC). Le rôle du GAC est de partager les assemblies entre les applications. Une assembly qui n’est pas présente dans le GAC peut fonctionner parfaitement pour une application donnée.

Si le développeur veut partager son travail, son assembly devra être dans le GAC afin de communiquer avec des applications d’autres domaines, d’autres processus ou d’autres ordinateurs.

Bien évidemment, l’assembly peut être appelé par un script PowerShell SharePoint, un programme écrit dans du code géré (C# ou VB Net), etc.

Common Language Runtime (CLR)

Cette communication est faite sous le contrôle du Common Language Runtime NET (CLR).

Nativement, l’explorateur Windows ne permet pas d’afficher les dossiers du GAC comme d’habitude. Pour avoir un affichage classique du contenu du GAC, ouvrez une invite de commande en tant qu’administrateur et tapez:

regsvr32 /u C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\shfusion.dll

Si shfusion.dll se trouve dans le dossier v2.0.50727 qui correspond à la version du socle .Net : c’est probablement le cas.

Une fois la commande exécutée avec succès, vous pouvez explorer les dossiers du GAC avec l’explorateur Windows classique. Les dossiers principaux du GAC sont:

  • C:Windows\assembly
  • C:Windows\Microsoft.NET

Pour revenir ensuite à un affichage natif, tapez dans une invite de commande:

regsvr32 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\shfusion.dll

Pour connaître la liste précise des assemblies chargées au moment de l’exécution d’une commande PowerShell, ouvrez une invite de commande PowerShell en tant qu’Administrateur puis tapez la commande:

[appdomain]::currentdomain.getassemblies()

Microsoft Intermediate Language (MSIL)

Un fichier d’assembly englobe des ressources. En particulier, le manifeste et le code Microsoft Intermediate Language (MSIL).

Le manifeste est un fichier qui décrit l’assembly à travers des métadonnées comme par exemple le nom de l’assembly, sa version, sa culture, les autorisations de sécurité sous lesquelles l’assembly doit s’exécuter ou la liste des assemblies dépendants.

La culture concerne les usages en termes de formatage de dates, de monnaies, etc (http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx).

Un programme peut utiliser une version d’un assembly tandis qu’un autre programme peut s’appuyer sur une version différente du même assembly sur le même ordinateur. C’est le déploiement côte à côte.

Le code MSIL n’est pas directement exécutable par un système d’exploitation comme Windows. Il doit être compilé en code natif pour être compris par le système d’exploitation.

Cette compilation peut être faite au fur et à mesure de l’appel des méthodes grâce à un compilateur Jusi-In-Time (JIT) fourni par le Common Language Runtime NET (CLR).

Le code natif peut aussi être généré par anticipation en une fois afin d’améliorer les performances de l’application.

Code source C#

Voici un exemple d’un code source en C#. Bien évidemment, vous pouvez aussi prendre un script en PowerShell SharePoint.

PowerShell SharePoint
Hello World C#

Le résultat en MSIL (extrait):

PowerShell SharePoint
Hello World MSIL

Aller plus loin avec le Net et le PowerShell SharePoint

Il est difficile de faire un tri dans toutes les ressources proposées sur le socle Net tant elles sont nombreuses et bien faites.

Toutefois, vous trouverez, dans les pointeurs ci-dessous, des informations pour démarrer en douceur un développement Net mais sur des bases solides:

Pour mettre en pratique, vous pouvez aussi suivre notre tutoriel qui explique, pas à pas, comment créer un WebPart Hello World avec Visual Studio.

Vous pouvez aussi consulter l’article suivant qui est spécifique au PowerShell SharePoint Découvrir comment utiliser PowerShell avec SharePoint.

 

Créer des Listes déroulantes en cascade dans SharePoint

Une demande récurrente dans SharePoint est de créer des listes déroulantes en cascade dans SharePoint entre deux listes minimum. Cette technique permet de limiter les valeurs affichées en fonction du choix précédent. Par exemple, la première liste peut contenir la liste des régions françaises. Lors du choix d’une région, la seconde liste ne fait apparaître que les départements de la région sélectionnée.

Il existe de nombreuses possibilités pour obtenir ce résultat. Toutefois, l’utilisateur voulait une méthode simple pour le faire, sans l’apport de produits tiers.

Création des deux listes

Afin de créer des listes déroulantes en cascade, vous devez créer au moins deux listes.

La première liste contiendra la Régions: elle est nommée Régions. Cette liste sera aussi appelée la liste parent.

La seconde liste contiendra la liste des départements: elle est nommée Départements. Cette liste aura une colonne de recherche, nommée Région (nom affiché) qui pointera sur la liste des régions.

La procédure pour créer ses deux listes est détaillée dans l’article intitulée Comment créer une colonne de recherche.

Créer le questionnaire

Le questionnaire est un formulaire qui permet d’interroger l’utilisateur sur la région de la liste parent puis le département de la liste enfant. C’est la méthode la plus simple pour implémenter des listes déroulantes en cascade dans SharePoint, dans ce scénario.

Concrètement, il suffit de créer une simple liste personnalisée, nommée Questionnaire. Cette liste aura 2 colonnes supplémentaires de type Recherche (informations déjà sur ce site). La première colonne s’intitule Region (sans accent, pour le nom interne), la seconde colonne s’intitule Departement (sans accent aussi).

Créer la liste qui relie les listes parent et enfant

Pour créer la liste Questionnaire, cliquez sur Actions du site > Autres options > Liste > Liste personnalisée.

Nommez la liste Questionnaire puis cliquez sur le bouton Créer.

Ajout de la première colonne qui relie la liste « parent »

Pour ajouter la colonne Region (sans accent), cliquez sur le ruban Liste (en haut) et sur le menu Créer une colonne.

Nommez la colonne Region (sans accent) puis sélectionnez le type Recherche (informations déjà sur ce site)

Puis, dans Paramètres de colonne supplémentaires, sous Obtenir des informations à partir de, sélectionnez la liste Régions. Sous Dans cette colonne, sélectionnez la colonne Titre (pas Titre lié à un élément) puis cliquez sur le bouton OK.

Pour des raisons esthétiques, vous allez renommer la colonne Region (sans accent) en Région (avec accent). La raison pour laquelle la saisie directe du nom Région n’a pas été faite directement est expliquée dans l’article consacrée au nom interne.

Allez dans les paramètres de la liste puis cliquez sur la colonne Region.

Modifiez le nom de la colonne en Région puis cliquez sur le bouton OK.

Ajout de la première colonne qui relie la liste « enfant »

Pour ajouter la colonne Departement (sans accent), cliquez sur le ruban Liste (en haut) et sur le menu Créer une colonne.

Nommez la colonne Departement (sans accent) puis sélectionnez le type Recherche (informations déjà sur ce site)

Puis, dans Paramètres de colonne supplémentaires, sous Obtenir des informations à partir de, vérifiez que la liste Départements est bien sélectionnée. Si ce n’est pas le cas, sélectionnez-là. Vérifiez aussi que la colonne Titre est bien sélectionnée (pas Titre lié à un élément). Si ce n’est pas le cas, sélectionnez-là puis cliquez sur le bouton OK.

Pour des raisons esthétiques, vous allez renommer la colonne Departement (sans accent) en Département (avec accent).

Allez dans les paramètres de la liste puis cliquez sur la colonne Departement.

Modifiez le nom de la colonne en Département puis cliquez sur le bouton OK.

Listes déroulantes en cascade
Liste déroulante en cascade relie parent enfant

Si vous cliquez sur le lien Ajouter un nouvel élément, vous n’aurez pas de liaison entre la liste parent et la liste enfant: pas de JavaScript, pas de liste déroulante en cascade !

JavaScript

En effet, pour indiquer à SharePoint de faire des listes déroulantes en cascade entre la liste parent et la liste enfant, il est nécessaire d’introduire quelques lignes de JavaScript.

Pour simplifier le travail, nous utilisons JQuery et SPServices.

Les procédures pour utiliser ses deux bibliothèques sont détaillées dans les articles d’initiation à jQuery et d’initiation à SPServices.

Implémenter la logique métier en JavaScript

Une fois que vous savez que les bibliothèques JQuery et SPServices fonctionnement correctement, vous pouvez implémenter la logique métier qui permet d’avoir des listes déroulantes en cascade.

Créez un fichier ListeDeroulanteEnCascade.js avec Notepad avec le contenu suivant:

<script type= »text/javascript » src= »/Scripts/jQuery.js »></script>
<script type= »text/javascript » src= »/Scripts/jQuery.SPServices.js »></script>
<script type= »text/javascript »>

$(document).ready(function() {
$().SPServices.SPCascadeDropdowns({
relationshipList: « Départements »,
relationshipListParentColumn: « Region »,
relationshipListChildColumn: « Title »,
parentColumn: « Région »,
childColumn: « Département »,
});
});
</script>

relationshipList doit contenir le nom de la liste qui fait le lien avec la liste parent (« Régions »). Dans notre cas, c’est la liste Départements.

Au lieu du nom, vous pouvez mettre aussi le GUID de la liste Départements.

relationshipListParentColumn doit contenir le nom interne de la colonne de la liste enfant (« liste Départements ») qui pointe vers la colonne de la liste parent (« Régions »). Dans notre cas le nom interne de la colonne est Region.

Pour savoir comment récupérer le nom interne, consultez l’article sur le nom interne.

relationshipListChildColumn doit contenir le nom interne de la colonne de la liste enfant (« liste Départements ») qui affiche les valeurs filtrées. Dans notre cas le nom interne de la colonne Département est Title.

parentColumn doit contenir le nom d’affichage de la colonne du formulaire (« Questionnaire ») qui pointe vers la colonne de la liste parent (« Régions »). Dans notre cas le nom d’affichage de la colonne est Région.

childColumn doit contenir le nom d’affichage de la colonne du formulaire (« Questionnaire ») qui pointe vers la colonne de la liste parent (« Départements »). Dans notre cas le nom d’affichage de la colonne est Département.

Normalement, vous n’avez pas à modifier le script (ListeDeroulanteEnCascade.js) sauf si vous avez nommé différemment vos colonnes.

Modifier le formulaire avec SharePoint Designer

Pour obtenir des listes déroulantes en cascade, vous devez modifier le formulaire du questionnaire dans ce scénario.

L’ajout du JavaScript doit être fait dans la liste Questionnaire. Plus précisément, il est nécessaire de modifier les formulaires NewForm.aspx et EditForm.aspx de la liste. Le formulaire NewForm.aspx sert à créer un nouvel élément, tandis qu’EditForm.aspx permet de modifier les éléments existants.

La modification des formulaires de la liste Questionnaire se fait à l’aide de SharePoint Designer.

A partir de votre site, cliquez sur Actions du site puis Modifier dans SharePoint Designer.

Dans SharePoint Designer, cliquez sur Listes et bibliothèques (à gauche).

Listes déroulantes en cascade
Liste déroulante en cascade SharePoint Designer Listes bibliotheques

Cliquez sur la liste Questionnaire pour gérer ses paramètres.

Pour vérifier le bon fonctionnement du script ListeDeroulanteEnCascade.js, vous allez modifier le fichier NewForm.aspx.

Pour cela, faites un clic droit sur le fichier NewForm.aspx puis choisissez Modifier le fichier en mode avancé.

Listes déroulantes en cascade
Modifier le fichier en mode avancé

Puis basculez dans la fenêtre Code, si ce n’est pas déjà fait.

Ensuite, lancez une recherche dans le code source sur la chaîne de caractères « <asp:Content ContentPlaceHolderId= »PlaceHolderMain » runat= »server »> »

Listes déroulantes en cascade
Recherche dans SharePoint Designer

En dessous de la chaîne recherchée, copiez tout le contenu du fichier ListeDeroulanteEnCascade.js.

Listes déroulantes en cascade
Import du JavaScript dans NewForm.aspx

Enregistrez les modifications faites sur NewForm.aspx: une fenêtre apparait qui vous informe que l’enregistrement de vos modifications personnalise la page de telle sorte qu’elle ne se base plus sur la définition de site. Cliquez sur le bouton Oui pour enregistrer vos modifications. Ce message n’apparaîtra plus sur ce fichier.

Listes déroulantes en cascade

En premier lieu, appuyez directement sur la touche F12 pour lancer le navigateur web.

Dans le questionnaire qui s’affiche, saisissez un titre (par exemple Question 1) puis cliquez sur la zone déroulante du Région.

Sélectionnez Corse grâce à un double clic. Toutefois, si la liste déroulante ne se ferme pas, appuyez sur la touche tabulation de votre clavier.

Notamment, dans la zone Département, vous devez voir apparaître:

Listes déroulantes en cascade
Création réussie d’un élément avec la liste déroulante

Sélectionnez Corse-du-Sud puis cliquez sur le bouton Enregistrer: laissez ouvert votre navigateur Internet.

Puis, revenez à SharePoint Designer.

Ensuite, dans SharePoint Designer, refaites exactement les mêmes manipulations que vous venez de faire sur le formulaire EditForm.aspx.

Une fois vos modifications terminées, retournez sur le navigateur Internet puis modifiez l’élément Question 1.

Listes déroulantes en cascade
Modification en cours de l’élément

Dans Région, double-cliquez sur Franche-Comté.

Listes déroulantes en cascade
Modification réussie d’un élément

Dans Département, sélectionnez Doubs puis cliquez sur le bouton Enregistrer.

Ensuite, si tout va bien, fermez SharePoint Designer.

Remarques

  • Par analogie avec cet exemple, il est facile de l’étendre pour mettre en oeuvre des listes déroulantes sur 3 ou 4 niveaux.
  • Des problèmes apparaissent à cause des noms de colonnes tronqués au-delà des 32 caractères. Une cause possible d’un nom interne tronqué est l’utilisation d’accent ou d’espace dans le nom de la colonne à sa création.

 

Petit tutoriel d’initiation à SPservices dans SharePoint

Ce tutoriel se limite à une initiation à SPservices dans SharePoint. SPServices est une bibliothèque qui s’appuie sur JQuery et simplifie l’appel aux services Web de SharePoint.

Pour exécuter avec succès cette initiation à SPservices, vous devez suivre au préalable le tutoriel dédié à JQuery, et qui est expliqué dans l’article Tutoriel d’initiation de base sur JQuery dans SharePoint.

Télécharger la bibliothèque SPservices

Avant de débuter cette initiation à SPservices, téléchargez la dernière version de SPServices.

Stockez le fichier zip sur votre ordinateur, décompressez-le et renommez le fichier jQuery.SPServices-2013.01.js en jQuery.SPServices.js. Dans les environnements complexes, il peut être intéressant d’identifier chaque version de SPservices. Dans notre cas, il est plus simple d’avoir une seule référence dans votre collection de sites SharePoint.

Pour pouvoir utiliser le fichier jQuery.js, il est nécessaire de le téléverser (« uploader ») dans la bibliothèque Scripts, créée dans le tutoriel dédié à JQuery.

Allez dans la bibliothèque Scripts puis cliquez sur le bouton Ajouter un document.

Cliquez ensuite sur Parcourir et « uploader » jQuery.SPServices.js dans la bibliothèque.

Initiation à SPservices
Bibliotheque jQuery et SPServices

Vérifier le bon fonctionnement de SPservices

Avant toute chose, il est important de vérifier que SPservices est valide et fonctionne bien dans votre environnement. Il est supposé que vous avez déjà vérifié que JQuery fonctionne parfaitement bien.

Avec le Bloc-notes (notepad.exe), créez un petit fichier VerifierSPservices.js avec le texte suivant:

<script type= »text/javascript » src= »/Scripts/jquery.js »></script>
<script type= »text/javascript » src= »/Scripts/jquery.SPServices.js »></script>
<script type= »text/javascript »>
$(document).ready(function() {
alert($().SPServices.SPGetCurrentSite());
});
</script>

Seules les lignes nouvelles par rapport à VerifierJQuery.js seront présentées.

La seconde ligne sert à référencer l’appel à SPServices. Vous devez donc modifier votre fichier pour que la première instruction src pointe bien vers l’emplacement du fichier jQuery.js hébergé dans la bibliothèque Scripts.

Le code exécuté est:

alert($().SPServices.SPGetCurrentSite());

Si tout va bien, ce code affiche un message avec l’URL complète de votre site.

Enregistrez vos modifications faites dans le fichier VerifierSPservices.js.

Uploadez aussi votre fichier VerifierSPservices.js dans la bibliothèque Scripts.

Initiation à SPservices

Une fois le fichier VerifierSPservices.js uploadé, faites un clic-droit dessus puis Copier le raccourci. Dans un instant, vous aurez besoin de coller le chemin.

Par ailleurs, pour tester le bon fonctionnement du script, vous allez utiliser la page Test, créée dans le tutoriel jQuery. Si vous n’avez plus de page Test, consultez le tutoriel pour en créer une.

Notamment, ouvrez un nouvel onglet dans votre navigateur puis allez sur la page d’accueil de votre site puis cliquez sur Actions du site puis Afficher tout le contenu du site.

Ensuite, cliquez sur la bibliothèque Pages du site.

Puis, dans le volet de gauche, cliquez sur le lien Test. Si un message jQuery s’affiche, fermez-le.

Et cliquez sur Actions du site puis Modifier la page.

Composant webpart editeur de contenu
Composant webpart editeur de contenu

Avec la souris, survolez le composant Editeur de contenu pour faire apparaître son menu d’édition:

Ensuite, cliquez sur Modifier le composant Webpart: sur la droite de l’écran, les paramètres de l’Editeur de contenu s’affiche. Si un message jQuery s’affiche, fermez-le.

Ensuite, sous Lien du contenu, coller le contenu du presse-papier. Normalement, il contient l’emplacement du fichier VerifierSPservices.js.

Ensuite, cliquez sur le bouton OK.

Puis, vous devez voir une fenêtre qui s’affiche en indiquant l’URL du site.

Enregistrez votre page: le message s’affiche à nouveau.

 

Petit tutoriel d’introduction et d’initiation à JQuery dans SharePoint

Ce tutoriel se limite à une initiation à JQuery dans SharePoint. L’objectif est de comprendre comment utiliser jQuery concrètement dans SharePoint, sans être obligé de connaître le JavaScript.

Même si la portée de ce tutoriel est limitée, il est évident qu’il est souvent nécessaire d’introduire quelques lignes de JavaScript dans SharePoint, sans être obligé de faire un développement d’une feature ou d’une solution avec Visual Studio.

Pour nous simplifier le travail, nous utilisons jQuery. Grâce à de nouvelles fonctions JavaScript, cette bibliothèque simplifie l’écriture des programmes.

Télécharger la bibliothèque jQuery

Commencez par télécharger la dernière version Uncompressed de jQuery. Au moment où ces lignes sont écrites, il s’agit de la version 1.9.0 de jQuery.

Stockez le fichier sur votre ordinateur et renommez le jquery.js. Dans les environnements complexes, il peut être intéressant d’identifier chaque version de jQuery. Dans notre cas, il est plus simple d’avoir une seule référence.

Initiation à JQuery dans SharePoint

Pour pouvoir utiliser le fichier jquery.js, il est nécessaire de le téléverser (« uploader ») dans une bibliothèque quelconque de votre site (ou collection de sites). Toutefois, il est nécessaire que les utilisateurs possèdent des droits de lecture sur cette bibliothèque.

Il est conseillé de créer une bibliothèque dédiée. Pour cela, positionnez-vous sur votre site puis cliquez sur Actions du site > Nouvelle bibliothèque de documents.

Nommez la bibliothèque Scripts. Bien évidemment, vous pouvez la nommer comme vous le souhaitez.

Tout d’abord, sous Navigation, dans Afficher le composant bibliothèque de documents dans le volet Lancement rapide, cochez Non.

Puis, dans la section Document-Historique des versions, dans Créer une version à chaque modification d’un fichier dans le type de liste bibliothèque des documents, cochez Oui.

Ensuite, sous Modèle de document, sélectionnez Aucun puis cliquez sur le bouton Créer.

Enfin, cliquez sur le bouton Ajouter un document, cliquez sur Parcourir et « uploader » jquery.js dans la bibliothèque.

JQuery dans bibliotheque
JQuery dans bibliotheque

Vérifier le bon fonctionnement de la bibliothèque jQuery

Avant toute chose, il est important de vérifier que la bibliothèque jQuery est valide et fonctionne bien dans votre environnement. En effet, dans cette initiation à JQuery dans SharePoint, vous devez vérifier chacune des étapes avant d’aller plus loin.

Avec le Bloc-notes (notepad.exe), créez un petit fichier VerifierJQuery.js avec le texte suivant:

<script type= »text/javascript » src= »/Scripts/jquery.js »></script>
<script type= »text/javascript »>
$(document).ready(function() {
alert(« jQuery fonctionne parfaitement bien ! »);
});
</script>

Adapter le script à votre environnement

La première ligne sert à référencer l’appel à jQuery. Vous devez donc modifier votre fichier pour que la première instruction src pointe bien vers l’emplacement du fichier jquery.js hébergé dans la bibliothèque Scripts.

Pour le faire, le plus simple est d’ouvrir la bibliothèque Scripts, de faire un clic-droit sur le fichier jquery puis Copier le raccourci. Ensuite, vous collez le chemin derrière l’instruction src= de la première ligne du fichier VerifierJQuery.js, à la place de /Scripts/jquery.js.

La seconde ligne indique l’ouverture de votre script. Elle se termine avec la dernière ligne.//

Pour exécuter du code dès que le document est prêt à être manipulé, jQuery dispose de l’instruction événement prêt (« ready event »):

$(document).ready(function() {

});

Le code finalement exécuté est:

alert(« jQuery fonctionne parfaitement bien ! »);

Si tout va bien, ce code affiche le message « jQuery fonctionne parfaitement bien ! ». Dans le cadre de cette initiation à JQuery dans SharePoint, il faut que vous soyez attentif à vérifier le bon fonctionnement de chaque étape.

Enregistrez vos modifications faites dans le fichier VerifierJQuery.js.

Uploadez aussi votre fichier VerifierJQuery.js dans la bibliothèque Scripts. C’est la même bibliothèque que celle qui héberge le fichier jQuery.js. Techniquement, il pourrait s’agir de bibliothèques différentes mais cela n’est important pour nous.

Une fois le fichier VerifierJQuery.js uploadé, faites un clic-droit dessus puis Copier le raccourci. Dans un instant, vous aurez besoin de coller le chemin.

Création d’une page de test

Pour tester le bon fonctionnement de jQuery, il faut créer une simple page dans SharePoint.

Pour cela, ouvrez un nouvel onglet dans votre navigateur puis allez sur la page d’accueil de votre site puis cliquez sur Actions du site puis Autres options.

Filtrez sur Page et sélectionnez le modèle Page.

Dans le volet de droite, saisissez le nom Test puis cliquez sur le bouton Créer.

Si vous voyez apparaître un message vous prévenant qu’il faut une bibliothèque de pages Wiki et une bibliothèque de pièces jointes par défaut, cliquez sur le bouton Créer de cette page.

Une fois que la page est créée, vous devez insérer un composant webpart (ruban Insérer) Editeur de contenu (qui se trouve dans la catégorie) Média et contenu.

Composant webpart editeur de contenu
Composant webpart editeur de contenu

Une fois que le composant Editeur de contenu est inséré, survolez le avec la souris pour faire apparaître son menu d’édition:

Cliquez sur Modifier le composant Webpart: sur la droite de l’écran, les paramètres de l’Editeur de contenu s’affiche.

Menu du Composant WebPart Editeur de contenu
Menu du Composant WebPart Editeur de contenu

Sous Lien du contenu, coller le contenu du presse-papier. Normalement, il contient l’emplacement du fichier VerifierJQuery.js.

Ensuite, cliquez sur le bouton OK.

Notamment, vous devez avoir la fenêtre suivante:

Initiation à JQuery dans SharePoint
jQuery fonctionne parfaitement bien !

Enregistrez votre page: le message ci-dessus s’affiche à nouveau.

Ce message confirme que vous êtes prêt à aller au-delà de cette simple initiation à JQuery dans SharePoint.

 

Listes en cascade dans SharePoint avec une colonne de type Recherche

L’objectif est de créer des listes en cascade dans SharePoint.  Autrement dit, il s’agit de créer une colonne dans une liste enfant qui recherche une information qui se trouve dans une liste parent.

Pour réaliser ce tutoriel d’initiation, vous allez créer deux listes.

  • La première liste (liste parent) contiendra la Liste Régions.
  • La seconde liste (liste enfant) contiendra la Liste Départements. Dans cette liste chaque département sera rattaché à sa région.

Il existe de très nombreuses méthodes pour créer une liste. Comme ce tutoriel s’adresse à des débutants, vous le ferez avec une méthode très classique avec l’interface graphique.

Créer la liste SharePoint parent

Il faut créer la première liste qui contient la Liste Régions. C’est la liste parent.

Par ailleurs, lors de la création d’une liste personnalisée, une colonne et une seule est créée systématiquement. Notamment, le nom affiché est Titre (ou Title en anglais). Une fois que la liste Régions sera créée, vous utiliserez la colonne Titre pour saisir les régions.

Pour créer la liste, ouvrez un site sur lequel vous êtes propriétaire ou sur lequel vous avez les droits de concepteur. Si ce n’est pas le cas, demandez à votre administrateur de créer un site de formation dans une ferme de tests.

Sur votre site, cliquez sur Actions du site puis sur Autres options. L’affichage dépend selon que le programme additionnel Silverlight est installé ou non sur votre poste de travail.

Vous obtenez cet affichage avec Silverlight :

Affichage avec Silverlight

Listes en cascade dans SharePoint

Dans ce cas, sous Filtrer par (à gauche), vous cliquez sur Liste pour ne faire apparaître que les modèles de listes.

Ensuite, dans la liste des modèles, il faut cliquer sur le modèle Liste personnalisée: le volet à droite affiche les paramètres nécessaires à la création de la liste.

Enfin, dans le volet de droite, cliquez sur le bouton Autres options. En effet, ce bouton vous donne accès à des paramètres supplémentaires importants.

Renseignez le formulaire avec les informations suivantes:

  • Nom: Régions
  • Description: Liste personnalisée qui énumère les régions administratives françaises.
  • Afficher le composant liste dans le volet Lancement rapide: vérifiez que la case est cochée sur Oui. Si ce n’est pas le cas, cochez la case Oui.

Ensuite, cliquez sur le bouton Créer: la liste créée s’affiche directement.

Affichage d'une liste créée dans SharePoint
Affichage d’une liste créée dans SharePoint

Dès maintenant, vous pouvez alimenter la liste.

Toutefois, afin d’être plus efficace, cliquez sur Mode Feuille de données (dans le Ruban Liste, à gauche), pour basculer en affichage mode Microsoft Access ou Excel:

Basculement en mode Feuille de données
Basculement en mode Feuille de données

Puis:

Mode Feuille de données
Mode Feuille de données

Alimenter une liste SharePoint par copier-coller

Pour renseigner les régions, téléchargez le fichier Regions. Ce fichier contient déjà les valeurs pour le scénario de listes en cascade dans SharePoint.

Dézippez-le et ouvrez le fichier texte qu’il contient dans le Bloc-notes (notepad.exe) et copier tout le contenu par CTRL+C.

Retournez sur la liste ouverte, et cliquez dans la cellule sous Titre.

Pour alimenter la liste, vous faites un clic-droit puis Coller.

Copie réalisée en mode Feuille de données
Copie réalisée en mode Feuille de données

Si vous préférez, vous pouvez cliquer sur Affichage standard pour retrouver un affichage plus habituel.

Copie affichée en mode Standard
Copie affichée en mode Standard

Par défaut, l’affichage du sigle « Nouveau ! » disparaît au bout de 7 jours, sauf si votre administrateur a modifié son paramétrage.

Créer la liste SharePoint enfant

La liste SharePoint enfant est la liste des départements. Elle s’intitulera Départements.

Dans des listes en cascade dans SharePoint, une liste sert à fournir un premier filtre. C’est le rôle de la liste Départements . Ensuite, lors de l’affichage du département, la valeur correspondante de la région s’affiche.

La colonne Titre sera utilisée pour alimenter les départements. Une seconde colonne sera créée pour indiquer la région. Cette seconde colonne sera nommée Region (sans accent: pour les explications consultez l’article sur le nom interne des colonnes).

La colonne « Region » sera la colonne de recherche qui pointera sur la colonne Titre de la liste Régions.

La procédure de la liste Départements étant identique à celle utilisée pour la création de la liste Régions; vous trouverez uniquement la liste des manipulations sans commentaire.

Allez sur votre site puis dans Actions du site: Autres options > Liste > Liste personnalisée puis cliquez sur le bouton Autres options.

Renseignez le formulaire avec les informations suivantes:

  • Nom: Départements
  • Description: Liste personnalisée qui énumère les départements français avec leur région administrative de rattachement.
  • Afficher le composant liste dans le volet Lancement rapide: cochez la case Oui.

Ensuite, cliquez sur le bouton Créer.

Créer une colonne de recherche

Vous allez rajouter la colonne Region dans la liste Départements pour faire le lien avec la liste Régions.

La nouvelle colonne devra impérativement être de type Recherche (informations déjà sur ce site).

Pour ajouter la colonne Region, allez sur la Liste Départements.

Puis cliquez sur le ruban Liste (en haut) et sur le menu Créer une colonne.

Créer une colonne de recherche
Créer une colonne de recherche

Nommez la colonne Region (sans accent) puis sélectionnez le type Recherche (informations déjà sur ce site).

Créer une colonne - Etape 1
Créer une colonne – Etape 1

Puis, dans Paramètres de colonne supplémentaires, sous Obtenir des informations à partir de, sélectionnez Liste Régions. Sous Dans cette colonne, sélectionnez la colonne Titre.

Créer une colonne - Etape 2
Créer une colonne – Etape 2

 

Cliquez sur le bouton OK.

"<yoastmark

Ensuite, basculez la liste Départements en mode Feuille de données.

Puis, téléchargez le fichier Départements.

Ensuite, dézippez-le et ouvrez le fichier texte qu’il contient dans le Bloc-notes (notepad.exe) et copier tout le contenu par CTRL+C.

Retournez sur la liste ouverte, et cliquez dans la cellule sous Titre.

Pour alimenter la liste, vous faites un clic-droit puis Coller.

Le copier-coller fonctionne parfaitement bien car les valeurs de la colonne Région correspondent exactement aux valeurs de la liste Régions. Dans le cas contraire, un message vous informerait des problèmes rencontrés et vous demanderait si vous souhaitez continuer ou pas l’opération de copier.

Ensuite, basculez la liste en affichage standard. Les listes en cascade dans SharePoint s’affichent avec leur valeur respective :

Listes en cascade dans SharePoint
Liste alimentée en copier-coller avec une colonne de recherche

Découvrir comment utiliser PowerShell avec SharePoint

Dans cet article, vous allez découvrir comment utiliser PowerShell avec SharePoint. Les commandes Windows PowerShell permettent d’automatiser tous les traitements à faire dans SharePoint.

Même si au début, cela réclame un petit investissement intellectuel, cela en vaut vraiment la peine.

Comment utiliser PowerShell avec SharePoint

Avant de les utiliser, allez dans Tous les programmes > Microsoft SharePoint 2010 Products > SharePoint 2010 Management Shell (à exécuter en tant qu’administrateur).

Toutefois, vous pourriez aussi lancer la commande PowerShell de Windows et tapez Add-PSSnapin Microsoft.SharePoint.PowerShell pour récupérer les cmdlets SharePoint.

Par ailleurs, dans le modèle objet de SharePoint, faites attention car SPSite est une collection de sites, tandis que SPWeb représente un site (ou un sous-site).

Tout d’abord, la première cmdlet à connaître est celle qui donne l’aide sur l’aide: Get-Help Get-Help. Les fichiers d’aide sont au format XML. Ils se trouvent dans le dossier C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/CONFIG/POWERSHELL/Help/fr-fr pour la version française.

D’autres exemples de cmdlet utiles pour savoir comment utiliser PowerShell avec SharePoint :

  • Liste de toutes les cmdlets de SharePoint: Get-Command -PSSnapin Microsoft.SharePoint.PowerShell. Pour connaître leur nombre: @(Get-Command -PSSnapin Microsoft.SharePoint.PowerShell).count.
  • Liste de toutes les méthodes et propriétés d’un objet du Modèle Objet de SharePoint (par exemple Get-SPSite): Get-SPSite | Get-Member. La même commande pour Get-SPWeb: Get-SPSite | Get-SPWeb | Get-Member.
  • Affiche toute l’aide d’une commande (par exemple Get-SPSite): Get-Help Get-SPSite -Full. Pour avoir uniquement les exemples: Get-Help Get-SPSite -Examples
  • Services SharePoint avec leurs états: Get-SPServiceInstance
  • Bases de données: Get-SPDatabase
  • Collections de sites et de leurs bases de données respectives: Get-SPSite -Limit All | select url, contentdatabase. Si vous omettez -Limit All, la requête ne renvoie que les 200 premiers objets.
  • Volume de stockage d’une collection de sites: Get-SPSite | select url, @{Expression={$_.Usage.Storage}}
  • Liste des sites basés sur un certain modèle de site (par exemple un site d’équipe): Get-SPSite -Limit All | Get-SPWeb -Filter {$_.Template -eq « STS#00 »}
  • Liste des modèles de sites de la ferme: Get-SPWebTemplate

Il existe bien d’autres cmdlets intéressantes.

Comment utiliser PowerShell avec SharePoint

Les cmdlets sont susceptibles d’utiliser une très grande quantité de mémoire. Aussi, afin d’éviter une fuite mémoire, vous pouvez utiliser les cmdlets Start-SPAssignment et Stop-SPAssignment. Ces cmdlets implémentent l’interface IDisposable afin de libérer la mémoire qui n’est plus utile. Voici deux exemples tirés de l’aide de la commande Get-SPSite qui utilisent la méthode d’affectation de collection :

Start-SPAssignment -Global
$s = Get-SPSite
$s.url
Stop-SPAssignment -Global

L’exemple ci-dessous utilise une méthode moins consommatrice de mémoire que la précédente grâce à des variables nommées :

$o = Start-SPAssignment
$s = $o | Get-SPSite
$s.url
Stop-SPAssignment $o

Lorsqu’on débute en PowerShell, et même après, le paramètre -WhatIf est précieux car il simule l’exécution de la cmdlet. Par exemple, la commande Get-SPSite | Remove-SPSite -WhatIf vous retournera WhatIf : Opération « Remove-SPSite » en cours sur la cible « http://mw41 », sans supprimer la collection de site. La difficulté est de savoir où positionner le paramètre -WhatIf quand les commandes sont imbriquées.

Vous trouverez ci-dessous, un programme en téléchargement libre qui:

  • Stocke les paramétres de configurations des fichiers journaux SharePoint dans un premier fichier texte,
  • Modifie la durée de conservation des journaux, ainsi que d’autres paramétres,
  • Stocke à nouveau les paramétres de configurations des fichiers journaux dans un nouveau fichier texte,
  • Compare avec une commande PowerShell les deux fichiers.

SPDiagnosticConfigParams_V1_0_0.zip

Créer sans programmer des formulaires InfoPath 2010

Dans cet article, vous allez voir comment les formulaires InfoPath 2010 peuvent vous faciliter la vie au travail.

Les besoins des organisations en matière de formulaires sont gigantesques. Pourtant ce besoin n’a pas toujours été correctement adressé.

Les outils de création de formulaires ont pratiquement toujours existé en informatique. Toutefois, jusqu’à l’apparition d’InfoPath Designer, ils ont rarement eu la souplesse ou la puissance nécessaire afin de correspondre aux attentes de l’utilisateur final et du concepteur du formulaire.

Il y a eu la demande de congés ou la demande de support ou de fournitures sous forme d’un formulaire papier.

Puis vous avez connu l’époque des formulaires Acrobat PDF, ou Lotus Domino, voire même Outlook Exchange à l’aide de composants CDO (Collaboration Data Objects) et autres.

Formulaires InfoPath 2010

Avec InfoPath 2010 de SharePoint, c’est le formulaire Web sans limite.

En effet, les formulaires sont disponibles à partir d’un simple navigateur web (Internet Explorer, Firefox, Mozilla, Safari, Netscape) ou un mobile (smartphone, pdaphone), que ce soit sur Windows, MacOS, Linux ou Unix.

Il n’est donc pas nécessaire d’avoir InfoPath Designer sur son poste pour remplir le formulaire : le navigateur web suffit dans la plupart des cas.

Les formulaires sont interactifs.

Formulaires InfoPath 2010

Vous cochez la case Urgent (cf. image ci-dessus) et un complément d’information est demandé à l’utilisateur. Si vous ne cochez pas la case, la demande complémentaire n’apparaît pas.

InfoPath de SharePoint répond à votre besoin de disposer de formulaires réellement dynamiques qui s’adaptent en fonction de la saisie. Les formulaires peuvent aussi intégrer des données du système d’information de l’entreprise.

Association de Workflows aux formulaires

Vous avez intérêt à associer des flux de travail à vos formulaires pour automatiser leur traitement.

Les besoins de votre organisation évoluent ! Aussi, modifiez le flux de travail associé au formulaire, sans écrire une ligne de code.

En effet, l’outil gratuit Microsoft SharePoint Designer, permet de créer des flux de travail sans connaître la programmation, ni même le HTML.

Car, la création d’un flux de travail dans SharePoint Designer se fait uniquement par assemblage et paramétrage de blocs logiques. Vous disposez d’actions simples :

  • Envoyer un courrier électronique,
  • Définir le statut d’approbation du contenu,
  • Mettre à jour l’élément de la liste,
  • etc.

De plus, l’assemblage se fait un peu comme un jeu de construction.

Développer un WebPart dynamique pour SharePoint

Dans cet article, vous allez apprendre à Développer un WebPart dynamique qui affiche le nombre de  liste d’un site SharePoint. Aussi, vous verrez comment créer deux listes croisées dans SharePoint.

Préparation de l’environnement de développement

Afin de vous permettre de poursuivre ce cours avec les Tutoriels Microsoft pour le développement, vous pouvez utiliser un site d’équipe SharePoint 2010. Pour les labs, il est accessible via l’URL http://terre/.

Création des deux listes

Tout d’abord, sur ce site, il existe 2 nouvelles listes : Employés et Projets que vous devrez créer à la main et alimenter.

Liste Employés

  • NomComplet : Une seule ligne de texte
  • TitreEmploi : Une seule ligne de texte
  • Equipe : Une seule ligne de texte
  • Contribution : Nombre
  • Projet : Recherche
Liste Projets

  • Titre : Une seule ligne de texte
  • Description : Une seule ligne de texte
  • DateFin : Date et heure
  • Responsable : Recherche

Contraintes : Le champ Employés.Projet pointe sur Projets.Titre. Le champ Projets.Responsable pointe sur Employés.NomComplet.

Avertissement

Débutez par le premier exercice: Développer un WebPart « Hello World ». En effet, les élements présentés en détail dans les exercices précédents ne seront pas réexpliqués par la suite.

Objectif du TP

L’objectif de cet exercice simple est de développer un WebPart dynamique, qui affiche des informations sur les listes d’un site SharePoint 2010.

Développer un WebPart dynamique

Cliquez sur Démarrer > Tous les programmes > Microsoft Visual Studio 2010 puis Exécuter en tant qu’administrateur Microsoft Visual Studio 2010.

Ensuite, sur la page de démarrage de Microsoft Visual Studio 2010, cliquez sur Nouveau projet…

Puis, dans les Modèles installés (sur la gauche), développez Visual C# puis SharePoint, cliquez sur 2010 puis choisir Composant Visual Web Part.

Puis, donnez un nom à votre projet : AffichageListe.

WebPart Dynamique

Par ailleurs, gardez les autres options par défaut puis cliquez sur le bouton OK Dans la fenêtre qui s’ouvre, indiquez le site local (http://terre/) et choisissez de Déployer en tant que solution de batterie.

Puis cliquez sur Terminer.

Enfin, sur la droite apparaît l’Explorateur de solutions. Un WebPart intitulé VisualWebPart1 apparaît.

Ensuite, développez VisualWebPart1 pour faire apparaître le fichier VisualWebPart1.webpart et double cliquez sur ce fichier pour l’ouvrir.

Saisir le code

Par ailleurs, changez le titre en Affichage du nombre de listes. Ce qui donne :
<property name=« Title«  type string>Affichage du nombre de listes</property>

Après, faites un clic droit sur VisualWebPart1.cs, puis sélectionnez Afficher le code.

Donc, dans la classe VisualWebPart1, après la parenthèse ouvrante, saisissez le code suivant :
protected Label lblAffichage; protected Button BtnListes;

Ensuite, dans la méthode CreateChildControls(), après la parenthèse ouvrante, saisissez le code suivant :
Label lblAffichage = new Label(); Controls.Add(lblAffichage);
Controls.Add(new WebControl(HtmlTextWriterTag.Br));
Button BtnListes = new Button(); BtnListes.Text = « Nombre de listes »;
BtnListes.Click += delegate{ lblAffichage.Text = String.Format(« <br>Ce site contient {0} listes. », SPContext.Current.Web.Lists.Count); };
Controls.Add(BtnListes);

Sinon, pour télécharger le code correspondant à affichageliste.visualwebpart1.cs.

Enfin, il ne reste plus qu’à déployer la solution, puis insérer le WebPart dans le site: choisissez le WebPart Affichage du nombre de listes :

Développer un WebPart dynamique
WebPart Dynamique

Remarque : le nombre de 26 est exact car le programme compte aussi les listes maquées dans le navigateur qui n’apparaissent pas lors d’un clic sur Tout le contenu du site. En revanche, ces listes et bibliothèques apparaissent bien avec SharePoint Designer 2010.

Développer un WebPart visuel pour SharePoint qui affiche Hello World

Dans cet article, vous allez développer un WebPart visuel pour SharePoint. Le traditionnel et classique « Hello World ! » va se présenter sous la forme d’un premier WebPart.

Objectif du TP

L’objectif de cet exercice est de Développer un WebPart visuel pour SharePoint, qui affiche « Hello World ! » sur une page d’un site SharePoint.

Pratique

Cliquez sur Démarrer > Tous les programmes > Microsoft Visual Studio 2010 puis Exécuter en tant qu’administrateur Microsoft Visual Studio 2010

Sur la page de démarrage de Microsoft Visual Studio 2010, cliquez sur Nouveau projet…

Développer un WebPart visuel pour SharePoint
Composant Visual Webpart

Dans les Modèles installés (sur la gauche), développez Visual C# puis SharePoint, cliquez sur 2010 puis choisir Composant Visual Web Part

Ensuite donnez un nom à votre projet : HelloWorld.

Composant Visual Webpart

Gardez les autres options par défaut puis cliquez sur le bouton OK

Dans la fenêtre qui s’ouvre, indiquez le site local et choisissez de Déployer en tant que solution de batterie :

Composant Visual Webpart

Puis cliquez sur Terminer. Sur la droite apparaît l’Explorateur de solutions :

Composant Visual Webpart

Un WebPart intitulé VisualWebPart1 apparaît.

Développez VisualWebPart1 pour faire apparaître le fichier VisualWebPart1.webpart et double cliquez sur ce fichier pour l’ouvrir.

Développer un WebPart visuel pour SharePoint
Composant Visual Webpart

Changez le titre en Bonjour Monde !.

Ce qui donne :
<propertyname=« Title« type=« string« >Bonjour Monde !</property>
Faites un clic droit sur VisualWebPart1.cs, puis sélectionnez Afficher le code.

Dans la classe VisualWebPart1, après la parenthèse ouvrante, saisissez le code suivant :
protected Label lblAffichage;
Dans la méthode CreateChildControls(), après la parenthèse ouvrante, saisissez le code suivant :
lblAffichage = new Label(); lblAffichage.Text = « Hello World ! »; Controls.Add(lblAffichage);
Votre code devrait ressembler à :

Composant Visual Webpart

Pour télécharger le code correspondant à VisualWebPart1.cs.

Déploiement de la solution

Grâce au déploiement, le WebPart va être accessible dans le site http://terre/. Pour cela, dans l’explorateur de solutions, faites un clic-droit sur HelloWorld puis cliquez sur Déployer:

Composant Visual Webpart

Une fenêtre de sortie apparaît en bas de l’écran central :

Composant Visual Webpart

Insérer le WebPart dans le site

Lancez Internet Explorer avec l’url http://terre/SitePages/Accueil.aspx. Ensuite, cliquez sur Actions du Site > Modifier la page. Dans les Outils d’édition, cliquez sur Insérer puis Composant WebPart.

Dans les Catégories, sur la droite, cliquez sur Custom et sélectionnez Bonjour Monde ! que vous ajoutez à la page :

Composant Visual Webpart

Puis dans l’onglet Page, cliquez sur Enregistrer et fermer. Le résultat ne se fait pas attendre :

Composant Visual Webpart

Développer un WebPart visuel pour SharePoint

Notez qu’il s’agit d’un « vrai » WebPart. Vous pouvez donc modifier son apparence pour faire changer ou faire disparaître le titre du WebPart (« Bonjour Monde ! ») :

Composant Visual Webpart

Il ne vous reste plus qu’à faire des petites modifications dans le code pour bien comprendre comment il fonctionne: n’oubliez pas de déployer entre chaque modification.

L’intérêt de développer une WebPart est d’intégrer de l’interactivité avec l’utilisateur en charge de la conception du site.

Le prochain exercice, plus élaboré, va manipuler les informations du site SharePoint grâce à un WebPart Dynamique.

Connaissances à savoir pour développer avec SharePoint 2010

Aussi surprenant que cela paraisse, la liste des connaissances à savoir pour développer avec SharePoint 2010 n’est pas excessivement longue, même si elle est assez importante.

Toutefois, la seule disposition indispensable pour développer avec SharePoint 2010 est d’aimer la programmation.

Donc, il faut aimer faire des programmes ou accepter de passer du temps à résoudre des difficultés de développement informatique.

De plus, vous devez savoir savourer la satisfaction d’avoir réussi à développer un programme qui « marche pour tout le monde (pas seulement pour soi…).

Savoirs essentiels à acquérir

Aussi, il est donc nécessaire d’avoir des bases de logiques de programmation:

  • les enchaînements,
  • les conditions (IF… ELSE),
  • les boucles (FOR, WHILE),
  • les appels de fonctions,
  • les notions de constantes, variables, de types de données (INT, CHAR, …).

Aussi, pour acquérir ce savoir, nous vous conseillons le livre de Christophe Dabancourt « Apprendre à programmer : Algorithmes et conception objet » car il aborde aussi la programmation orientée objet, ce qui sera un plus pour la suite.

Mieux encore, il est préférable de connaître un langage Net : VB Net ou C# (de préférence). Pour cela, vous pouvez vous procurer l’excellent livre (s’il n’est pas épuisé) de Michel de Champlain, C# 2.0 : Guide pratique du développeur. Bien qu’il couvre une version ancienne de C#, ce livre expose toutes les notions à connaître en matière d’objets dans Net.

Finalement, les connaissances à savoir pour développer avec SharePoint 2010 s’appuient aussi sur la pratique de SharePoint.

En effet, la pratique de SharePoint avec la connaissance de base de ses objets principaux (collection de sites, sites, listes, webparts, pages web) est indispensable avant de se lancer dans le développement.

Aussi, pour résumer les dispositions et savoirs essentiels nécessaires aux développement avec SharePoint 2010 sont :

  • Aimer la programmation
  • Pratiquer l’algorithmique
  • Savoir les bases de la programmation orientée objet
  • Connaître les bases de Dot.Net
  • Programmer régulièrement le C#
  • Manipuler SharePoint et connaître ses objets principaux

Connaissances à savoir pour développer avec SharePoint 2010

Bien sûr, vous irez plus vite si vous maîtrisez déjà :

  • Le développement en code managé
  • Le framework DotNet
  • Le modèle objet SharePoint
  • Visual Studio 2010

Toutefois, ces savoirs ne sont pas indispensables pour suivre ce cours en ligne.

Donc, si vous possédez les savoirs essentiels, vous êtes prêt pour la première leçon qui vous apprendra comment développer votre WebPart « Hello World ». Forcément…

Connaissances à savoir pour développer avec SharePoint 2010