Sortie de la bibliothèque MAPI OpenChange 0.2

Posté par  . Modéré par Sylvain Rampacek.
Étiquettes :
0
23
avr.
2007
Microsoft
La bibliothèque MAPI 0.2 d'OpenChange baptisée MAILOOK est disponible au téléchargement. Cette version propose une API de programmation MAPI, de la documentation développeur, du code d'exemple et des utilitaires de tests. Les développeurs y trouveront le code nécessaire pour envoyer, recevoir ou supprimer des courriels, ainsi que le code nécessaire à l'envoi ou la réception de pièces jointes.

Cette version, bien qu'ayant été testée, devrait être considérée comme une alpha destinée aux bêta testeurs. Le principal objectif de cette publication est de fournir du matériel commun afin d'améliorer la robustesse et l'extensibilité de la bibliothèque MAPI sur le moyen et long terme.

NdM : comme indiqué sur wikipedia, MAPI est à l'origine un ensemble de fonctions propriétaires développées par Microsoft pour des applications souhaitant utiliser la messagerie.

Aller plus loin

  • # Concrètement ça sert à quoi ?

    Posté par  . Évalué à 2.

    Concrètement, ça permettrait de mettre du matériel commun pour des plugins outlook libre sur différents serveur de mail ou l'inverse de plugger des trucs genre thunderbird sur exchange.... ou les deux ?
    • [^] # Re: Concrètement ça sert à quoi ?

      Posté par  . Évalué à 2.

      Uniquement au niveau du client à mon avis.
    • [^] # Re: Concrètement ça sert à quoi ?

      Posté par  (site web personnel) . Évalué à 5.

      Cet article est l'archétype de la nouvelle écrite par un geek pour être lue par un spécialiste de la question.
      On peut toujours en quelques mots, écrire de quoi il s'agit de façon à ce qu'une personne n'appartenant pas au cénacle des initiés puisse comprendre de quoi il s'agit. Si cela avait été été fait, cette nouvelle aurait pu prétendre à la première page.
      • [^] # Re: Concrètement ça sert à quoi ?

        Posté par  (site web personnel) . Évalué à 8.

        c'est clair que j'ai rajouté la NdM la mort dans l'âme, n'étant pas en mesure d'évaluer ce que cette bibliothèque permettait d'envisager comme utilisation :
        - il n'y a pas vraiment d'autre produit cité avec lesquel interopérer (serveur MS Exchange ? autre ?)
        - la partie OpenChange est décrite dans l'onglet "What is openchange" du site http://www.openchange.org/index.php?option=com_content&t(...) mais les interactions avec d'autres projets libres ne sont pas réellement mises en avant (il n'y en a peut-être pas ?)

        Il est bon dans ces cas de rappeler dans les dépêches le pourquoi du comment, pour positionner l'intérêt de cette sortie, ce que ça peut apporter à d'autres développeurs ou même aux utilisateurs (si si il paraît qu'ils existent).
        C'est d'autant plus rageant qu'a priori, cela s'inscrit dans une logique de remplacement de proprio par du libre, autant le mettre en avant.

        Vous noterez, dans le lien donné, qu'il y a
        - contribution au greffon du client de messagerie evolution (et pourquoi pas thunderbird ? bientôt peut-être ?)
        - un "dissecteur" ethereal (wireshark maintenant je suppose ?) pour le protocole NSPI (sic). ça donne aussi envie d'ajouter, oui et ? ça sert à qui, à quoi ?
        Bien sûr il est possible de répondre "si tu ne sais pas, c'est que tu n'en as pas besoin" mais bon ;-)
        vala vala, outre des juristes, AMHA il y a besoin de bons communicants aussi dans le libre (surtout pour une messagerie libre :D).
        • [^] # Re: Concrètement ça sert à quoi ?

          Posté par  . Évalué à 6.

          Apparemment, il y a bien une volonté d'implémenter le protocole MAPI du côté client et serveur.
          Ce qui n'est pas beaucoup plus compliqué une fois que l'on a compris ce protocole. La version 0.2 semble donc bien être un client embrionaire.

          Pour information, Microsoft a dérivé un protocole bien connu "DCE" qui permet de faire des appels de méthodes sur le réseau (comme Sun RPC par exemple). Qui porte donc le nom de "MS-DCE".
          Jusqu'à maintenant Samba construisait ses paquets de communication à la main par ingénieurie inverse du protocole et se limitait aux messages nécessaires pour le support des échanges de fichiers et publication d'imprimante.
          Une bibliothèque libre a été lancée pour implémenter le protocole de base aux appels de méthodes "FreeDCE" que Samba TNG http://www.samba-tng.org/ utilise si j'ai bien compris.
          Sur FreeDCE, on peut construire autant de protocole que l'on veut en définissant un ou plusieurs services avec les messages correspondants. MAPI est un des services écrits sur MS-DCE et fourni par Ms Exchange.

          L'écriture d'un client MAPI sur FreeDCE m'avait traversé l'esprit lorsque je me suis intéressé à Samba TNG parce qu'à l'époque Outlook Web Access n'était pas disponible dans ma boîte (j'utilisait imap finalement). Depuis le passage à Exchange 2003, l'OWA est actif et par facilité et manque de temps, je me contente du connecteur Evolution bien qu'il soit peu stable (versions de Mandriva 2007), et franchement buggé pour la complétion des adresses (30 secondes d'attente après chaque confirmation de proposition, merci !!)

          Bref, c'est une très bonne nouvelle. L'interopérabilité progresse - même sans le RGI ;)
          • [^] # Re: Concrètement ça sert à quoi ?

            Posté par  (site web personnel) . Évalué à 3.

            rha mais j'ai encore plus d'acronymes maintenant /o\

            DCE MS-DCE : pas sur wikipedia, pas trop grave mais en anglais on trouve http://en.wikipedia.org/wiki/DCE/RPC Distributed Computing Environment
            RPC http://fr.wikipedia.org/wiki/Remote_procedure_call
            samba tng http://www.samba-tng.org/faq.html un fork amical de samba (qui parle de FreeDCE vers le bas de la FAQ)
            OWA http://en.wikipedia.org/wiki/Outlook_Web_Access (il y a une copie d'écran, sans doute en fair-use qu'il n'y a pas sur la page en français)
            bon RGI je crois que tout le monde suit encore ;-)

            sérieux, si ça continue va falloir que ça cesse :-)

            En bref, cette bibliothèque côté client mail pourra-t-elle servir à tous les clients mails pour s'interfacer avec de l'Exchange (avec une course prévisible à la rétro-ingénierie ?), donc on pourrait espérer le voir disponible dans Thunderbird, kmail, claws, sylpheed, mutt, (evolution c'est déjà fait visiblement), ... j'ai bien compris ?
            Quid de la migration des données enfermées dans une prison dorée exchange vers un serveur de mail libre ? (c'est peut-être possible avec d'autres outils ?)
            Mettre des services disponibles côté serveur c'est pour permettre à Outlook d'accéder à un serveur de mails libre ? (je n'en vois pas trop l'intérêt mais bon, ça permet de migrer le serveur avant les clients je suppose ?)
            • [^] # Re: Concrètement ça sert à quoi ?

              Posté par  . Évalué à 3.

              Pour répondre à tes questions, oui tu as tout compris.
              Pour la course à l'ingénierie inverse, je dirai que Microsoft est aussi enfermé dans ses contraintes de compatibilité avec les anciennes versions.

              MAPI a évolué ces dernières années mais les fonctions de base sont toujours là. Outlook 2000 peut se connecter à un Exchange 2003 et Outlook 2003 à un Exchange v5... il faut juste s'assurer que le client réclame la version de l'API pour ne pas tenter des appels qui seront jetés.

              L'acronyme est la brique de base du vocabulaire de l'informaticien ! Mais ça existe aussi dans d'autres professions.

              En ce qui concerne la migration, la prison dorée s'appelle Ms SQL Server. La connaissance du modèle de données doit suffire à extraire le contenu. Sinon on peut passer par les divers protocoles standards supportés par Exchange comme IMAP.
              • [^] # Re: Concrètement ça sert à quoi ?

                Posté par  (site web personnel) . Évalué à 4.

                Si tu passes par l'IMAP pour migrer, je suppose que tu perds tout ce qui est gestion des agendas qu'il y a dans Exchange IIRC, difficile de migrer à iso-fonctionnalité dans ce cas...

                L'acronyme est la brique de base du vocabulaire de l'informaticien ! Mais ça existe aussi dans d'autres professions.

                je viens du monde du SI opérateur telco, donc si tu veux je peux te pourrir d'acronymes aussi hein entre les BTS, BSC, MSC, GGSN, SGSN, VMS, SMSC, CDR, IMSI, IMEI, TADIG, RADIUS, EDIFACT... depuis j'ai (ré-)appris qu'il était possible de parler normalement avec des vrais mots ;-)
          • [^] # Re: Concrètement ça sert à quoi ?

            Posté par  (site web personnel) . Évalué à 2.

            Bien que le protocole, une fois découvert, facilite la tâche, le développement d'une librairie cliente est en revanche beaucoup plus simple que le développement du serveur. D'une part le traitement de l'information est beaucoup plus complexe côté serveur puisqu'il y a de nombreuses intéractions avec un nombre important de composants, et d'autre part, il y a des challenges techniques au niveau serveur qui n'ont rien à voir avec celles de la partie cliente.


            Par exemple, OpenChange n'a ni vocation à développer son propre serveur de messagerie, ni l'envie de n'offrir une seule solution existante en terme de backend pour le stockage des mails. Partant de ce constat, nous devons définir une architecture avec des couches d'abstractions qui permettent de greffer des modules Postfix, sendmail, Qmail ou autres; et ainsi de permettre des contributions extérieures en fonctions des besoin. Dans un premier temps, il est vraisemblable que nous commencerons par un backend sqlite pour nos tests puis travaillerons à l'intégration d'un module Postfix.

            Il y a également la problématique du stockage des données. Si nous pouvons aisément concevoir un support externe pour le stockage des courriels, qu'en est-il de celui des calendriers, des bases de contacts ou encore des tâches. Comment assurer l'aspect collaboratif et l'accès a des documents partagés. Ou encore comment assurer les liens entre différents objets: rendez-vous et contacts ou contacts et reminders.

            Toutes ces questions font parties d'un ensemble de problématiques sur lesquels nous nous penchons afin de définir une architecture robuste et extensible sur le moyen/long terme.
        • [^] # Re: Concrètement ça sert à quoi ?

          Posté par  (site web personnel) . Évalué à 5.

          Il y a du nouveau dans le remplacement d'Exchange. Je suis en train de rédiger une nouvelle sur ce sujet.
          Une piste en avant première : OBM sur http://aliasource.fr/ Hier, j'ai pu téléphoner à son concepteur pour obtenir quelques précisions.
        • [^] # Re: Concrètement ça sert à quoi ?

          Posté par  (site web personnel) . Évalué à 3.

          J'ai lu vos commentaires avec beaucoup d'attention et je vous remercie des critiques qui ont été émises puisqu'elle permette d'adapter le contenu du site web et d'aller dans le bon sens.

          Cette dépêche était un "premier essai", et nul doute que je ne pourrai qu'en améliorer son contenu lors des prochaines annonces de release.

          Pour tenter de répondre à certaines de vos questions:

          - L'objectif d'OpenChange est d'offrir de l'intéropérabilité. Cela signifie donc être capable de communiquer avec les serveurs Microsoft Exchange (côté client) mais également de communiquer avec Outlook en natif (aucun plugin à installer dans Outlook).

          - En terme d'intéraction avec d'autres projets Open Source, nous travaillons au quotidien avec l'équipe de développement de Samba4 (Andrew Tridgell, Simo Sorce, Andrew Bartlett, Jelmer Vernooij, Stephan Metzmacher) et grâce à la SambaXP avons eu l'opportunité de discuter de manière plus approfondie avec Ronnie Sahlberg (Wireshark).

          - Nous avons choisi de nous concentrer sur le plugin evolution, principalement parce que l'architecture était plus adaptée pour un développement rapide. Une première preview technique devrait être disponible au téléchargement dans les prochains jours (version packagée).

          - Il est évidemment possible de développer un module pour thunderbird basé sur notre libmapi, mais nous n'avons pas les ressources humaines nécessaires pour prendre en charge ce développement. Si des développeurs de thunderbird sont intéressés par une intégration de la librairie dans leur produit, c'est évidemment avec grand plaisir que nous prendrons le temps nécessaire pour les aider dans cette tâche.

          - NSPI est le protocole utilisé par Outlook pour faire de la résolution de noms dans le Exchange Message Store Address Book provider (EMSABP). Il est principalement utilisé dans la création de profiles Outlook (configuration d'un compte Microsoft Exchange) mais également à chaque fois qu'un destinataire est ajouté à un courriel (To, Cc, Bcc).
  • # Ça sert à quoi ?

    Posté par  (site web personnel) . Évalué à 0.

    C'est IMAP pour Exchange ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.