Billets de la catégorie 'Collaboration'
Je viens de découvrir le service Dropbox, qui permet à ses utilisateurs de synchroniser leurs fichiers entre leur PC (Windows, Mac ou Linux) et les serveurs de DropBox.
J’utilisais jusque là un autre service gratuit de téléchargement de fichiers, box.net, qui présente l’avantage d’avoir un widget pour netvibes. On était alors dans un schéma classique d’une application web 2.0, avec une interface web sympathique, nourrie au biberon d’AJAX.
Ce qui m’intéresse dans Dropbox, c’est que ses concepteurs renversent la tendance du “tout web”. Au contraire, l’utilisation nominale du service passe par l’installation sur le poste de l’utilisateur d’un plugin à son explorateur de fichiers. Celui-ci permet de se passer entièrement du navigateur internet, en synchronisant tous les fichiers que vous déposez dans le dossier Dropbox.

C’est d’une simplicité absolue, le système signalant par une icône sur les fichiers ceux qui sont en cours de synchronisation et ceux qui sont correctement synchronisés. Vous pouvez même synchroniser plusieurs ordinateurs distants : celui du boulot et votre PC personnel.
L’idée derrière Dropbox, c’est qu’en définitive, l’accès à vos données par le navigateur web n’est plus qu’accessoire : vous ne l’utiliserez que lors de vos déplacements, quand vous n’avez pas accès à une machine privée.
2009 verrait-elle le retour en force des applications “lourdes” ? A suivre…
22 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
Lorsqu’un maître d’ouvrage ou un maître d’oeuvre s’intéresse pour la première fois au sujet, les offres de solutions de travail collaboratif à destination des projets peuvent paraître relativement semblables dans leur contour fonctionnel. Et si on peut s’accorder à dire que les fonctions de base de ce type d’outil sont la plupart du temps présentes, c’est ailleurs qu’il faudra chercher la différence.
Les facteurs différenciants sont à trouver dans plusieurs aspects souvent mal appréhendés par les clients :
- La pérennité du prestataire
- Les références qu’il peut produire, en nombre et en pertinence par rapport à une problématique donnée
- Les fonctionnalités additionnelles au périmètre de base
- La gestion de l’administration du produit
Je vais détailler ces quatre points pour vous donner quelques clés d’analyse.
Pérennité
Lorsque vous mettez en oeuvre une solution de travail collaboratif sur un projet, vous vous engagez avec son prestataire pour la durée du projet, y compris phase de parfait achèvement. Il faut que cet engagement soit réciproque, car les conséquences en terme de défaillance sont évidemment à la hauteur du rôle fédérateur du système dans la vie du projet. Dans ce cas, le Maître d’Ouvrage ou le Maître d’Oeuvre peuvent voire les entreprises se retourner contre eux pour obtenir compensation de la disparition du référentiel.
Il est donc important de bien prendre connaissance de l’environnement financier et des résultats du partenaire afin de juger de sa viabilité. Un petit tour sur societe.com ne coûte pas bien cher !
Références
En général, les clients sont à la recherche d’une solution mais aussi de la capacité du prestataire à les conseiller sur les apsects opérationnels ou contractuels de la mise en place du service. Il est donc important que le fournisseur puisse attester de références dans le domaine d’intervention qui intéresse le maître d’ouvrage ou le maître d’oeuvre.
Une solution pertinente pour la construction de bâtiments tertiaires le sera peut être moins pour des systèmes de transports ou des ouvrages d’art. Il est d’ailleurs conseillé de demander des contacts pour ces références, que l’on pourra appeler pour avoir un retour terrain sur le fournisseur et sa solution.
Fonctionnalités additionnelles
Le diable est souvent dans le détail ; au delà des grilles de fonctionnalités, consciencieusement cochées par les fournisseurs, il faut arriver à comprendre ce que recouvre telle ou telle affirmation.
Prenons l’exemple des circuits de validation : vous trouverez peu de fournisseurs qui ne cochent pas cette case dans les grilles d’évaluation. Sauf que cela recouvre des réalités très différentes, du simple avertissement par courriel d’une liste d’acteur jusqu’à la gestion de processus paramétrable dans ses moindres aspects. Tout dépend du résultat obtenu, du degré d’automatisation que vous souhaitez obtenir, des tableaux de suivi résultants, etc.
Il est toujours intéressant de pouvoir assister à une démonstration de la solution, en bâtissant un scénario concret, avec des données que vous fournirez.
Administration
Là, vous êtes réellement confrontés à un choix déterminant dans le degré d’appropriation que vous souhaitez atteindre pour la solution retenue.
Premier choix, vous souhaitez une solution clé en mains : vous confiez l’administration fonctionnelle à votre prestataire, qui dédie tout ou partie d’une ressource pour votre projet. Cet accompagnement à un coût, mais vous dégage de toute obligation sur le sujet.
L’inconvénient, c’est que personne ne va porter l’outil au sein de votre organisation. On observe souvent que la désincarnation de cette fonction est souvent préjudiciable à l’appropriation de l’outil par les équipes des clients. Il faut un pouvoir mettre un visage sur la solution.
Seconde possibilité - qui n’est pas offerte par tous les fournisseurs à cause des limitations de certains outils - vous prenez à votre charge l’administration de la solution. Pour ce faire, vous formez une ou plusieurs personnes de votre équipe, qui va apprendre à paramétrer la solution (ce qui se fait en quelques jours), et qui sera épaulé pendant toute la durée du projet par le support téléphonique de votre prestataire.
Vous êtes alors seul maître à bord ; les modifications au paramétrage amenée par l’évolution du projet sont mise en oeuvre plus rapidement, discutées en interne et implémentées dans la foulée. Il est également possible d’étendre le périmètre fonctionnel de la solution au delà de ce qui avait été prévu au démarrage ; l’appétit vient en mangeant !
En conclusion
Chaque projet est différent, chaque solution à ses points forts, les besoins des uns ne sont pas forcément ceux des autres. Il est donc important de ne pas se contenter de l’analyse d’une grille de fonctionnalités pondérée par un coût, au moment de choisir le prestataire avec qui vous allez passer les prochaines années !
23 mai 2008
Robert Philipot a publié récemment sur le blog d’Aconex un article qui illustre à mon sens les différences culturelles entre les outils de collaboration anglo-saxons des solutions développées en France. Loin de moi l’idée de porter un jugement de valeur (on ne peut pas dire que le marché de la construction soit moins dynamique dans la zone pacifique !), c’est simplement la différence d’approche qui m’intéresse.
Robert explique donc dans son article comment gérer avec Aconex les fichiers en référence dans AutoCAD. Petite explication pour ceux qui ne seraient pas familiers des outils de CAO : lorsque l’électricien utilise un plan de l’architecte pour implanter ses chemins de câbles, il ne le copie pas dans son dessin, mais l’insère en référence ; ainsi, si l’architecte émet une nouvelle version de son plan, il lui suffit de détacher l’ancien et d’insérer le nouveau pour pouvoir lui-même modifier son plan. Pratique, élégant, mais source de casse-tête quand vous travaillez à distance : si vous n’envoyez que votre plan “père” sans que votre interlocuteur dispose des “fils” à un emplacement visible par AutoCAD, votre plan ne contiendra plus que ce que vous avez dessiné.
Dans les outils développés pour le marché français comme Mezzoteam, des modules additionnels d’aide à la production permettent d’automatiser la récupération de documents associés les uns aux autres ; en bref, si je demande à ouvrir un fichier AutoCAD, Mezzoteam récupérera automatiquement les fichiers en référence, utilisant même s’ils sont à jour les fichiers présents dans le cache local pour accélérer les transferts.
La méthode préconisée par Robert est plus conforme à ce qu’on trouve dans des outils génériques, puisque l’ensemble des opérations de récupération et de maintien des relations avec les références est réalisé manuellement par le CAD Manager ; on reconstitue ainsi un référentiel local qui va permettre aux opérateurs CAO de travailler.
On voit bien ici le “choc des cultures”, avec d’un coté une exigence d’automatisation et de productivité, portée entre autres par les contraintes de l’assurance qualité, mais impliquant que chacun joue le jeu, et de l’autre une approche plus souple, moins performante sur le papier, mais également moins exigeante en terme d’organisation.
C’est donc à fronts renversés que s’opposent une fois de plus “rigueur” anglo-saxonne et “anarchie” latine !
16 avril 2008
Billets précédents