Allez, passons aux travaux pratiques ! Après mes deux articles précédents (ici et là), nous allons apprendre à nous connecter à Mezzoteam.
Dans Visual Studio, créez un nouveau projet. Nous allons choisir Application Windows Forms, et choisir un nom, par exemple MezzoConnect.

Nouveau projet Visual Studio
Après avoir cliqué sur OK, l’interface du projet s’affiche, avec un formulaire créé par défaut. Nous allons ajouter le fichier d’interface avec les services web de Mezzoteam que nous avions généré dans l’article précédent (vous pouvez également le télécharger ici). Il vous suffit de cliquer sur le nom de votre projet (MezzoConnect), et de choisir Ajouter / Elément existant, comme montré ci-dessous :

Ajout du fichier d'interface des services web
Une fois le fichier ajouté, il faut encore ajouter la référence au composant .NET qui va nous permettre d’utiliser des services web dans notre application. Pour cela, faites une clic droit sur le dossier References dans l’explorateur de solutions, et ajoutez le composant System.Web.Services comme montré ci-dessous.

Ajout du composant System.Web.Services
Formulaire de saisie
Nous allons maintenant créer notre formulaire, qui comprendra deux champs de saisie et deux labels pour l’identifiant et le mot de passe, et un bouton pour lancer la connexion. Tous ces contrôles sont disponibles dans la boite à outils, que vous faites apparaître en cliquant sur le bouton vertical situé à gauche de votre écran. Vous pouvez conserver la boite à outils à l’écran en l’épinglant (petite icône d’épingle située dans la barre de titre de la boite à outils).

Formulaire de connexion
Quelques trucs : pour modifier le texte des labels, ne double-cliquez pas dessus, mais éditez la propriété Text dans le bloc d’édition situé en bas à gauche de votre fenêtre. Le champ mot de passe a tout intérêt à être protégé afin que ce que vous tapez ne soit pas lisible ; heureusement Visual Studio propose la propriété UseSystemPasswordChar afin de permettre ce comportement.
Codage de l’action
Codons maintenant notre connexion à Mezzoteam. Double-cliquez sur le bouton que vous avez ajouté afin de faire apparaître le code de l’action button1_Click.
Nous allons tout d’abord ajouter le namespace Mezzoteam en haut du texte en ajoutant le texte suivant à la siote des autres “using” :
using Mezzoteam;
Cela nous permettra d’accéder directement aux méthodes définies dans notre fichier d’interface, sans être obligé de les préfixer par le nom du namespace.
Nous pouvons maintenant coder l’action Click pour déclencher la connexion à Mezzoteam. Recopiez le texte ci-dessous dans votre projet.
private void button1_Click(object sender, EventArgs e)
{
// proxy vers le service web security.asmx
security mySecurityWs = new security();
// Objet de retour après connexion
LogonReturn myLogon;
// Initialisation de l’objet Credential, qui contient les infos de connexion
mySecurityWs.CredentialSoapHeaderValue = new CredentialSoapHeader();
// Récupération des valeur de l’identifiant et du mot de passe saisis
// par l’utilisateur dans le formulaire
mySecurityWs.CredentialSoapHeaderValue.Login = textBox1.Text;
mySecurityWs.CredentialSoapHeaderValue.Password = textBox2.Text;
// Connexion à Mezzoteam.
myLogon = mySecurityWs.Logon();
// Si l’objet myLogon n’est pas null, on est connecté
if (myLogon != null)
{
MessageBox.Show(”Vous êtes connecté !”);
}
else
{
MessageBox.Show(”Vous n’êtes pas connecté !”);
}
}
Vous pouvez maintenant appuyer sur la touche F5, qui va lancer la compilation, puis l’exécution de votre projet. Saisissez votre identifiant et votre mot de passe Mezzo dans la boite de dialogue ;: après quelques secondes, le message “Vous êtes connecté !” apparait.
Bravo ! Vous venez de vous connecter à Mezzoteam par service web.
Cliquez sur le lien pour télécharger la solution Mezzoconnect.
28 septembre 2008
L’interface de programmation de Mezzoteam est divisée en services web qui traitent chacun d’une partie des fonctionnalités de l’application. On y trouve les services suivants :
- security : Authentification des utilisateurs
- directory : Gestion de l’annuaire et des espaces de travail
- nav : Gestion du changement d’espace de travail
- documents : Gestion des documents et des vues
- actions : Actions sur les documents
- actions_expert : Actions sur les actions
- workflows : Gestion des processus
- rules : Gestion des règles appliquées aux documents
- forums : Gestion du forum de discussion
- diary : Gestion de l’agenda
- logs : Gestion des journaux
A chacun de ces services correspond des méthodes et des objets ; leur définition est accessible en ligne, à l’adresse suivante :
http://www.mezzoteam.com/ws/nomservice.asmx
Soit par exemple pour la définition du service web dédié à la sécurité :
http://www.mezzoteam.com/ws/security.asmx
Il est bien sûr possible de travailler « à la main » avec les services web de Mezzoteam, mais Visual Studio nous offre une palette d’outils qui vont nous faire gagner un temps précieux, en prenant en charge toute la logique de communication avec le serveur.
Il est temps maintenant de charger Visual Studio ; Vous allez vous retrouver face à la page d’accueil de votre environnement de développement, qui devrait ressembler à l’image ci-dessous :

Créez un nouveau projet de type « Application Windows Form ». Donnez lui un nom et cliquez sur OK pour afficher votre nouvelle solution.
S’interfacer aux services web
Notre première tâche va être d’interfacer notre projet aux services web de Mezzoteam. Pour se connecter à un service web, la méthode standard consiste à faire dans l’explorateur de solution, situé sur la droite de votre écran, un clic droit sur le libellé « References » ; vous choisissez alors l’option « Ajouter une référence de service », qui va vous guider pas à pas.

Bien que cette méthode fonctionne pour des services web simple, elle n’est pas adaptée à Mezzoteam. En effet, chaque service web de Mezzoteam va définir les mêmes objets User, Document, Workspace, etc. En ajoutant plusieurs services web à notre projet, Visual Studio va renommer automatiquement les définitions portant le même nom ; on se retrouvera donc avec un objet User et un Objet User2, qui décriront tous les deux dans Mezzoteam un utilisateur, mais qui seront vus par Visual Studio comme deux objets distincts et incompatibles.
Heureusement, Microsoft fournit avec Visual Studio un outil disponible en ligne de commande, qui va nous permettre de partager les types d’objets entre les différents services web. Cet outil s’appelle wsdl.exe, et se trouve dans le répertoire C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin. En tapant la commande :
wsdl /?
Vous obtiendrez la liste de tous les paramètres disponibles pour cette commande. Pour notre part, nous aurons simplement besoin des paramètres suivants :
/o : permet de désigner l’emplacement et le nom du fichier de code résultant
/sharetypes : permet de fusionner les types de nom identiques entre services web
/namespace : permet de spécifier l’espace de noms dans lequel seront placées les méthodes et objets correspondant
Vous trouverez ci-dessous la ligne de commande à exécuter pour générer un fichier C#, base de notre exemple.
wsdl /o:d:\mezzoteam_ws.cs /sharetypes /namespace:Mezzoteam http://www.mezzoteam.com/ws/security.asmx http://www.mezzoteam.com/ws/directory.asmx http://www.mezzoteam.com/ws/documents.asmx http://www.mezzoteam.com/ws/files.asmx http://www.mezzoteam.com/ws/forums.asmx http://www.mezzoteam.com/ws/actions.asmx http://www.mezzoteam.com/ws/actions_expert.asmx http://www.mezzoteam.com/ws/logs.asmx http://www.mezzoteam.com/ws/rules.asmx http://www.mezzoteam.com/ws/workflows.asmx http://www.mezzoteam.com/ws/navigation.asmx http://www.mezzoteam.com/ws/diary.asmx
N’oubliez pas que pour récupérer la définition des services web, il faut que vous soyez connectés !
17 juillet 2008
Je commence une série d’articles sur l’utilisation des services web dans Mezzoteam. Comme la plupart des applications en ligne, Mezzoteam offre à ses utilisateurs une couche de programmation accessible au travers d’interfaces normalisées appelées services web.
A quoi servent ces interfaces ? A interagir avec les différents moteurs applicatifs de Mezzoteam, sans passer par le navigateur web.Cela permet assez facilement d’étendre les fonctionnalités de Mezzoteam au delà de ce que Prosys propose, ou pour des applications très particulières.
L’architecture trois tiers de Mezzoteam sépare la couche applicative, et en particulier la sécurité des objets (espaces de travail, documents, fichiers, etc…), de la couche présentation. Ainsi, en se connectant à Mezzoteam au travers des services web, un utilisateur verra s’appliquer les mêmes règles que celles qu’il aurait vues en se connectant avec son navigateur.
Même si les services webs de Mezzoteam peuvent être “consommés” dans plusieurs langages, je me contenterai d’un exemple en C#, l’un des langages de programmation de Visual Studio, l’environnement de développement de Microsoft.
Pour commencer notre série, vous allez avoir besoin d’installer Visual Studio ; Microsoft fournit une version “Express” gratuite, que vous pouvez télécharger sur le site de Microsoft. Téléchargez Visual C# 2008, et installez le.
Dans le prochain article, nous verrons comment Visual Studio met à la disposition du développeur tous les outils pour s’interfacer facilement avec les services web de Mezzoteam.
7 juillet 2008
La fin de l’hiver nous amène la nouvelle version de Mezzoteam ! Je ferai un point complet des nouveautés de cette version dans un prochain billet, mais je tiens déjà à souligner deux améliorations qui feront plaisir à tous les utilisateurs et administrateurs Mezzo :
- La recherche plein texte a été grandement améliorée, elle est maintenant pratiquement instantanée.
- Il est maintenant possible de rajouter dans les vues listant plusieurs familles de documents des attributs utilisateurs, et plus seulement les attributs système. celà va nous permettre de faciliter la recherche d’information sur le référentiel tout entier.
Pour les utilisateurs hispanophones, la bonne nouvelle est l’ajout de l’espagnol à la liste des langues utilisables dans l’interface.
14 février 2008
La version 2.6 de Mezzoteam a introduit de nouveaux types de champs, les champs Contact et les champs Document. Ces champs permettent de récupérer l’identifiant interne Mezzoteam d’un contact, d’un groupe ou d’un document ; de nouvelles fonctions Mezzoscript permettent de récupérer automatiquement des informations liées à ces formulaires, ce qui en fait un outil précieux pour étendre les possibilités de Mezzoteam.
Il faut cependant prendre quelques précautions à l’utilisation des champs de type Document ; en effet, chaque champ Document est lié à une vue de l’espace de travail Mezzoteam.
Sous peine de générer des erreurs, il est indispensable que cette vue contienne au moins une colonne identifiant et une colonne titre.
Prenez-y garde lors de la conception de vos formulaires !
26 novembre 2007
Billets précédents