URL: https://linuxfr.org/news/sortie-de-creme-crm-en-version-2-2 Title: Sortie de CrĂšme CRM en version 2.2 Authors: GuieA_7 Ysabeau đ§¶ Date: 2021ćčŽ03æ12æ„T17:22:05+01:00 License: CC By-SA Tags: cremecrm, gestion_relation_clients, ubuntu, postgresql, python, django et crm Score: 25 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. ---- [Site officiel](https://cremecrm.com/) [DĂ©mo en ligne](https://demos.cremecrm.com) [Le dĂ©pĂŽt de source](https://github.com/HybirdCorp/creme_crm) ---- Description du logiciel ======================= CrĂšme CRM est un logiciel de [gestion de la relation client](https://fr.wikipedia.org/wiki/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](https://docs.python.org/release/3.6.0/whatsnew/3.6.html#pep-498-formatted-string-literals), 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](https://fr.wikipedia.org/wiki/What_you_see_is_what_you_get) : 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Ăšque `xhtml2pdf` 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 de `xhtml2pdf`. 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.