Le 19 février 2021 est sortie la version 2.2 du logiciel de gestion de la relation client Crème CRM (sous licence AGPL-3.0). La précédente version, la 2.1, était sortie un peu plus d’un an auparavant, le 6 janvier 2020.
Pas mal de choses au programme, notamment le passage à Python 3.6 et la possibilité de personnaliser les formulaires principaux. Les nouveautés sont détaillées dans la suite de la dépêche.
Sommaire
Description du logiciel
Crème CRM est un logiciel de gestion de la relation client, généralement appelé CRM (pour Customer Relationship Management). Il dispose évidemment des fonctionnalités basiques d’un tel logiciel :
- un annuaire, dans lequel on enregistre contacts et sociétés : il peut s’agir de clients, bien sûr, mais aussi de partenaires, prospects, fournisseurs, adhérents, etc. ;
- un calendrier pour gérer ses rendez‐vous, appels téléphoniques, conférences, etc. ; chaque utilisateur peut avoir plusieurs calendriers, publics ou privés ;
- les opportunités d’affaires, gérant tout l’historique des ventes ;
- les actions commerciales, avec leurs objectifs à remplir ;
- les documents (fichiers) et les classeurs.
Crème CRM dispose en outre de nombreux modules optionnels le rendant très polyvalent :
- campagnes de courriels ;
- devis, bons de commande, factures et avoirs ;
- tickets, génération des rapports et graphiques…
L’objectif de Crème CRM est de fournir un logiciel libre de gestion de la relation client pouvant convenir à la plupart des besoins, simples ou complexes. À cet effet, il propose quelques concepts puissants qui se combinent entre eux (entités, relations, filtres, vues, propriétés, blocs), et il est très configurable (bien des problèmes pouvant se résoudre par l’interface de configuration) ; la contrepartie est qu’il faudra sûrement passer quelques minutes dans l’interface de configuration graphique pour avoir quelque chose qui vous convienne vraiment (la configuration par défaut ne pouvant être optimale pour tout le monde). De plus, afin de satisfaire les besoins les plus particuliers, son code est conçu pour être facilement étendu, tel un cadriciel (framework).
Du côté de la technique, Crème CRM est codé notamment avec Python/Django et fonctionne avec les bases de données MySQL, SQLite et PostgreSQL.
Principales nouveautés de la version 2.2
Voici les changements les plus notables de cette version :
Côté technique
La version minimale de Python est passée de « 3.5 » à « 3.6 ». Cela ne devrait pas être un problème, cette version était déjà par exemple dans Ubuntu 18.04. Cette version nous a permis de bénéficier des f-strings, et une bonne partie du code a été annotée avec des types.
Avec la disparition de la gestion de Mercurial par BitBucket, il nous a fallu trouver une solution ; nous sommes passés à Git et GitHub (rien de bien original). Avec la mise en place d’une intégration continue publique, cela permettra d’abaisser la barrière de la contribution.
Formulaires personnalisés
La (quasi) totalité des formulaires des fiches (entités), pour la création comme la modification, peuvent désormais être personnalisés. Cela signifie que vous pouvez choisir :
- quels champs sont présents. Il était déjà possible de cacher globalement des champs, et les champs que vous pouvez enlever des formulaires sont les mêmes que ceux que vous pouvez cacher (c’est-à-dire tous ceux qui ne sont pas obligatoires, la majorité). Mais cela permet de les enlever du formulaire de création, ou de modification (ou des 2) tout en les gardant visibles (pour les modifier depuis la vue détaillée par exemple).
- l’ordre des champs.
- le groupage des champs ; les champs sont groupés par blocs nommés (« Général », « Coordonnées », « Adresses »…).
- l’ordre et la disposition des blocs. Les blocs peuvent prendre toute la largeur de la page, ou bien seulement une des 2 moitiés (ce qui permet de faire 2 colonnes avec des groupes de champs).
Les blocs de champs peuvent être ré-ordonnés par glisser-déposer. Les boutons dans l’entête d’un bloc permettent de le modifier (son nom, ses champs), le supprimer, changer sa taille (100% ou 50%) et sa position (droite ou gauche si taille de 50%). De nouveaux blocs peuvent être créés. Notez que l’interface n’est pas WYSIWYG : un bloc est toujours seul sur sa ligne (même s’il ne fait que 50% de la largeur). Mais dans le formulaire généré si vous mélangez dans les blocs de champs de 50% à droite et à gauche ils pourront se retrouver côte à côte.
Export des factures & devis amélioré
Auparavant l’export générait forcément du PDF, et se faisait uniquement via Latex ; or ce dernier est plutôt pénible à installer (sous Windows notamment ; mais même sous Linux avoir tous les paquets nécessaires pour nos documents n’était pas forcément trivial), et pour les gens qui voulaient personnaliser le rendu de leur facture ce n’est pas le langage le plus facile/répandu.
Un système de backend a été développé, ainsi que plusieurs backends s’appuyant sur différentes bibliothèques :
-
xhtml2pdf
: ce backend est celui par défaut. La bibliothèquexhtml2pdf
s’installe facilement sur les différents OS, l’écriture des patrons se fait dans un sous-ensemble de HTML plutôt sympathique (même si la mise en page se fait principalement à coup de tableaux, cela reste acceptable dans ce cas de figure) et le rendu est assez joli. -
latex
: il s’agit globalement du code utilisé dans les versions précédentes de Creme (mais être sous la forme d’un backend permet de plus facilement personnaliser son comportement). Ce backend n’est pas proposé/installé de base (pour les raisons exposées plus haut), mais reste disponible. -
weasyprint
: cette bibliothèque de rendu PDF utilise un sous-ensemble de HTML meilleur que celui dexhtml2pdf
. Mais si elle s’installe facilement sous Linux, c’est plus compliqué sous Windows notamment ; aussi n'est-elle pas proposée de base.
Un autre backend est proposé par défaut: XLS. Comme son nom l’indique, il ne génère pas des fichiers PDFs mais des fichiers XLS, et est destiné aux gens qui voudraient faire du publi-postage.
Améliorations de champs personnalisés
Les champs personnalisés permettent d’ajouter des champs aux types de fiches existants, sans modifier/étendre le code. Comme ils sont souvent utilisés, plusieurs améliorations ont été intégrées, parmi lesquelles :
- 3 nouveaux types de champs sont disponibles: date, texte long & URL.
- un champ peut être marqué comme obligatoire (sa valeur devra être remplie lors de la création/modification d’une fiche).
- pour les champs proposant une liste de choix (simple ou multiple), des nouveaux choix peuvent être créés à la volée directement depuis les formulaires des fiches.
Quelques améliorations en vrac
- Nous avons depuis plusieurs années des blocs affichant des cartes Google Maps pour les fiches Contacts et Sociétés (pour effectuer des trajets commerciaux par exemple). Des blocs correspondants, mais utilisant OpenStreetMap, ont été ajoutés.
- Chaque utilisateur peut fixer la langue utilisée par l’interface ; par défaut c’est la langue demandée par le navigateur qui est utilisée (comme avant).
- Le calendrier utilise la bibliothèque JavaScript
Fullcalendar
; la version a été passée de « 1.6.7 » à « 3.10 ». - Il est désormais possible d’exporter la configuration (blocs, boutons, formulaires…) d’une instance de Creme et de l’importer dans une autre. C’est utile pour réutiliser la configuration d’un serveur de test/prototype dans un serveur de production.
- Il est possible de limiter un graphe aux fiches appartenant à l’utilisateur courant.
Le futur
La version 2.3 de Creme utilisera Django 3.2 (à l’heure où ces lignes sont écrites, la version de développement utilise déjà Django 3.1), et bénéficiera notamment d’améliorations dans les formulaires.
Aller plus loin
- Site officiel (390 clics)
- Démo en ligne (189 clics)
- Le dépôt de source (47 clics)
# upgrade 2.1
Posté par steph1978 . Évalué à 3.
Merci pour ces nouveautés !
Des précautions à prendre pour migrer depuis la 2.1 ?
[^] # Re: upgrade 2.1
Posté par GuieA_7 (site web personnel) . Évalué à 3.
Comme d'habitude faire une sauvegarde de la base de données et du répertoire
media/upload
(si vous utilisez les Documents principalement) de manière à revenir à votre installation de 2.1 en cas de gros problème. Attendez quelques jours pour la sortie de la 2.2.1 (rien de méchant de corrigé mais tant qu'à faire…).Mais sinon tout est fait pour une upgrade sans accroc (avec les commandes d'installation classique
migrate
,creme_populate
,generatemedia
). Le Turoriel parle d'une installation depuis 0 ou depuis une 2.1.Et pour cette version en particulier :
En cas de souci vous pouvez poser vos question sur le forum.
# Installation
Posté par Philippe M (site web personnel) . Évalué à 2.
Bonjour, CremeCrm fait partie des projets que je suis pour ma culture et peut être pour un usage pro. Je voulais le tester dans un container docker mais je n'ai pas trouvé d'info sur le sujet. Sur le hub il y en a bien un mais qui date de 4 ans.
Est-ce prévu ou bien est-ce qu'il vaut mieux passer par une VM ?
Born to Kill EndUser !
[^] # Re: Installation
Posté par GuieA_7 (site web personnel) . Évalué à 4.
Oui l'image docker qui traîne sur le hub n'est pas "officielle" (dans le sens pas faite par nous) et très ancienne.
Il est prévu de proposer de quoi bâtir son image Docker (et donc choisir son serveur web, son SGBD…), ainsi qu'une image officielle (et donc avec des choix imposés) destinée à tester (et pas à mettre en production) ; mais je ne peux rien promettre sur une quelconque date, cela dépendra du temps qu'on arrive à dégager pour faire ça proprement.
Au passage un gentil membre de la communauté LinuxFr a fait des journaux sur sa dockerisation de Creme.
[^] # Re: Installation
Posté par Philippe M (site web personnel) . Évalué à 1.
Parfait comme info, je vais patienter pour Docker.
En attendant je vais faire mes essais avec une VM.
Born to Kill EndUser !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.