ASP.NET 4.0 – Transformation du fichier Web.config

by Fabien Lavocat 11. May 2010 08:43

ASP.NET 4.0Parmi toutes les nouveautés de la version 4.0 d’ASP.NET, la possibilité d’avoir des fichiers de configuration (Web.config) par type de build (Debug, Release…) est tout simplement excellente !
Il n’est plus nécessaire d’avoir son fichier Web.config en local avec sa connexion à la base de données de sa machine, et un autre fichier que l’on modifie sur le serveur qui contient la chaîne de connexion à la base de données de production. Lorsque vous créez une application ASP.NET avec le .NET Framework 4.0, vous aurez un fichier Web.config qui contient votre chaîne de connexion à la base de données locale, et toutes les informations dont vous avez besoin (AppSettings…).

Prenons l’exemple d’un fichier de configuration qui contient la chaîne de connexion suivante :

Ce fichier contient également deux sous-fichiers joints :

Le fichier Web.Debug.config est utilisé lorsque l’on est en mode Debug, et logiquement, le fichier Web.Release.config est utilisé en mode Release. Bien sûr, si vous avez une chaîne de développement plus complexe, à savoir des environnements de staging, de test… vous pouvez créer ces modes dans le Configuration Manager, dans le menu Build | Configuration Manager.

image

Ces fichiers dédiés à un environnement de configuration est différent du fichier de base. En effet, un fichier de configuration sera généré en prenant le fichier de base (Web.config) puis en lui appliquant une série de transformation XML Document Transform (XDT).

Dans notre exemple, je vais remplacer (xdt:Transform=”Replace”) la chaîne de connexion à la base de données (champs ‘connectionString’), lorsque la condition xdt:Locator=”Match(name)” est vrai.
C’est à dire que je vais remplacer ma chaîne de connexion qui est nommée 'cnx’ par le champs ‘connectionString’ ci-dessus.

Parmi les possibilités de transformation, on retrouve la possibilité de supprimer une entrée (Remove), supprimer toutes les entrées (RemoveAll), ajouter une nouvelle entrée (Insert), définir de nouveaux attributs (SetAttributes), supprimer des attributs (RemoveAttributes)…

Lien MSDN pour la syntaxe de transformation d’un fichier de configuration.
Je vous recommande également le blog de Vishal Joshi qui explique en détail (et en anglais) toutes ces informations.

Tags:

Tutoriaux .NET

VSTO - Création d’un complément pour Microsoft Office 2007

by Fabien Lavocat 8. September 2009 04:00

image Cet article a pour but de vous présenter comment créer rapidement un complément à Microsoft Office 2007 qui viendra s’ajouter dans le ruban. Nous allons donc créer un projet de type Complément Excel 2007 dans Visual Studio 2008. Il est possible de créer des compléments pour InfoPath, PowerPoint, Visio, Excel, Outlook, Project et Word.

clip_image002

Vous devriez obtenir une classe nommée ThisAddIn qui contient deux méthodes :

private void ThisAddIn_Startup(object sender, System.EventArgs e)

Celle-ci est appelée au démarrage du complément. C’est ici que vous pouvez initialiser vos variables par exemple, qui seront utilisées lors de l’utilisation des fonctionnalités du complément.

private void ThisAddIn_Shutdown(object sender, System.EventArgs e)

Cette méthode est appelée à la fermeture du complément. Vous procéderez ici à la libération de la mémoire utilisée par votre complément.

Nous allons créer un ruban personnalisé. Pour cela, deux méthodes. La première est d’utiliser le concepteur visuel en ajoutant un nouvel élément de type Ruban (Concepteur visuel) :

clip_image004

Je personnalise un peu le ruban avec le thème du rugby :

clip_image006

Tout fonctionne exactement comme en Winform, à savoir que si vous double cliquez sur un bouton, Toulouse par exemple, vous allez obtenir la méthode d’abonnement à l’événement Click du bouton btToulouse :

private void btToulouse_Click(object sender, RibbonControlEventArgs e)

Il ne reste plus qu’à développer votre application derrière. Si on lance la compilation et l’exécution du complément, Excel 2007 se lance et nous obtenons bien le nouveau complément :

clip_image008

Pour utiliser les images d’Office comme ce que j’ai fait sur l’image ci-dessus, télécharger le fichier : http://www.microsoft.com/downloads/details.aspx?familyid=4329D9E9-4D11-46A5-898D-23E4F331E9AE&displaylang=en puis récupérer les ID des boutons que vous souhaitez récupérer, et définissez le code à la propriété OfficeImageId de votre bouton :

clip_image010

Maintenant, essayons la même chose avec le Ruban (XML) mais sur le thème du foot. On ajoute un nouvel élément de type Ruban (XML). Attention, vous n’allez pas pouvoir combiner le Ruban XML avec le Ruban (Concepteur visuel) que nous avons créé plus tôt, dans le même complément.

clip_image012

La première chose à faire est d’ajouter la méthode suivante à la classe ThisAddIn :

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
  return new RibbonXML();
}

Cette méthode nous permettra de définir le ruban qui sera chargé à savoir pour mon cas RibbonXML. Passons maintenant à la personnalisation du Ruban (XML) :

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load">
<ribbon>
    <tabs>
        <tab idMso="TabAddIns" label="Foot">

            <group id="groupL1" label="L1">
                <button id="btLyon" label="Lyon" size="large" imageMso="ChartTypeLineInsertGallery" />
                <button id="btBordeaux" label="Bordeaux" size="large" imageMso="ChartTypeLineInsertGallery" />
            </group>

            <group id="groupL2" label="L2">
                <button id="btCaen" label="Caen" size="large" imageMso="ChartTypeLineInsertGallery" />
                <button id="btClermont" label="Clermont" size="large" imageMso="ChartTypeLineInsertGallery" />
            </group>

        </tab>
    </tabs>
</ribbon>
</customUI>

Ce qui nous donne le résultat suivant :

clip_image014

Pour s’abonner à l’événement Click d’un bouton, la procédure est différente, en effet nous n’avons pas d’interface graphique pour faire comme précédemment. Il n’y a pas non plus d’événements dans la liste des possibilités d’attribut XML comme nous aurions dans un code XAML (WPF). Nous allons donc utiliser l’attribut onAction pour y spécifier le nom de la méthode que nous allons écrire juste après.

clip_image016

Nous allons écrire la méthode qui sera appelée lorsque l’utilisateur cliquera sur le bouton :

public void btBordeaux_Click(Office.IRibbonControl control)
{
    MessageBox.Show("Bordeaux sera champion de France");
}

Il vous faudra écrire cette méthode sans aucune assistance de la part de Visual Studio pour la signature de celle-ci, attention donc à ne pas faire d’erreur.

Tags:

Microsoft Office | Tutoriaux .NET

Projet CodePlex – Number 2 Letters – v1.2

by Fabien Lavocat 11. August 2009 23:00

CodePlex

Je viens de publier une nouvelle mise à jour pour le projet Number2Letters sur CodePlex. Celui-ci passe en version 1.2 avec son petit lot de nouveautés.

La première nouveauté, j’en ai parlé dans mon dernier article, il s’agit de la localisation de l’interface WPF en Français, Anglais, Espagnol, Italien et Russe. Ensuite grâce à mon collègue Vitaly Zayko, le formateur Russe est disponible. Les langues disponibles pour les formateurs sont : Français (France, Belgique, Suisse), Anglais (US), Allemand, Espagnol, Italien et Russe.

Number 2 Letters - Russe

 

Liens :

Tags: ,

Tutoriaux .NET

Projet CodePlex – Number 2 Letters – v1.1

by Fabien Lavocat 27. July 2009 23:00

CodePlex

Je viens de publier une mise à jour pour le projet Number2Letters sur CodePlex.
Pour rappel, il s’agit d’une bibliothèque qui permet de traduire des nombres en lettres dans plusieurs langues.
Maintenant, les langues disponibles sont : Français (France, Belgique, Suisse), Anglais (US), Allemand, Espagnol et Italien. Le Russe devrait arriver prochainement. Si vous connaissez une autre langues, n’hésitez pas à participer au projet et écrire votre propre formateur.

Le client WPF a également subit une petite mise à jour pour prendre en charge l’Italien.

N2L

Liens :

Tags: ,

Tutoriaux .NET

Projet CodePlex – Number 2 Letters

by Fabien Lavocat 6. July 2009 04:57

logo-home

Je viens de publier mon premier projet sur CodePlex. Il s’agit du projet Number2Letters, une bibliothèque écrite en C# et permettant de traduire des nombres en lettres dans plusieurs langues. Pour le moment, il est possible de traduire les nombres de –2 147 483 648 à 2 147 483 647 (toute la plage des Int32) mais sans les valeurs décimales. Les langues disponibles sont : Français (France, Belgique, Suisse), Anglais (US), Allemand et Espagnol. Le Russe et l’Italien seront prochainement intégrés au projet.

Vous trouverez, inclus au projet, une documentation vous expliquant comment utiliser cette bibliothèque et également comment l’étendre pour ajouter des parseurs (1 parseur == 1 langue;)

J’ai également créé un outil WPF qui permet de tester les différents parseurs :Number 2 Letters

Cet outil peut être également téléchargé sur la page du projet CodePlex.

Liens :

Tags: ,

Tutoriaux .NET

LINQ to SQL (Partie 9 – Utiliser une expression LINQ personnalisée avec le contrôle <asp:LinqDataSource>)

by Fabien Lavocat 10. May 2009 23:00

LINQ to SQL

[L’article ci-dessous est la traduction de l’article de Scott Guthrie]

Au cours des dernières semaines j'ai écrit une série d’articles sur LINQ to SQL. LINQ to SQL est un O/RM intégré (object relational mapper) qui est fourni dans le .NET Framework 3.5, et qui vous permet de modéliser facilement des bases de données relationnelles à l'aide des classes .NET. Vous pouvez utiliser des expressions LINQ pour interroger la base de données, ainsi que mettre à jour / Insérer / Supprimer des données.

Voici les sept premières parties de ma série d’articles sur LINQ to SQL :

Dans la Partie 5 de cette série, j’ai introduit le nouveau contrôle <asp:LinqDataSource> dans .NET 3.5 et montré comment vous pouvez l’utiliser pour facilement lier des contrôles ASP.NET de l’interface utilisateur aux modèles de données LINQ to SQL. J’ai également démontré comment utiliser un peu plus en détail le nouveau contrôle <asp:ListView> (Part 1 - Building a Product Listing Page with Clean CSS UI en anglais).

Dans ces deux articles les requêtes que j'ai effectuées étaient relativement simples (la clause WHERE ne travaillait que sur une seule table de données). Dans l’article d'aujourd'hui, je vais montrer comment utiliser les expressions de requête LINQ complètes avec le contrôle LinqDataSource et montrer comment vous pouvez utiliser toute expression de requête LINQ to SQL avec.

[Lire la suite sur MSDN]

Tags: ,

Tutoriaux .NET

LINQ to SQL (Partie 8 – Exécuter des expressions SQL personnalisées)

by Fabien Lavocat 3. May 2009 23:00

LINQ to SQL[L’article ci-dessous est la traduction de l’article de Scott Guthrie]

Au cours des dernières semaines j'ai écrit une série d’articles sur LINQ to SQL. LINQ to SQL est un O/RM intégré (object relational mapper) qui est fourni dans le .NET Framework 3.5, et qui vous permet de modéliser facilement des bases de données relationnelles à l'aide des classes .NET. Vous pouvez utiliser des expressions LINQ pour interroger la base de données, ainsi que mettre à jour / Insérer / Supprimer des données.

Voici les sept premières parties de ma série d’articles sur LINQ to SQL :

Dans mes deux derniers articles (Partie 6 et Partie 7) j'ai démontré comment vous pouvez éventuellement utiliser des procédures stockée de base de données pour interroger, insérer, mettre à jour et supprimer des données à l'aide d'un modèle de données LINQ to SQL.

L'une des questions que quelques personnes m'ont posées depuis le début de ces articles est « qu'en est-il si je veux avoir un contrôle total sur les expressions SQL utilisé par LINQ to SQL – mais que je ne veux pas utiliser les procédures stockées pour cela ? ». L’article d’aujourd’hui traitera cela – et je vous montrerai comment vous pouvez utiliser des expressions SQL personnalisées que vous fournissez pour remplir vos classes du modèle de données LINQ to SQL, ainsi que pour exécuter, insérer, mettre à jour et supprimer.

[Lire la suite sur MSDN]

Le dernier article arrivera dès la semaine prochaine.

Tags: ,

Tutoriaux .NET

LINQ to SQL (Partie 7 – Mettre à jour notre base de données en utilisant les procédures stockées)

by Fabien Lavocat 26. April 2009 23:43

LINQ to SQL [L’article ci-dessous est la traduction de l’article de Scott Guthrie]

Au cours des dernières semaines j'ai écrit une série d’articles sur LINQ to SQL. LINQ to SQL est un O/RM intégré (object relational mapper) qui est fourni dans le .NET Framework 3.5, et qui vous permet de modéliser facilement des bases de données relationnelles à l'aide des classes .NET. Vous pouvez utiliser des expressions LINQ pour interroger la base de données, ainsi que mettre à jour / insérer / supprimer des données.

Voici les six premières parties de ma série d’articles sur LINQ to SQL :

Dans la partie 6 j’ai démontré comment vous pouvez éventuellement utiliser les procédures stockées de base de données et les fonctions définies par l’utilisateur (UDF) pour interroger et récupérer des données en utilisant votre modèle de données LINQ to SQL. Dans cet article, je vais montrer comment vous pouvez également utiliser les procédures stockées pour mettre à jour / insérer / supprimer des données de la base de données.

[Lire la suite sur MSDN]

Un grand merci à Isabelle Le Guay qui m’a énormément aidé pour cette traduction. Les deux derniers articles arriveront dès la semaine prochaine.

Tags: ,

Tutoriaux .NET

LINQ to SQL (Partie 6 – Récupérer des données en utilisant les procédures stockées)

by Fabien Lavocat 23. December 2008 22:00

[L’article ci-dessous est la traduction de l’article de Scott Guthrie]

Au cours des dernières semaines j'ai écrit une série d’articles sur LINQ to SQL. LINQ to SQL est un O/RM intégré (object relational mapper) qui est fourni dans le .NET Framework 3.5, et qui vous permet de modéliser facilement des bases de données relationnelles à l'aide des classes .NET. Vous pouvez utiliser des expressions LINQ pour interroger la base de données, ainsi que mettre à jour / insérer / supprimer des données.

Voici les cinq premières parties de ma série d’articles sur LINQ to SQL :

Dans les articles précédents sur LINQ to SQL, j’ai démontré comment vous pouvez utiliser les expressions de requêtes LINQ pour récupérer des données par programmation dans une base de données.

Dans l’article d’aujourd'hui, je vais montrer comment vous pouvez également utiliser procédures stockée dans la base de données (SPROCs) et les fonctions définies par l’utilisateur (UDF) avec votre modèle de données LINQ to SQL. L’article montrera précisément comment appeler des SPROCs pour interroger et récupérer des données de la base de données. Dans mon prochain article je vous montrerez comment vous pouvez éventuellement utiliser des SPROCs pour mettre à jour/Insérer/supprimer dans la base de données.

[Lire la suite sur MSDN]

Tags: ,

Tutoriaux .NET

Lancement de la communauté Dotnet France dans le milieu des certifications

by Fabien Lavocat 8. December 2008 09:43
dotnetfrance

 

J’ai le plaisir de vous annoncer le lancement public de la communauté Dotnet France ! Il ne s’agit pas d’une communauté de plus parmi les dizaines, voir les centaines de communautés qui fleurissent sur la toile chaque jour. Celle-ci vous propose dès à présent et gratuitement, des cours et des entrainements aux certifications Microsoft pour le monde du développement.

Qui est derrière Dotnet France ?

Dotnet France est une association montée par 3 étudiants de SUPINFO Toulouse : Julien Dollon, Laurent Assis-Arantes et Bertrand Vergnault que j’ai eu le plaisir de former aux technologies .NET l’année dernière à Toulouse. Ensuite, après les membres fondateurs de ce projet, vous retrouverez des dizaines de rédacteurs pour écrire les cours et les questions.

Que vous propose Dotnet France ?

Dotnet France vous met à disposition gratuitement des cours très complets et très détaillés sur les dernières technologies de développement Microsoft, du .NET Framework 2.0 au XNA, en passant par le .NET Framework 3.5 ou SharePoint ou même encore Mono. Ces cours vous seront très utile si vous souhaitez passer des certifications Microsoft dans le but de justifier votre expérience professionnelle sur votre CV.

Technologies utilisées pour Dotnet France ?

Dotnet France ne pourrait pas vous donner des cours sur les technologies Microsoft sans les utiliser. Vous trouverez donc un site, un forum et une plateforme de blog créé en ASP.NET et hébergé sous Windows Server 2008. Le moteur de passage des tests de certification est quand à lui magnifiquement réalisé en Silverlight 2.

Que faire après avoir lu cette news ?

Il ne vous reste plus qu’à vous rendre sur le site Dotnet France afin de vous rendre compte par vous même le magnifique travail de cette jeune équipe Toulousaine (Décidément, ils sont fort ces Toulousains)

Dotnet France

[Mise à jour] N'oublions pas les deux membres fondateurs de cette communauté : Sylvain Terrenes et Olivier Courtois.

Tags:

Certifications | Silverlight | Tutoriaux .NET

About

Fabien Lavocat

Lavocat Fabien
Ingénieur Multimédia - TMM Communication



"Blog-Microsoft.fr is an independent blog and is not affiliated with, nor has it been authorized, sponsored, or otherwise approved by Microsoft Corporation."

Contactez-moi Send mail

MVP
Microsoft Most Valuable Professional
Client Application Development