Précautions à l’utilisation des champs de type Document

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 !

Mieux que l’iPhone…

Qui n’était déjà pas mal, en associant le meilleur design industriel et une plate-forme performante et innovante, basée sur MacOS X. Qui aura vu les vidéos de présentation de l’interface « Touch » aura compris que Steve Jobs tenait là un produit à la hauteur de l’iPod.

l'iPhone d'Apple

Mais ne voici pas que l’autre innovateur de la Silicon Valley, Google, vient de lancer une initiative différente et à mon sens plus prometteuse encore que l’iPhone. En effet, Google et une cohorte d’acteurs de la téléphonie mobile (appelés Open Handset Alliance) viennent d’annoncer la mise à disposition de la plate forme Android.

L'écran principal d'Android

Qu’est-ce qu’Android ? C’est une plate-forme destinée aux téléphones mobiles, basée sur Linux ; disponible gratuitement, elle va constituer une alternative crédible aux environnements existants comme Windows Mobile ou Symbian, à un coûts défiant toute concurrence.

Mais ce qui est le plus prometteur, c’est le kit de développement fourni par Google, et qui paraît déjà d’une maturité comparable aux outils Microsoft pour Windows Mobile.

Quel intérêt pour Google ? Parmi les applications fournies, on va trouver l’accès à Gmail, leur messagerie internet, ainsi que l’accès aux applications basées sur la cartographie. Et ces possibilités de géolocalisation seront présentes dans les APIs pour en faciliter l’accès aux développeurs.

Enfin, le meilleur pour la fin. L’Open Handset Alliance met sur la table 10 millions de dollars pour récompenser les développeurs qui bâtiront les meilleures applications sur Android. Là où Apple verrouille son code en ne facilitant pas les développements tiers sur l’Iphone, Google prend l’exact contre-pied et encourage au contraire les talents à contribuer au développement d’un éco-système autour d’Android.

Est-ce une histoire de génération ? Steve Jobs, issu d’une génération ou le logiciel propriétaire était la seule perspective, contre Serguei Brin qui a été élevé au lait du logiciel libre !

La bataille en tout cas s’annonce passionnante !

Une vidéo (en anglais) de présentation d’Android.

Gehry, le BIM et le MIT

Vous avez peut-être entendu parlé du BIM, un acronyme anglais pour Building Information Modeling, ou Modélisation de Données Architecturales. Les éditeurs de logiciels, au premier chef Autodesk, se sont emparés de ce terme pour mettre en avant leurs nouvelles offres de produits entièrement 3D, qui fonctionnent par assemblage d’objets métiers (poutre, porte, mur, etc.) plutôt qu’en traçant des lignes sur un papier virtuel.

A première vue, le concept est particulièrement séduisant : chaque acteur du projet va collaborer à une maquette virtuelle, un peu à l’image de ce que les industriels de l’automobile ou de l’aéronautique font depuis longtemps ; celà amènera à un niveau de qualité et d’économie jamais vu sur les projets. Dans les faits, c’est bien sûr plus difficile de convaincre toute une filière de modifier ses méthodes. En effet, même si l’on veut bien croire que le bilan final du coût sera neutre, il sera probablement inégalement réparti : beaucoup plus d’études en amont (chez la maîtrise d’oeuvre), pour un bénéfice plutôt en bout de chaîne (chez les entreprises). Ce n’est pas pour rien que la construction virtuelle est l’un des sujets de recherche et développement chez Bouygues.

Stat Center du MIT
MIT Stata Center © 2006 juandesant

Et surtout, on s’aperçoit que la réalité à encore la tête dure, en constatant les mésaventures de Franck Gehry, l’un des plus farouches partisans du BIM (à tel point qu’il a monté une filiale pour distribuer une version dédiée à l’architecture de Catia) : il est assigné en justice par son client le prestigieux Massachussets Institute of Technology pour des malfaçons sur un ouvrage dont Gehry Technologies se sert pour vanter les mérites du BIM et des outils de conception virtuelle !

Sic transit gloria mundi !

Version 2.6 de Mezzoteam

La version 2.6 de Mezzoteam vient de sortir. Au menu de nombreuses améliorations, principalement dans le champ de la configuration. Les principales avancées à mes yeux concernent la gestion de nouveaux types de champs qui vont permettre d’élargir encore un peu le champ d’application du moteur de gestion de formulaires de Mezzo.

  • Champ de type Annuaire : vous pouvez ajouter à tout formulaire des champs qui pourront contenir soit la référence d’un utilisateur, soit la référence d’une organisation de l’annuaire de l’espace de travail.
  • Champ de type Document : idem, mais pour le lien à des documents. Vous pourrez même choisir la vue dont vous afficherez les détails lors du choix du document (par exemple pour pouvoir limiter le choix à une famille de documents…).

Pour exploiter au mieux les informations collectées, vous avez à votre disposition des formules vous permettant de manipuler les informations des objets ainsi liés : que diriez-vous de récupérer automatiquement l’adresse d’un contact que vous avez saisi ?

[EDIT] J’ai oublié de mettre un lien vers la note de version de Mezzoteam 2.6.

Utilisation de la formule @Format

Voici quelques mois, j’avais écrit article montrant comment mettre en place un champ chrono, et à cette occasion, j’avais donné un exemple des fonctionnalités de la formule @Format. La syntaxe de cette fonction du langage MezzoScript est issue de celle disponible dans .NET, le langage de développement de Mezzoteam. Je vous propose de voir quelques exemples de paramétrage possible de cette fonction.

Syntaxe
La fonction @Format prend comme arguments un objet (qui peut être une chaîne de caractères, un nombre, une date…), une chaîne décrivant le format à appliquer, et renvoie la chaîne formattée.
@Format(object ,formatString) as stringFonctions sur les chaînes de caractères
Vous pouvez utiliser la notation {0} pour insérer une valeur variable dans une chaîne de caractères, plutôt que de recourir à l’opérateur de concaténation &. Ainsi :
@Format("premier","Mon {0} test")
retourne
Mon premier test

Fonctions sur les nombres
Pour formatter des nombres,vous avez deux tags à votre disposition : # et 0. Le premier tag renvoie le chiffre correspondant, ou rien s’il n’y en a pas. Le second renvoie le chiffre correspondant ou 0, ce qui est très pratique pour formatter les numéros d’ordre des documents. Ainsi :
@Format(123456,"00000000")
retourne
00123456

Par contre
@Format(123456,"########")
retourne
123456

Il est également possible d’utiliser ces tags pour formatter d’autres nombres, comme par exemple un numéro de téléphone (vous me direz, ils sont généralement stockés au format chaîne ;-), comme par exemple :
@Format(1234356789,"+33 (0) ### ### ###")
retourne
+33 (0) 123 456 789

Il existe également une syntaxe permettant d’alterner les représentations en fonction de la valeur (positive, négative, nulle). On peut ainsi écrire :
@format(1234,"€ #,##0.00;(€ #,##0.00);Zero")
qui retournera € 1 234,00 en passant 1234, (€ 1 234,00) en passant -1234, ou Zero en passant 0. Il est à noter que le formattage des nombres (espaces pour séparer les milliers, virgule pour les décimales) changera selon la langue choisie par l’utilisateur.

Fonctions sur les dates
Les possibilités de conversions les plus intéressantes (et les plus utiles) concernent les dates et les heures. Les plsu simples des tags permettent de récupérer la date et l’heure au format court ou long, selon les préférences de la langue de l’utilisateur. Par exemple :
@Format(maDateHeure,"D")
retourne vendredi 21 septembre 2007 si telle est le contenu de maDateHeure. Dans le même ordre d’idée, d permet de retourner une date courte (21/09/2007), t une heure courte (19:32) et T une heure longue (19:32:53) ; f combine une date longue et une heure courte, F une date longue et une heure longue ; f et G font la même chose, mais en variant la date au lieu de l’heure.

Il est également possible d’extraire une partie de la date ou de l’heure, en utilisant les tags suivants :
dd, ddd, dddd pour le jour, renvoie 21 ou ven. ou vendredi,
MM, MMM, MMMM pour le mois, renvoie 09 ou sept. ou septembre,
yy, yyyy pour l’année, renvoie 07 ou 2007.

hh pour l’heure renvoie 19,
mm pour les minutes renvoie 32,
ss pour les secondes renvoie 53.

Voilà, vous en savez déjà suffisamment pour pouvoir vous amuser ! Si vous souhaitez aller plus loin, vous pouvez vous plonger dans la documentation de .NET que vous trouverez (en anglais) sur msdn.microsoft.com. Attention tout de même, tous les types de formatages ne sont pas supportés par Mezzoteam.