Ce code va donc ajouter un nouveau bouton dans le groupe « New » des listes génériques. Celui-ci va utiliser deux images. Faites donc un clic droit sur votre projet de choisissez Add > New > SharePoint « Images » Mapped Folder. Toutes les images se trouvant dans ce
Utiliser le dispatcher

Ce code va donc ajouter un nouveau bouton dans le groupe « New » des listes génériques. Celui-ci va utiliser deux images. Faites donc un clic droit sur votre projet de choisissez Add > New > SharePoint « Images » Mapped Folder.
Toutes les images se trouvant dans ce dossier seront automatiquement uploadées dans le dossier système « Images » de Sharepoint. Visual Studio crée automatiquement un dossier du nom de votre projet pour bien séparer vos différents développements. Nous ajoutons ces images dans ce dossier.
Celles-ci doivent être nommées « redo16x16.jpg » et « redo32x32.jpg ». Bien que ces images soient au format jpg, nous vous conseillons d’opter pour des images au format png, ainsi le Ribbon pourra mieux gérer la transparence de celles-ci.
A l’heure actuelle, votre « feature » se contente simplement d’ajouter un bouton dans le Ribbon. Si vous vouliez effectuer des actions lors du clic du bouton, il vous suffirait de lui attribuer une commande et de faire un « CommandUIHandler » interceptant celle-ci pour effectuer différentes opérations.
C’est effectivement une solution, mais ici, nous allons voir comment le faire en passant par un « Page Component ». Comme vous vous en doutez, un « Page Component » est une série d’instructions JavaScript qui vont permettre d’ajouter votre contrôle/groupe/onglet comme élément à part entière du Ribbon. Avant d’aller plus loin dans les explications, faites un clic droit sur votre projet et choisissez Add > New > SharePoint « Layouts » Mapped Folder. Faites ensuite un clic droit sur le dossier créé dans le dossier « Layouts » et faites Add > New Item. Dans la fenêtre qui s’ouvre, sélectionnez « JScript File » et nommez-le « ITProMag.MyPC.js ».
Comme nous l’avons vu précédemment, le Ribbon dispose d’un « dispatcher ». En fait, celui-ci va se charger de rediriger les différentes commandes vers les différents fichiers JavaScript de SharePoint. Il faut voir ce « dispatcher » comme un routeur. Le Ribbon est un ensemble de contrôles pouvant lancer un ensemble de commande. Lorsque l’on va cliquer sur un bouton, le Ribbon va passer la commande au « dispatcher ». De manière simplifiée, celui-ci dispose d’une table des commandes indiquant quelles fonctions JavaScript sont attachées à ces commandes. Ainsi, lorsqu’il reçoit une commande, il exécute directement les fonctions JavaScript attachées à celle-ci.
Pour pouvoir faire cela, le « dispatcher » doit être capable de discuter avec votre « Page Component » comme il le fait avec ceux de SharePoint. Pour cela, nous allons devoir implémenter une « interface » JavaScript pour assurer au « dispatcher » que les commandes qu’il essaye d’exécuter sont bien présentes.
Avant toute chose, pour pouvoir enregistrer votre « Page Component » dans le Ribbon, vous allez devoir attendre que celui-ci soit entièrement chargé, tapez donc ceci dans votre fichier « JavaScript » :
ExecuteOrDelayUntilScriptLoaded(registerMyPC, ‘SP.Ribbon.js’);
function registerMyPC() {
}
Ici, nous allons simplement attendre que le fichier JavaScript relatif au Ribbon (SP.Ribbon.js) soit entièrement chargé. Une fois celui-ci chargé, nous passons le relai à la fonction « registerMyPC » qui va se charger d’enregistrer votre « Page Component » dans le Ribbon. Bien entendu, le code va être légèrement plus compliqué que dans notre ancienne méthode mais sa logique le rend très accessible.
Pour aller plus loin sur iTPro.fr
Développement d’un Page component simple
Implémentation d’une fonction
Utiliser le dispatcher · iTPro.fr
Téléchargez cette ressource

Guide de convergence du SOC et de la sécurité du cloud
Les menaces actuelles ne se cantonnent plus à une seule couche de votre environnement. Ressources cloud, systèmes d’entreprise, applications… elles se déplacent facilement par latéralisation. Pour protéger l’ensemble de votre infrastructure cloud, votre entreprise a besoin d’une approche unifiée qui place les données, la Threat Intelligence pilotée par IA et l’automatisation au service d’une protection complète. Découvrez tous les enjeux de la fusion entre CloudSec et SOC pour assurer une protection plus robuste, plus efficace de votre cloud.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Renouvellement des certificats SSL tous les 45 jours : une mise en œuvre impossible sans automatisation ?
- Palo Alto Networks s’engage sur la cyber solidarité
- Recrudescence des cyberattaques pilotées par l’IA
- Quelles salles de réunion renforcent la dynamique et la confiance d’équipe ?
- L’intelligence collective dans l’ère numérique
