Orchard Harvest 2015 summary

This week, I had the chance to attend the Orchard Harvest conference 2015 in Alicante, Spain.


Bertrand Leroy made a serie of live blogging articles after each sessions.

Here is the whole list with some pictures of each speaker :


Keynote, The CMS of the Future

Speaker : Bertrand Leroy @bleroy, Nicholas Mayne @nicholasmayne




To Avalon and Beyond: Theming at Onestop

Speaker : Jorge Agraz @ministerofdata



Orchard Telemetry with Glimpse

Speaker: Chris Payne, Bede Gaming



Mastering Layouts

Speaker: Spike Schoorstra @sfmskywalker



Using the Search module and APIs

Speaker : Sébastien Ros @sebastienros



Case Study - NFL Players Association

Speaker: Gustavo Tandeciarz @dcinzona



.NET Foundation & The Future of .NET

Speaker: Bertrand Leroy & Martin Woodward @martinwoodward




Mastering Dynamic Forms

Speaker: Spike Schoorstra



Orchard vNext

Speaker : Nicholas Mayne



Orchard for tens of thousands of journalists

Speaker: Zoltán Lehóczky, Benedek Farkas @Lombiq




Introduction to ASP.NET MVC 6 Tag Helpers

Speaker: N. Taylor Mullen @ntaylormullen



Panel, Q&A

Bertrand Leroy, Zoltán Lehóczky, Sébastien Ros



A special thank to the XK project  team that help to organize the event locally.


The videos of the sessions should be available soon.


Orchard Harvest 2015

Rejoignez-nous lors de la conférence Orchard Harvest 2015.

Elle se déroulera les 05 et 06 Octobre 2015 à Alicante en Espagne à l'hôtel Melia.

2 jours pour rencontrer les membres de la communauté Orchard, assister à des sessions présentées par des speakers sur les dernières évolutions et développer votre réseau.

Nous sommes très enthousiastes à propos de cet évènement et nous espérons y rencontrer les membres de la communauté open source du projet Orchard. 

Pour plus d'informations, vous pouvez visiter le site de la conférence Orchard Harvest 2015.


Microsoft Most Valuable Professional ASP.NET/IIS

Ce 1er Juillet, j’ai reçu le mail du programme Microsoft MVP (Most Valuable Professional) m’annonçant que j’étais nommé MVP dans la catégorie ASP.NET/IIS.

Félicitations! Nous sommes heureux de vous remettre la récompense MVP Microsoft® 2014! Cette récompense est accordée aux leaders d'exception de la communauté technique qui partagent activement leur expertise pratique de grande qualité. Nous apprécions vos remarquables contributions dans les communautés techniques ASP.NET/IIS lors de cette année passée.


Vous pouvez consulter mon profil MVP ici :

C’est avec joie que je reçois à nouveau cette récompense, 7 ans après avoir été MVP Visual Basic.

Je suis d’autant plus heureux que mes contributions au projet CMS Open Source Orchard ont été prises en compte.

En effet, depuis le mois d’Avril dernier, le programme MVP s’est ouvert aux contributions Open Source :


Je compte bien continuer à participer à promouvoir le Framework .NET.

La future version d’ASP.NET annonce de nombreuses nouveautés très enthousiasmantes que j’essaierai de faire partager.


Récapitulatif Conférence Orchard Harvest 2014

La 3ème conférence Orchard Harvest a été organisée cette année à Redmond sur le campus de Microsoft du 9 au 11 Juin.


Les participants venus de différents pays ont pu échanger sur leur passion commune durant ces 3 jours très enrichissants

De nombreuses sessions techniques très intéressantes ont été présentées par des interlocuteurs issus de la communautés de développeur du projet Orchard ou de l’équipe ASP.NET.

Plusieurs démonstrations de la prochaine version ASP.Net vNext nous donne une idée des nouveautés qui pourraient être intégrées dans une future version d’Orchard.

Des cases studies et des exemples de sites utilisant Orchard en tant que CMS ou en tant que plateforme qui expose du contenu en REST ont permis de montrer qu’Orchard peut répondre à différents besoins et s’avère très extensible et modulaire..

Cette conférence a une nouvelle fois été l’occasion de partager et de mettre en avant le projet dont l’adoption devrait continuer à s’accélérer dans les mois à venir.

Vous pouvez retrouver une série d’articles sur le blog qui vient d’être migré sous Orchard.


Orchard Harvest 2014

The conference Orchard Harvest 2014 will be held in Redmond at the Microsoft Campus during 3 days from Monday, June 9 to Wednesday, June 11, 2014.


The sessions have been announced and will include many interesting topics like ASP.NET MVC, Azure, Angular JS.

Great speakers from the Orchard team(Sebastien Ros, Bertrand Leroy, Sipke Schoorstra, Lombiq), Microsoft (Eilon Lipton, Damian Edwards, Scott Hunter) and other contributors will share their passion about the project and how they use it with some case studies.

You can register on the web site of the event.


Orchard community member

If you are an active Orchard community member, you have already:

  • Installed the setup a hundred times.
  • Asked 'Do you have repro steps?' on an issue.
  • Added a Twitter Search column looking for 'OrchardCms'.
  • Searched in Google to find some sites "Powered by Orchard".
  • Maintained a OneNote with about 50 tabs of ideas to enhance the project.
  • Voted for a bug and wondered why it wasn't already fixed the day after.
  • Been surprised that 30Mo of source code could represent 2Go when compiled.
  • Displayed the source of a web page to see if the meta Generator is Orchard.
  • Subscribed to the feeds to be notified of the latest issues and discussions.
  • Said to a user that the feature he was looking for was in the 1.x branch.
  • Hated the people that used the reviews and rating to declare a bug.
  • Figured that you had to commit AND push to publish your changes.
  • Asked for an account to translate the resources on the Online Localization tool.
  • Felt disappointed that your issue had been postponed to 'Orchard Future Version'.
  • Attended to almost all Steering Committee Meetings but have never seen Piotr arriving on time.
  • Voted to have a Forum feature on User Voice and waited 2 years that Nick publishes the version 1.0
  • Wondered why a feature didn't work during one hour and realized that you had the detail of the error in the Log file.
  • Retrieved the source code of dozens of Orchard modules from CodePlex, GitHub or BitBucket.
  • Analyzed the growing number of Downloads on the Gallery, Web Platform gallery and Codeplex stats.
  • Taken half an hour to declare an issue and make a patch to fix a typo because 1 character was missing.
  • Began an Orchard theme with any existing Css framework : BootStrap, Metro, UiKit, Pure, Jquery Mobile.
  • Had this little moment of suspense when you retrieve the latest version of the code to se if there are new changes.
  • Discovered what is the origin of the project name. Ok, I'm kidding, noone knows ;-)
  • Wondered if Sebastien was serious or not and remember that is never serious.
  • Laughed seeing how Bertrand sometimes answered to people that forgot the simplest rules of courtesy.
  • Compared the features available with other popular .NET or php CMSs. 
  • Dreamt of a version 2.0 that would be also an Ecommerce platform.
  • Waited for the next version during weeks without knowing when it will be released.
  • Had an idea of module and realized that Lombiq had already done it.
  • Had an idea of blog post and realized that David Hayden as already written one about it.
  • Explained to your client why he should migrate to the next version of Orchard.
  • Explained to your boss why you should attend to a conference in Santa Monica or Amsterdam.
  • Had one of these 'Orchard moment' when you understood how worked Content types, parts, fields, storage, IoC, Migration, Shapes,, dynamic compilation, ...


Orchard Harvest 2013 : Keynote Jour 2

Sebastien Ros a fait un tour d’horizon des évolutions et des nouveautés qu’amènera la prochaine version 1.7 d’Orchard.

Les performances seront améliorées grâce l’abandon de Clay pour charger des objets dynamiques. La quantité de mémoire nécessaire sera réduite et le temps de chargement sera accéléré.

Les recettes (Recipes) pourront maintenant être incluses dans les modules et une page pemrettra de les lister et les exécuter.

La recherche pourra être divisée en plusieurs indexs pour séparer l’indexation des contenus et de leurs propriétés.

De nouveaux layouts seront disponibles pour les projections : Shape et Raw.

Un Shape menu item sera très utile pour définir un élément de menu qui sera définit à partir d’une Shape (typiquement, par un fichier .cshtml dans le thème).

Une validation par script pourra être activer pour déclarer du code C# afin de renvoyer ou non une erreur en fonction de l’élément de contenu publié.
Une syntaxe alternative pour les token ( #{Token} ) permettra d’y accéder dans ce code C#.

L’apparition de Threaded Comments permettra d’obtenir des commentaires hiérarchiques avec des réponses associées.

Certains modules externes ont été intégrés dans les modules disponibles par défaut : Orchard.Taxonomies, Orchard.OutputCache.

Enfin, les nouvelles fonctionnalités qui apparaîtront dans la version 1.7 ont été présentées :


Ce tout nouveau module donnera la possibilité de déclarer des évènements qui déclencheront des tâches ou des activités via un éditeur avec des éléments à glisser-déposer et paramétrer manuellement. Il sera ainsi très simple de mettre en place un mécanisme d’approbation de contenu avec envoi de mail, vérification de rôles, notification.

Media library

Une interface améliorée de gestion des medias permettra d’organiser, d’importer et d’éditer les fichiers comme les images. Tout média s’apparentera ainsi à un élément de contenu à part entière. De plus, la plupart des éléments sont extensibles, ce qui autorise par exemple de développer son propre mécanisme d’import depuis des services externes (SkyDrive, DropBox,…).

Des media profiles permettront quant à eux de générer des transformations lors de l’upload d’images pour par exemple redimensionner, générer une vignette, …


Pour finir, il a été question de la vNext et des futures évolutions apportées à la plateforme :

  • Nouveau Default theme.
  • Amélioration de l’administration
  • Déploiement de contenu
  • Layout de page ; Builder
  • Evolution du site Web Orchard.
  • Nouvelle implémentation de la galerie.


Conférence Orchard Harvest 2013 à Amsterdam : Jour 1

La première conférence européenne organisée par la communauté Orchard s’est déroulé Jeudi 13 et Vendredi 14 Juin 2013 à Amsterdam au Tobacco Theatre.

80 participants de 17 pays différents ont pu assister aux sessions présentées par plusieurs speakers sur des sujets relatifs au développement de sites web avec le CMS ASP.NET MVC Orchard.

9h – 9h45 Keynote : State of Orchard

La matinée a commencé avec une intervention d’Ylan Kunstler qui a consacré beaucoup de temps à l’organisation de cet évènement et a ainsi rappelé à quel point il était important de se réunir pour échanger et rencontrer de nouvelles personnes afin de développer la communauté Orchard.

Bertrand Le Roy a ensuite déroulé un historique des versions successives du CMS et des fonctinnalités implémentées au fur et à mesure.
Il a mis en avant les statistiques croissantes de ces derniers mois qui montrent l’intérêt des développeurs pour le projet :

  • Téléchargements sur Codeplex et la Web plateforme galerie.
  • Nombre de discussions sur le forum et sur StackOverflow.
  • Nombre de modules et de thèmes et de téléchargements de la Galerie Orchard.

10h – 10h45 Responsive Web Design & Beyond

Beatriz Oliveira de Bind Tuning a abordé le sujet des design responsives en introduisant plusieurs techniques pour rendre un site adaptatif en fonction des résolutions.

Cela passe par l’utilisation de layouts avec des Fluid grids (ex : YU, Silmple Grid, 1140 grid).
Le redimensionnement des images, du texte ou des tableaux peut aussi s’adapter à la largeur du navigateur grâce à des styles css ou des plugins javascript.

Les media queries sont bien sûr le meilleure moyen de définir l’affichage des éléments selon la résolution.
La navigation en particulier peut faire appel à des types de menus qui conviennent mieux à des écrans plus petits (Slect menu, Toggle, Left nav Flyout, …).

De nombreux frameworks CSS existent avec des styles prédéfinis qui répondent bien à ce type de design :

  • Bootstrap
  • Foundation
  • Pure Css

11h – 11h45 The natural relationship of MV* JS Frameworks and the Orchard ecosystem

Steve Taylor a fait une démonstartion de plusieurs frameworks Javascript (Angular.js, Backbone) et de la façon de consommer des informations côté client et de les afficher sous Orchard avec des patterns de développement MVC, MVVM.

12h – 12h45 Case study : Architecting a high traffic consumer facing website

Jai Prakash a expliqué comment ils utilisaient Orchard en tant que service de gestion de contenus afin de gérer un site avec un traffic important.

Il a détaillé l’architecture technique du projet et donner quelques conseils à propos de l’amélioration des performances.

14h – 15h30 Module development – understanding concepts and advanced applications

Sipke Schoorstra a tenu une session technique avancé sur le développement de module en détaillant toutes les étapes de création d’un Placeholder widget qui permet de réutiliser un contenu à diffréents endroits du site.

Il a également créé des classes de test unitaires avec NUnit et Mock.

Enfin, il a donner des exemples pratiques de Recipes (recette) et décrit comment packager son projet à l’aide lde l’outil en ligne de commande.

15h45 – 16h15 Case study - Forums module: how it was constructed and how you can extend it

Nicholas Mayne nous a donné un aperçu du module Forums :

Il a expliqué la structure et les types de contenu ainsi que d’autres modules activés dans son thème : Inline editing, OAuth, …

16h30 – 17h30 Panel – A conversation with core contributors

Pour conclure la journée, une séance de questions réponses a eu lieu avec des membres du comité de développeurs.

Des sujets ont été abordés comme la compilation dynamique, la mise en cache ou encore la date de sortie de la version 1.7.

A noter que cette release est prévue très prochainement et contient de nombreuses nouvelles fonctionnalités dont certaines ont été présentées lors de la seconde journée.


Orchard Harvest 2012 Sessions : Day 2

Voici les résumés de quelques sessions qui se sont déroulées le Dimanche 9 Septembre 2012, lors du 2ème jour de la conférenceOrchard Harvest.

Case Study - Media Garden

11:00 am - 11:45 am : Pete Hurst

Pete nous a fait une démonstration d’un site utilisant le module Media Garden :

Il gère grâce à celui-ci différents type de médias (Vidéos, Audio, Images) et des fonctionnalités comme le redimensionnement de vignettes ou le streaming de vidéos.


14:00 am - 14:45 am : Bertrand Leroy (@bleroy)

Bertrand nous a fait des démonstrations du module de Projector qui donne la possibilité de faire des requêtes sur les éléments de contenus, d’y appliquer des filtres sur les données et de les afficher avec une certaine disposition (layout).

Il a ainsi expliqué les notions de liaisons (Bindings) qui permet d’ajouter des propriétés de pièces et des champs existants à celles déjà existantes afin d’enrichir la liste de filtres à disposition.

Certains layouts proposent aussi de paramétrer une liste de propriétés avec des options spécifiques qui agissent sur leur moment de l’affichage.

Cette personnalisation des propriétés passe parfois par l’utilisation des tokens qui vous aident à formater les chaînes affichées et à faire appel à des sorte de balises, similaires aux short codes qu’on retrouve dans WordPress.

Search engine optimization

3:00 pm - 3:45 pm : Zoltán Lehóczky (Orchard Project Hungary)

Zoltán nous a donné quelques conseils concernant la SEO (optimisation du référencement pour les moteurs de recherche).

Il rappelle que pour mesurer le traffic, il est toujours intéressant d’insérer un script d’Analytics ainsi que les metas qui permettent à des services comme Web Master Tools d’analyser les visites sur le site.

La structure des contenus a également un impact sur les moteurs de recherche.

La configuration d’un fichier Robots.txt aide à spécifier la façon de parcourir les pages du site.

Des urls conviviales (obtenus à l’aide du module Autoroute) peuvent aussi améliorer le référencement. 

Un fichier .sitemap permettra quant à lui d’indiquer au moteur d’exploration quelles urls il doit parcourir en priorité et y revenir régulièrement.

Enfin, les balises méta de Keywords et de Description restent encore le meilleur moyen de paramétrer les informations à afficher dans les résultats de recherche.

Quelques démos ont ainsi été présentées pour montrer le fonctionnement du module OneStop.SEO qui permet de gérer facilement ces balises. Il devrait être mis à disposition prochainement dans la galerie de modules Orchard.

Migrating a website to Orchard

4:00 pm - 4:30 pm : Benedek Farkas (@FarkasBenedek)

Benedek a présenté la façon de migrer un site WordPress vers Orchard, qu’il s’agisse de l’import des articles existants ou de la création d’un thème Orchard à partir d’un thème WordPress.

Une des solutions d’import est d’ude passer par le format BlogML. Pour cela, vous pouvez vous aider de l’outil WPBlogML ( Il vous permettra d’exporter des portions ou la totalité des posts de votre blog WordPress.

Il vous suffit ensuite d’utiliser le module Orchard Import Export Module for external schemas de Nicholas Mayne(@NicholasMayne) pour importer les posts.

Il est également possible d’adapter des thèmes WordPress afin d’obtenir un design similaire dans Orchard.

Un exemple de thème migré vers Orchard est celui de TheJournalist, adapté par Sébastien Ros et Lucian E. Marin.

Ces sessions étaient donc très intéressantes et sur des sujets très variés associés à des fonctionnalités disponibles dans Orchard, ce qui montre bien l'étendue des possibilités de ce CMS.

Si vous avez des questions, n’héistez pas à poster un commentaire.


Orchard Harvest 2012 : Performance

Dimanche 9 Septembre, 11:45 am - 12:30 pm

Speaker : Sébastien Ros (@sebastienros)

Cette session avait pour objectif de présenter les fonctionnalités liées à l’amélioration des performances d’un site Orchard.

Performances d’un site

Il faut tout d’abord bien comprendre que l’utilisation moyenne d’un site (en nombre de visites et de pages) peut être très différente en fonction des pics d’utilisation qui peuvent intervenir à certaines périodes (et qu’ils soient prévus ou inattendus).

C’est pourquoi il faut que votre environnement soit élastique et puisse s’adapter à ce genre de baisses ou de montées d’activité du site.

L’indicateur principal sur lequel se base le visiteur pour déterminer si la navigation dans un site est performante, est le temps moyen de chargement des pages (et plus particulièrement le temps de chargement ressenti).

Scalabilité d’un site

La scalabilité est justement le terme qui désigne la capacité de votre site à s’adapter à une augmentation du flux de visiteurs.

Pour présenter les choses simplement, il y a 2 façons dont la charge peut être supportée :

  • La charge serveur (verticale) : on fait évoluer le serveur pour supporter la montée en charge (Mémoire, CPU, …).
  • Le nombre de serveurs (horizontale) : on ajoute des serveurs (ex : ferme de serveurs, cloud computing) pour répartir la charge.

L’augmentation de la charge a des impacts à plusieurs points clés :

L’utilisation de la mémoire et du processeur: le processus qui exécute le site web est mis à contribution en fonction du nombre d’appels de pages.

La base de données : Les requêtes vers les tables permettent de récupérer les contenus stockées, les paramètres du site ou les définitions des types de contenus.

Un élément important à ne pas négliger concerne le temps de démarrage du site (après un redémarrage par exemple, voulu ou non). Sur ce point, un des atouts d’Orchard est de proposer un module Warmup qui fait en sorte de stocker des versions des pages importantes (qu”on spécifie), ce qui permet de les afficher plus rapidement lors d’un redémarrage.

Mesures des performances

Il existe de nombreux outils qui peuvent vous aider à mesurer les performances :

  • Visual Studio performance Tools
  • Mini profiler : un module qui vous liste les temps d’appels de chauqe méthode.
  • Web Capacity Analysis Tool (WCAT) : un outil simple pour faire des requêtes Http (Voir Orchard.Profile et le fichier Go.cmd)

Un test encore plus basique est d’utiliser l’outil de développement Web de votre navigateur qui fournit souvent un onglet pour afficher le temps de chargement de chaque fichier. En regardant les résultats renvoyés, on peut déterminer quelles ressources prennent le plus de temps en fonction de leur taille ou de leur délai de livraison. Il distingue aussi parfois le temps de chargement ressenti (zone rouge pour montrer à partir de quelle moment la page est consultable).

Pour une navigation agréable dans le site, il est conseiloé que ce temps de chargement de page ressenti ne soit pas supérieur à 600 ms.

Il existe des services similaires en ligne, comme gtmetrix qui utilise les recommandations de YSlow ou Page Speed pour analyser les pages de votre site et vous conseiller des améliorations. C’est d’autant plus important quand on sait que les moteurs de recherche peuvent aussi prendre en compte ce temps de chargement dans le référencement et donc le positionnement du site dans les résultats de recherche.

Amélioration des performances

Les développeurs Orchard essaient toujours de garder à l’esprit que de bonnes performances sont un pré-requis important dans l’utilisation d’un CMS.

C’est pourquoi ils essaient continuellement d’améliorer ces performances là où c’est nécessaire ou de proposer des fonctionnalités qui permettent d’accélérer la consultation des pages ou la charge du serveur.

Cela passe parfois par des optimisations de requêtes en base de données (ex : utilisation de GetMany(), …).

La notion de mise en cache (Caching) est aussi un élément central pour diminuer le nombre de requêtes.

Il existe plusieurs niveaux et mécanismes de cache :

  • Application Caching : En implémentant ICacheManager, on a ensuite la possibilité d’utiliser la classe Signal pour gérer des objets en cache.
  • Static Caching : avec le module Contrib.Cache, il est assez simple d’activer et de mettre en mémoire des éléments de contenus.
  • Reverse proxy caching : avec IIS, Application Request Routing (ARR) qui améliore les performances pour distribuer du contenu ou des ressources statiques

Comme vous le voyez, l’amélioration des performances peut se faire à plusieurs niveaux. Un site performant et qui supporte les montées en charge peut faire la différence dans la manière dont les visiteurs l’adoptent et le parcourent.

Si vous avez des questions concernant Orchard et les performances, n’hésitez pas à poster un commentaire.