URL: https://linuxfr.org/news/sortie-de-creme-crm-en-version-2-3 Title: Sortie de CrĂšme CRM en version 2.3 Authors: GuieA_7 palm123 et Ysabeau đ§¶ Date: 2022ćčŽ03æ02æ„T15:17:51+01:00 License: CC By-SA Tags: crm, cremecrm, gestion_relation_clients, postgresql, python et django Score: 19 Le 15 fĂ©vrier 2022 est sortie la version 2.3 du logiciel de gestion de la relation client CrĂšme CRM (sous licence AGPL-3.0). La prĂ©cĂ©dente version, la 2.2, Ă©tait sortie quasiment un an auparavant, le 19 janvier 2021.  Pas mal de choses au programme, notamment la possibilitĂ© de personnaliser le menu principal, la disponibilitĂ© comme un paquet Python classique et une image Docker de dĂ©monstration. 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.3 ======================================== Voici les changements les plus notables de cette version : Les dĂ©pendances --------------- [Django](https://www.djangoproject.com/) 2.2 arrivant en fin de vie en avril 2022, nous sommes passĂ©s Ă Django 3.2, la derniĂšre version [LTS](https://fr.wikipedia.org/wiki/Long-term_support). Notre version de la bibliothĂšque JavaScript [jQuery](https://jquery.com/) Ă©tait franchement ancienne, et une grosse mise Ă jour a Ă©tĂ© faite en passant Ă la version 3.6. Au passage nous avons aussi augmentĂ© la version de notre calendrier [FullCalendar](https://fullcalendar.io/) qui est dĂ©sormais la 3.10. JusquâĂ prĂ©sent, la minification du JavaScript et du CSS Ă©tait faite, par dĂ©faut, par des logiciels en Java (respectivement Closure et YUICompressor). Il y avait certes moyen de ne pas faire de minification du tout, afin de ne pas avoir Ă installer Java, mais câĂ©tait dommage. DĂ©sormais la minification du JavaScript est faite par [rJSmin](https://pypi.org/project/rjsmin/), et celle de la CSS par [csscompressor](https://pypi.org/project/csscompressor/), tous deux codĂ©s en Python. Pour le CSS la taille des fichiers finaux est identique, mais la phase de minification est beaucoup plus rapide. Pour le JavaScript, la minification est lĂ aussi trĂšs rapide, mais les fichiers finaux sont un peu plus gros quâavant (installation par dĂ©faut: on est passĂ© de 355Kio Ă 457Kio ; pour information câest 822Kio sans minification). Les rĂ©sultats sont suffisamment bons pour lâinstallation par dĂ©faut (et vous pouvez toujours utiliser Closure si vous le souhaitez). La communication avec le gestionnaire de job, qui permet lâexĂ©cution de tĂąches longues et/ou pĂ©riodiques, peut (sous Unix) se passer de [Redis](https://fr.wikipedia.org/wiki/Redis) et plutĂŽt utiliser une _socket_ Unix. La disponibilitĂ© en tant que paquet ----------------------------------- Le travail pour faire de Creme un paquet Python classique avait Ă©tĂ© entamĂ© dans les versions prĂ©cĂ©dentes, mais nâĂ©tait jusquâici pas complet. Lorsque vous dĂ©ployiez une instance, vos fichiers de configuration (ainsi que votre propre code dans le cas oĂč vous vouliez avoir vos modules personnalisĂ©s) traĂźnaient encore au milieu du code de Creme (il y avait en fait moyen de bidouiller pour Ă©viter ça, mais ce nâĂ©tait ni documentĂ© ni tout Ă fait fonctionnel). Ce nâest, dĂ©sormais, plus le cas, vos fichiers sont complĂštement sĂ©parĂ©s, et Creme peut ĂȘtre installĂ© comme un paquet Python comme les autres, typiquement dans un _virtualenv_. Ainsi nous avons rendu disponible [Creme sur PyPI](https://pypi.org/project/creme-crm/), le dĂ©pĂŽt de paquets Python bien connu, ce qui permet de lâinstaller avec un simple `pip install creme-crm` (ce qui est un poil moins rebutant que devoir faire un `git clone`). Le menu principal configurable ------------------------------ Il est maintenant possible de modifier graphiquement le menu principal : on peut rajouter ou enlever des conteneurs et des entrĂ©es. Avant il fallait forcĂ©ment le faire via du code, ce qui limitait Ă des utilisateurs plus avancĂ©s, et rendait les modifications bien plus pĂ©nibles Ă dĂ©ployer en production.  Plus de dĂ©tails [ici](https://www.cremecrm.com/forum/showthread.php?tid=216). La configuration de champs comme obligatoires --------------------------------------------- Les champs optionnels (câest-Ă -dire quâon peut laisser vides dans les formulaires) peuvent ĂȘtre configurĂ©s comme obligatoires, comme on pouvait dĂ©jĂ le faire avec les champs personnalisĂ©s.  Plus de dĂ©tails [ici](https://www.cremecrm.com/forum/showthread.php?tid=218). Quelques autres amĂ©liorations en vrac ------------------------------------- - Les formulaires personnalisĂ©s peuvent maintenant ĂȘtre spĂ©cifiques Ă un rĂŽle utilisateur. - Lâhistorique a Ă©tĂ© amĂ©liorĂ© : les valeurs des textes longs, des champs _Many-To-Many_ (choix multiples) sont dĂ©sormais enregistrĂ©s, les modifications des champs personnalisĂ©s sont enfin historisĂ©s. - La recherche globale peut dĂ©sormais se faire dans les champs personnalisĂ©s (de type texte uniquement). - Les types de PropriĂ©tĂ©s (un peu lâĂ©quivalent de _tags_ dans Creme) peuvent dĂ©sormais ĂȘtre dĂ©sactivĂ©s ; ils ne sont alors plus proposĂ©s dans les formulaires. - Les alertes et les Todos validĂ©s peuvent ĂȘtre affichĂ©s (ils Ă©taient forcĂ©ment cachĂ©s jusquâĂ prĂ©sent). - Lâinterface de configuration des blocs des fiches a Ă©tĂ© amĂ©liorĂ©e ; elle est plus intuitive, compacte, et des descriptions sâaffichent pour chaque bloc, ce qui amĂšne une meilleure « dĂ©couvrabilitĂ© » de leurs fonctions.  Lâimage Docker de dĂ©mo ---------------------- Si notre dĂ©mo en ligne a lâavantage dâĂȘtre accessible en un clic, elle a quelques inconvĂ©nients. Nous sommes obligĂ©s de rendre inaccessible lâinterface de configuration (pour Ă©viter que des configurations « cassĂ©es » par les uns soient utilisĂ©es par les autres), il nâest pas conseillĂ© dây mettre des donnĂ©es sensibles (car visibles par les autres) etc. Bien que lâinstallation ne soit pas trĂšs complexe (surtout avec la disponibilitĂ© sur PyPI), nous proposons aussi dĂ©sormais une image [Docker de dĂ©mo](https://hub.docker.com/r/cremecrm/cremecrm-demo) qui permettra Ă ceux qui le dĂ©sirent de se faire rapidement une idĂ©e des capacitĂ©s du logiciel. Cette image a Ă©tĂ© conçue comme plutĂŽt lĂ©gĂšre, Ă des fins de dĂ©monstration : - elle utilise SQLite, pour ne pas dĂ©pendre dâune image pour PostGreSQL/MySQL. - lâabsence par dĂ©faut de Java dans la nouvelle configuration par dĂ©faut nous a permis dâallĂ©ger lâimage (il y aurait sĂ»rement encore Ă gratter). - nous avons utilisĂ© la nouvelle possibilitĂ© dâutiliser des _sockets_ Unix plutĂŽt que Redis pour ne pas dĂ©pendre dâune image pour ce dernier. Le mot de la fin ================ Je nâen avais jamais parlĂ© dans mes dĂ©pĂȘches, mais nous avons aussi une [chaĂźne Youtube avec des didacticiels](https://www.youtube.com/channel/UCqt-dsKnW7sNwlCWOODTDWQ). Que nous prĂ©pare la prochaine version ? Au moins le passage Ă Python 3.7 comme version minimale, et une refonte des imports de donnĂ©es depuis les e-mails. La feuille de route nâest pas encore totalement Ă©tablie, mais peut-ĂȘtre que vos propres contributions (en code ou en argent) en feront partie.