Présentation de Feng Office
Feng Office (anciennement opengoo) est un outil de collaboration en ligne. Mais on peut très bien s’en servir (c’est ce que je vais faire) pour autre chose que pour la collaboration. Il permet de se passer d’un certain nombre de services de google (par exemple), pour rapatrier ses données sur son propre serveur, ce qui me parait important.
L’outil est distribué sous licence AGPL (version 3). Le langage utilisé côté serveur est le php. Côté client, c’est énormément de javascript. L’installation est tout à fait triviale : un serveur apache (ou autre), un serveur MySQL (je ne crois pas que PostgreSQL soit supporté, mais il se peut que je me trompe) et php, il n’y a qu’à pointer sur une URL et suivre les instructions.
Une fois connecté, on arrive sur cette page :
On voit en haut à droite un espace réservé aux « workspaces » (j’expliquerai plus tard), au dessous, un espace réservé aux tags (j’expliquerai aussi plus tard), et au centre, un certain nombre de widgets qui permettent d’avoir une vue globale de l’application (un calendrier, un résumé de l’activité sur l’application, et un aperçu des emails non lus). Au dessus, on voit les différents onglets représentant les différentes fonctionnalités de l’application. Et enfin, en haut, on peut voir une barre de recherches – bien pratique – dont les recherches couvrent à peu près toute l’application (seul regret : elle ne recherche pas dans les documents). L’interface de l’application est plutôt sobre et agréable (question de gout, évidemment). Je vais maintenant entrer un peu plus dans le détail du fonctionnement de l’application.
Les workspaces et les Tags
Les workspaces et les tags sont deux notions très pratiques de Feng Office. Ils servent à classer les emails, les documents et tous les objets manipulés par l’application. A chaque objet manipulé, on peut associer des workspaces ou des tags. Par exemple, quand on ajoute un compte email à Feng Office, on peut associer à ce compte un workspace. Tous les emails reçus via ce compte seront classés dans le workspace auquel le compte est relié. Quand on se rend dans l’interface gérant les emails, on peut alors filtrer les emails par workspace. Il en va de même pour tous les autres objets manipulés (documents, évènements etc.).
L’utilisation des workspaces est flexible : un objet peut être présent sur plusieurs workspaces et on peut éditer les workspaces sur lesquels un objet doit apparaître. Par ailleurs, les workspaces peuvent être organisés d’une manière hiérarchique (avec une notion de père-fils).
Les tags fonctionnent un peu de la même manière que les workspaces, sauf qu’ils ne sont pas organisés d’une manière hiérarchique. Hormis ce détail, la différence est surtout conceptuelle : on utilisera les workspaces pour organiser les objets, comme dans des dossiers, tandis que les tags serviront plutôt à « marquer » les objets.
Le webmail
L’application est dotée d’un webmail bien complet au niveau des fonctionnalités (déjà, les notions de workspace et de tag permettent de classer simplement les emails).
Voici à quoi ressemble l’interface :
(désolé pour les vilaines taches noires, mais je ne tenais à faire apparaître ni les auteurs ni les sujets des emails, même s’ils sont vieux).
La plupart des options parlent d’elles-mêmes et sont communes à la plupart des webmails : on peut n’afficher que les emails lus ou non lus, vérifier la présence de nouveaux emails (on peut activer dans les options une vérification automatique des emails), archiver les emails, filtrer par compte email.
Il est possible d’afficher des colonnes en plus (tags de l’email, dossier de l’email, destinataire).
Il y a une seule chose qui m’a semblé manquer (je ne l’ai pas trouvé, mais il se peut qu’elle existe), c’est la possibilité de faire des filtres. Par exemple, d’attribuer automatiquement des tags ou des workspaces en fonction de la provenance d’un email, ou de la présence de mot-clés dans l’email.
Une chose pratique (présente dans beaucoup de clients email, web ou non, il me semble) est la détection automatique des paramètres imap/pop et smtp. Je ne saurais pas faire une liste des comptes reconnus, étant donné que je n’ai testé qu’avec gmail pour le moment.
Les contacts
Un client email ne peut pas être bon s’il ne présente pas une bonne gestion des contacts. Celle de Feng Office m’a paru bien complète.
Voici à quoi ressemble l’interface de gestion des contacts :
On peut voir qu’on peut gérer des contacts et des entreprises, un client pouvant être relié à une entreprise.
Les informations qu’on peut renseigner sur un contact sont nombreuses : coordonnées au travail, coordonnées personnelles, adresse email, adresses de messagerie instantanée.
Quand on reçoit un email d’une personne qui n’est pas présente dans les contacts, Feng Office propose de l’y ajouter.
Bien entendu, il y a une complétion automatique des contacts lors de la rédaction d’un email (pas sûr l’adresse mail, mais sur le nom du contact, ce qui peut être gênant).
Les contacts peuvent être importés et exportés aux formats CSV et vCard.
Le petit bémol concernant la gestion des contacts, c’est que lors de l’envoi d’un email à une personne qui n’est pas présente dans les contacts, Feng Office ne l’y ajoute pas automatiquement. C’est pourtant bien pratique.
Le calendrier
Le calendrier doit être un composant important pour beaucoup (pas pour moi, je n’utilise quasiment pas ^_^). Celui de Feng Office a l’air de présenter toutes les fonctions qu’on peut attendre d’un calendrier (je ne suis sans doute pas le mieux placé pour en juger).
Voici à quoi ressemble le calendrier quand on se rend dans l’onglet correspondant :
On a donc la possibilité de choisir un affichage par mois, par semaine, par 5 jours et par jour. Selon l’option choisie, l’affichage ne se fait pas de la même manière : l’affichage par mois ne permet pas de distinguer les évènements qui se chevauchent dans le temps, les autres le permettent.
Par exemple, un affichage par semaine donne ça :
Quand un affichage par mois donne ça :
A chaque évènement peuvent être associées des alertes : soit une pop-up dans l’application, soit l’envoi d’un mail (de 0 à 30 minutes/heures/jours/heures avant l’évènement).
On peut exporter ou importer des évènements au format iCalendar.
Les documents
Encore une fonctionnalité intéressante : la possibilité de gérer des documents. Les documents sont versionnés automatiquement, c’est à dire qu’à chaque modification, une nouvelle version du fichier est créée, et on peut retrouver toutes les versions d’un document (comme dans une GED). On peut également bloquer l’édition d’un fichier.
De base, Feng Office gère deux types de documents (on peut uploader n’importe quel autre type de document, mais il ne sera pas éditable dans Feng Office) :
- des fichiers traitement de texte, au format html. L’édition des fichiers se fait par un éditeur de html classique. Le soucis, c’est que le html, ce n’est pas terrible à exporter pour distribuer le fichier. Pour pallier le problème, il existe un plugin qui permet d’exporter au format PDF. Par contre, c’est un plugin qui ne semble plus maintenu (pas de mise à jour depuis 2 ans).
- des fichiers présentation (diapositives) au format .slim (il s’agit en fait de html, je ne sais pas si d’autres applications utilisent ces fichiers). Voici à quoi ressemble l’interface d’édition d’un fichier de présentation :
Cette possibilité de faire des présentations m’a paru un peu « gadget », mais pourquoi pas.
Il est possible de gérer un type de document supplémentaire : des documents tableur. Cette fonctionnalité est cachée par défaut, parce qu’elle est en version alpha. Pour la débloquer, il faut décommenter les lignes suivantes :
}}/*, {text: lang('spreadsheet') + ' (ALPHA)', iconCls: 'ico-sprd', handler: function() { var url = og.getUrl('files', 'add_spreadsheet'); og.openLink(url); }}*/
dans le fichier public/assets/javascript/og/FileManager.js
et
// {id: 'quick-spreadsheet', text: lang('spreadsheet'), iconCls: 'ico-sprd', handler: function() { // var url = og.getUrl('files', 'add_spreadsheet'); // og.openLink(url/*, {caller: 'documents-panel'}*/); // }},
Dans public/assets/javascript/og/QuickAdd.js
Le tableur réutilise un composant existant : Gelsheet. Et voici à quoi il ressemble :
Il propose une douzaine de fonctions de base (cosinus, moyenne etc.). Les formats d’exports du tableur sont : PDF, XLS, XLSX (pour ceux qui aiment les formats moisis :p) et ODS.
Conclusion
Voilà donc pour les fonctions de base de Feng Office. Il y en d’autres, mais ça me paraissait un peu long de toutes les détailler. Je pense que c’est un outil qui gagnerait à être connu. En tout cas, j’en ai assez peu entendu parler, pourtant, il présente de nombreuses fonctionnalités intéressantes, et a l’avantage de toutes les centraliser en une seule application (comme les autres groupwares). Je n’ai pas du tout abordé la question de la collaboration dans cet article, parce que c’est un sujet que je ne maîtrise pas du tout sur l’outil.
J’avais déjà installé Feng Office il y a quelques temps (environ un an), mais j’avais abandonné, parce que son utilisation massive du javascript rendait l’application lente et lourde. Depuis, les moteurs de javascript se sont bien améliorés (et les développeurs ont peut-être optimisé le code), et l’application est beaucoup plus fluide. Je pense donc que je vais migrer toute ma gestion d’emails et de documents perso dessus.
J’avais constaté également une utilisation importante d’espace disque (mais à mon avis, c’est inévitable quand on a un nombre important d’emails avec des pièces-jointes lourdes). Enfin, j’avais eu un gros problème suite à une mise à jour de l’application : plus rien ne fonctionnait. Je ne peux donc que conseiller de faire des sauvegardes de l’application et de la base avant de lancer une mise à jour automatique (c’est bateau comme conseil, mais ça peut arriver d’oublier ou d’avoir la flemme de le faire).
A noter qu’il est possible d’ajouter assez facilement un onglet dans fengoffice. J’avais détaillé la procédure à suivre dans mon wiki. C’est moche, ça utilise une iframe, mais ça m’avait fait « rigoler » à l’époque de pouvoir intégrer mon lecteur de flux RSS (tiny tiny RSS) dans Feng Office (on s’amuse comme on peut).