Qu’est-ce que les T4 Templates?

Il y a de ces petits bouts de technologie où vous vous dites que vous devriez prendre plus de temps pour y faire le tour. Un de ces cas est la création de fichiers générés à l’aide de gabarits T4.

Qu’est-ce qu’un gabarit T4? En premier lieu, T4 est l’acronyme de Text Template Transformation Toolkit. Il s’agit d’un module permettant la génération de texte basé sur des gabarits programmés. C’est exactement par là notion de gabarits programmés qui rend les T4 intéressants.

Vous avez une idée des possibilités à portée de main? Vous pouvez programmer des gabarits à l’aide de tout l’arsenal que vous offre le langage C#. C’est à dire, par exemple, générer des fichiers de code, basés sur une requête de base de données, que vous pourrez compiler par la suite afin de réduire le temps de transcription de propriétés.

Cette technique est présente dans le monde .NET depuis déjà un bon moment. Vous vous souvenez qu’ASP.NET MVC génère automatiquement le contenu d’une vue fortement typée sur un modèle? Hé bien, cette fonctionnalité est justement basée sur les T4.

Le système des T4 en un seul exemple

Quoi de mieux qu’un bout de code pour illustrer ce qu’il est possible de faire avec les T4. Avant tout, il faut savoir qu’il y a deux types de gabarits:

  • Run-Time: génère du code qui est basé sur le gabarit que vous aurez écrit. Notamment, cela permet de compiler votre gabarit et de le référencer par programmation.
  • Texte: ce qui sera généré sera un simple fichier texte.

Ceci étant dit, mon exemple sera basé sur le modèle du gabarit de fichier texte afin de garder ça simple.


<#@ template language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<# for(var i = 0; i<=10;i++) { #>
<#= i #>
<# } #>

view raw

t4.cs

hosted with ❤ by GitHub

Une fois généré, ce gabarit va écrire les chiffres 0 à 10 sur une ligne individuellement.

Votre imagination est la seule limite

La première utilisation des gabarits T4 à considérer est l’échafaudage de code comme le fait déjà ASP.NET MVC. À chaque fois que vous devez copier/coller du code ou même dupliquer une structure en faisant varier le nom, l’utilisation des gabarits T4 serait à considérer.

L’exemple d’ASP.NET MVC de l’utilisation des T4 est super pertinent, car ce n’est pas seulement les fichiers de code C# qui peuvent être générés automatiquement. Vous pouvez penser aussi à générer des vues automatiquement, par exemple, et ce n’est pas tout! Vous pouvez même personnaliser les gabarits qui sont livrés avec MVC.

Il est difficile de résumer l’utilisation des gabarits T4 en quelques paragraphes. L’engin est puissant et permet d’accomplir beaucoup et d’en tirer beaucoup de bénéfices dans la mise en place de solutions logicielles .NET. Je crois que cela vaut la peine d’être exploré dans beaucoup de situations. Profitez-en, c’est gratuit!

Sources

Publicité

Auteur : Pascal Paradis

Je suis les mains et le cerveau derrière http://frenchcoding.com. Je développe des microservices chez @UbisoftMTL. Amateur de Hockey et j'aime la technologie, en général.

Une réflexion sur “Qu’est-ce que les T4 Templates?”

Laisser un commentaire

Entrer les renseignements ci-dessous ou cliquer sur une icône pour ouvrir une session :

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

%d blogueueurs aiment cette page :