Skip to content

Sélection de plugins pour RoundCube

par billux le 14 mars 2010

Logo de RoundCube

RoundCube est un webmail écrit en PHP, simple à prendre en main, beau, et surtout, il permet l’ajout de plugins.

Je ne vais pas faire de tuto sur son installation, elle me parait simple et bien documentée. Par contre je vais vous présenter une sélection de plugins que j’ai testé et que j’utilise, car il est toujours fastidieux de chercher un plugin, l’installer, le tester, s’apercevoir qu’il ne nous satisfait pas vraiment, le désinstaller, en chercher un autre, etc…

Installation d’un plugin

Un petit rappel avant d’aller plus loin sur l’installation des plugins sous RoundCube. L’installation se fait à la mano, en suivant cet ordre :
(NOTE : les chemins sont donnés en relatif à partir de votre répertoire d’installation de RoundCube (dans mon cas /var/www/webmail/))

  • Téléchargez, puis décompressez le plugin en question sur votre machine. Vous obtenez un répertoire du même nom que le plugin, qu’il faudra déplacer dans le dossier plugins/ de RoundCube.
  • Certains plugins ont un répertoire config/ avec un (ou plusieurs) fichiers nommés *.inc.php.dist. Vous devez les renommer en *.inc.php, et, si vous le souhaitez, modifier les valeurs de configuration à l’intérieur.
  • Une fois le plugin configuré, il ne vous reste plus qu’à l’activer dans RoundCube. Pour cela, rajoutez son nom dans le tableau $rcmail_config['plugins'] du fichier config/main.inc.php de RoundCube :
    $rcmail_config['plugins'] = array('plugin1', 'plugin2', 'plugin3'); // etc…
  • Vous pouvez recharger la page dans votre navigateur et vous verrez votre nouveau plugin. Si ce n’est pas le cas, jetez un œil dans les logs de RoundCube (fichier logs/errors), voir carrément ceux de votre serveur web.

6 plugins pour votre webmail

ManageSieve

LE plugin à avoir si votre serveur IMAP gère les filtres Sieve !
Il vous permet de créer facilement vos filtres à l’aide de listes déroulantes et de champs à remplir (voir les screenshots).

Capture d'écran du plugin ManageSieve pour RoundCube (1/2)Capture d'écran du plugin ManageSieve pour RoundCube (2/2)

Le plugin crée un nouvel onglet « Filtres » dans la catégorie « Préférences » de RoundCube.

Téléchargement : Le plugin est déjà présent dans le répertoire plugins/, vous n’avez qu’à l’activer.

À noter qu’il existe un autre plugin pour gérer ses filtres Sieve, mais que je n’ai pas testé, nommé SieveRules.

ContextMenu

Un plugin tout simple qui affiche un menu contextuel lors d’un clic droit sur :

  • un mail dans la liste de mail (actions possibles : marquer le message, répondre, transférer, déplacer vers…)
  • un dossier (actions possibles : marquer le contenu, compacter, vider…)
  • un contact dans le carnet d’adresse (actions possibles : écrire au contact, le modifier, le supprimer…)

Capture d'écran du plugin ContextMenu pour RoundCube (1/2)Capture d'écran du plugin ContextMenu pour RoundCube (2/2)

Téléchargement : lien.

Automatic adressbook

Un plugin très pratique qui permet la complétion du champ d’adresse avec les adresses mail que vous avez déjà saisies. RoundCube est capable de compléter les adresses en cours de saisies dans le champ d’adresse en fonction de celles ajoutées à son carnet d’adresse. L’idée du plugin est donc de créer un second carnet d’adresse dans une table de la base de donnée dans lequel il ajoute automatiquement toutes les adresses que vous écrivez. Ainsi, RoundCube pourra s’en servir lors de la complétion, sans pour autant avoir une quantité monstrueuse d’adresses dans votre carnet d’adresses principal.

Capture d'écran du plugin Automatic AdressBook de RoundCube

L’installation se déroule de la même manière que les précédentes, à la différence près que vous devez créer une nouvelle table pour le plugin. Heureusement, des scripts sont disponibles pour les bases MySQL, PostgreSQL, SQLite et MicrosoftSQL.
Exécution du script pour une base MySQL :

mysql -u $USER -p $TABLE < plugins/automatic_addressbook/SQL/mysql.initial.sql

Ensuite, il faut que vous activiez la fonctionnalité en allant dans « Préférence » > Section « Écriture des messages » et cocher la case « Utilisez le carnet d’adresse automatique ».

À noter que l’auto-complétion de RoundCube est assez évoluée puisque il ne considère pas les premières lettres que vous tapez comme étant effectivement les premières lettre de l’adresse, mais comme pouvant se trouver n’importe où dans l’adresse (pratique pour rechercher suivant le nom de la personne et pas suivant son adresse mail).

Téléchargement : lien.

Forward as attachment

Ce plugin rajoute une fonction qui manque cruellement à RoundCube, la possibilité de transmettre un message en tant que pièce jointe.

Capture d'écran du plugin forward as attachement pour RoundCube

Pour l’installation, comme indiqué dans le fichier forward_as_attachment.php du plugin, vous devez rajouter la balise suivante dans les fichiers skins/votre-thème/templates/{mail,message}.html :

<roundcube :container name="forwardatt" id="forwardatt" />

Vous pouvez choisir son emplacement, mais logiquement elle se place après la balise du bouton forward

<roundcube :button command="forward" type="link" ... />

Téléchargement : ce plugin fait partie d’un méta-paquet de plugins distribué sous le nom de MyRoundCube, et disponible ici.

Calendar

Comme vous vous en doutez, Calendar un plugin pour ajouter un calendrier. Il n’est pour l’instant qu’en version beta et ne dispose donc pas de beaucoup de fonctionnalités. Cependant, il a l’avantage d’être simple à utiliser.

Avant d’aller plus loin, sachez qu’il existe un autre plugin, webcalendar, que vous trouverez dans le paquet MyRoundCube et qui se charge d’intégrer au webmail ce calendrier, beaucoup plus complet mais assez déroutant à utiliser (je trouve).

Pour revenir au premier plugin, Calendar, voici ses principales fonctionnalités :

  • Affichage en jours, semaines ou mois
  • Possibilité d’ajouter des évènements associés à une heure du jour ou pas (dans ce cas ils seront affichés en tête de la colonne
  • Possibilité de déplacer et redimensionner les évènements directement dans l’affichage du calendrier (par glissé déposé)
  • Possibilité d’exporter le calendrier au format ICS
  • Association d’un évènement à une catégorie (les catégories sont pour l’instant à définir dans le fichier de configuration, et communes à chaque utilisateur). Chaque évènement est alors représenté avec la couleur de sa catégorie

Capture d'écran du plugin Calendar de RoundCubeCapture d'écran du plugin Calendar de RoundCube

Pour l’installation, vous devez avant tout créer une nouvelle table dans la base de donnée de votre webmail. Un script pour MySQL est fournit dans le répertoire SQL/. La suite de l’installation ne change pas des autres plugins…

Vous devez également changer une ligne dans le fichier calendar.php, suite à un petit bug de chemin.

Remplacez (l. 23) :

if(file_exists("./plugins/calendar/config.inc.php")) {

par :

if(file_exists("./plugins/calendar/config/config.inc.php")) {

Téléchargement : lien

Template_objects

Ce plugin modifie quelques objets propres à RoundCube et permet, entre autre, l’ajout d’un filtre d’affichage. On peut ainsi n’afficher que les mails non lus, marqués comme importants, auxquels on a pas répondus…

Capture d'écran du plugin Template_objects de RoundCube

Téléchargement : ce plugin fait partie d’un méta-paquet de plugins distribué sous le nom de MyRoundCube, et disponible ici.

Et encore…

Il est évident que je n’ai pas listé ici tous les plugins, mais uniquement ceux dont je me sert. D’autres mériteraient également d’avoir une place ici, comme DKIMStatus ou encore des plugins orientés gestion des spams. J’en reparlerai sûrement quand j’aborderai ces sujets.

En attendant, pour découvrir d’autres plugins, je vous invite à suivre ces 2 liens :

15 Commentaires
  1. Rei, le 3 août 2010 à 15 h 08 min (permalien)

    Très bons conseils pour les plugins roundcube !!

    un petit truc a préciser, pour le plugin ‘automatic_addressbook’

    dans les dernières version de MySQL, le script de création de la base ne marche plus, il faut enlever les 3 dernieres ligne de la requete:

    –!40008
    –ON DELETE CASCADE
    –ON UPDATE CASCADE

  2. billux, le 3 août 2010 à 17 h 37 min (permalien)

    Exact, ça a été fixé dans la dernière version du plugin apparemment ; les 3 dernières lignes sont commentées.

  3. Kevin, le 16 octobre 2010 à 17 h 02 min (permalien)

    Bel article, j’ai pu découvrir et mettre en place des plugins très intéressants.
    Merci !

  4. Didier, le 21 octobre 2010 à 23 h 05 min (permalien)

    Bonjour !

    Je me lance avec Roundcube et ça fait plaisir de trouver de l’aide et des articles clair et précis.

    Beau Travail.

    Merci !

  5. Francois, le 16 novembre 2010 à 15 h 40 min (permalien)

    Je viens d’installer Automatic adressbook et maintenant, je cherche un plugin pour créer des « groupes » dans le(s) carnet(s) d’adresses…
    Quelqu’un a ça ?

  6. billux, le 20 novembre 2010 à 13 h 40 min (permalien)

    Pour les groupes, tu peux essayer ce patch. Je ne l’ai jamais testé par contre.

  7. ross_lille, le 18 décembre 2010 à 21 h 15 min (permalien)

    Bonjour
    apparemment le plugin calendar n’est plus disponible…
    quelqu’un l’aurait à disposition ?
    merci !

  8. Georges, le 6 janvier 2011 à 12 h 22 min (permalien)

    Super liste, merci !

    Au passage, je recherche un plugin qui permettrait de nettoyer automatiquement certains dossiers, comme le fait OpenWebMail (c’est à dire au minimum virer automatiquement tous les messages de plus de xxxx jours dans les dossiers poubelle et messages envoyés).

    Vous connaissez ça ?

  9. billux, le 6 janvier 2011 à 20 h 28 min (permalien)

    ross_lille : il est disponible sur github à cette adresse : https://github.com/LazloNL/roundcube-calendar
    J’ai mis à jour l’article au passage.

    Georges : Ça serait effectivement un plugin très utile, mais malheureusement je n’ai rien trouvé à ce sujet…

  10. Georges, le 7 janvier 2011 à 11 h 34 min (permalien)

    Merci billux.

    Il y a de bonnes chances pour que j’ai du temps libre dans 2 semaines : je sais ce qu’il me reste à faire ;-)

  11. Georges, le 24 janvier 2011 à 17 h 09 min (permalien)

    Voici la première étape : pour me familiariser avec le mécanisme de plugins de RoundCube, j’ai écrit une gestion de motd (« Message Of The Day ») :

    Il suffit de mettre un fichier portant le nom de la locale suffixé par .html (donc fr_FR.html pour le français) dans le répertoire dédié (motd de mon plugin), pour que le contenu du fichier soit affiché après chaque connexion réussie.
    Si l’utilisateur coche une case « Ne plus afficher cette page », le texte n’est plus affiché à la connexion, mais …. si on change le contenu du fichier (en fait si on change sa date de dernière modification), il est de nouveau affiché après une connexion réussie (aussi jusqu’à ce que l’utilisateur coche la case « Ne plus afficher cette page » (et ainsi de suite)).

    Si des personnes sont intéressées, j’ai créé un repo sur Google code : http://code.google.com/p/roundcube-motd/

    PS: J’ai écrit ce plugin en un peu moins d’une journée, il y a donc de bonnes chances qu’il ne soit pas d’une propreté exemplaire…..

  12. Georges, le 2 février 2011 à 9 h 03 min (permalien)

    Et voila !

    Si il y a ici de courageux testeurs, cela me rendrait un immense service….

    Pour l’installation, tout est disponible ici :
    http://code.google.com/p/roundcube-folder-maintenance/

    Avec la configuration par défaut, les boites ‘Trash’ (Corbeille) et ‘Sent’ (Messages envoyés) sont nettoyées à la connexion, de façon à ne conserver que les messages datant de moins de 120 jours.

    A noter qu’à cause d’un problème de gestion de la mémoire par PHP (visiblement le ramasse-miettes ne fait pas son boulot), si il y a plus de 40 messages « anciens », ils seront supprimés par blocs de 40 (un bloc à chaque nouvelle connexion).

  13. billux, le 8 février 2011 à 20 h 39 min (permalien)

    Hello Georges,

    J’ai testé ton plugin, mais il ne marche pas chez moi :
    lorsque je vais sur le nouvel onglet ‘Maintenance’, j’obtiens cette erreur PHP dans les logs :

    [08-fév-2011 20:30:42] PHP Warning:  call_user_func(foldermaintenance::foldermaintenance_startup)
    [<a href='function.call-user-func'>function.call-user-func</a>]: First argument is expected to be a valid
    callback in /xxx/roundcube/program/include/rcube_plugin_api.php on line 234
    [08-fév-2011 20:30:42] PHP Fatal error:  Call to a member function connect() on a non-object in
    /xxx/roundcube/program/include/rcmail.php on line 408

    PS : J’ai voulu ouvrir un bug sur le gestionnaire de projet, mais il faut obligatoirement un compte Google… :(

  14. Georges, le 9 février 2011 à 14 h 17 min (permalien)

    Hello billux ;

    Tout d’abord un grand merci de bien vouloir tester mon plugin.

    Apparemment nous n’avons pas les mêmes versions de RoundCube, et la tienne est plus tatillonne sur certains points.

    Je pense avoir corrigé, vu que le warning (que je nee pensais pas provenir de mon plugin) qui semble correspondre à ton erreur a disparu.

    PS: Allergique à Google ? Ou il te manque une invitation ?

  15. billux, le 10 février 2011 à 23 h 05 min (permalien)

    Exact, je n’ai pas la version la plus récente. Par contre après ta modif j’ai toujours la même erreur PHP. Enfin c’est pas très grave, je pense que c’est pas la peine de chercher à supporter de vieilles version de Roundcube.
    Ça me décidera à upgrader mon Roundcube ;) il faut que je le fasse bientôt de toute manière.

    Et oui pour Google, j’en suis un peu allergique. Enfin bon je me créerai un compte temporaire…

Poster une réponse

NB : Le XHTML est autorisé. Votre adresse email ne sera jamais publiée ou partagée.

S'abonner au flux RSS des commentaires