Sortie de Crème CRM en version 1.7

Posté par  (site web personnel) . Édité par Davy Defaud, palm123, bubar🦥, Nils Ratusznik, ZeroHeure et Florent Zara. Modéré par bubar🦥. Licence CC By‑SA.
22
27
fév.
2018
Commercial

Le 12 février 2018 est sortie la version 1.7 du logiciel de gestion de la relation client Crème CRM, un peu plus de deux ans après la version 1.6 (15 janvier 2016).

Icône de Crème CRM

Si cette version a pris plus longtemps à sortir que les versions précédentes, c’est heureusement justifié par le nombre des améliorations. 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 1.7

Voici les changements les plus notables de cette version :

Amélioration de l’interface

L’interface a été largement améliorée et c’est ce qui pris le plus de temps de développement.

Le menu principal

Le menu principal a été complètement revu afin d’être plus pratique et plus compact que le précédent.

L’ancien menu était sur le côté de la page, il pouvait se rétracter ou rester affiché. Il prenait beaucoup de place et, au fil des années, l’organisation des différentes entrées par module (« app » dans le jargon Django) a montré ses limites, dans le sens où elle était assez obscure pour les utilisateurs finals.

Le nouveau menu est horizontal et il est placé en haut de la page, les sous‐menus se déroulent verticalement, comme dans un menu classique. Il est affiché en permanence (il ne se rétracte pas) mais, comme tout le haut de la page a été revu, la place occupée est bien moindre par rapport au vieux menu, ce qui laisse plus de place aux données des utilisateurs.
Nouveau menu

Sur la droite du menu, on trouve le nouveau panneau de recherche globale. Ce panneau n’a pas seulement été déplacé : lorsqu’on tape du texte dans cette entrée, des résultats nous sont proposés en temps réel. Ces résultats correspondent aux types de fiches les plus importants ; dans les nombreux cas de recherches peu ambiguës, cela permettra d’avoir très rapidement un résultat pertinent :
Recherche globale

Plus de détails dans ce billet sur le forum officiel.

Les blocs

Les blocs sont un des composants importants de Crème, puisqu’ils constituent la majeure partie de l’affichage des fiches. Leur amélioration a donc bénéficié à quasiment toute l’application (au prix certes de beaucoup de travail).

Ils ont été retravaillés afin d’être plus beaux, mais aussi plus compacts, tout en étant plus lisibles.
Bloc des relations

Un nouveau type de bloc fait son apparition sur certains types de fiche (Contact, Société et Opportunités, pour le moment). Il affiche un résumé des informations importantes et permet donc d’avoir rapidement un aperçu sur une fiche.
Aperçu d’une Société

Plus de détails dans ce billet sur le forum officiel.

Autres améliorations notables

  • les vues en listes (ex : vue de liste de tous contacts) sont plus belles, mais sont aussi plus pratiques : l’en‐tête suit désormais le défilement de la page (on voit donc le nom des colonnes même lorsqu’on est en bas d’une longue liste) ;
  • la page de connexion et les pages d’erreurs ont été améliorées visuellement et ne dépendent plus du thème utilisé ;
  • dans la configuration générale, beaucoup de formulaires sont maintenant des wizards (formulaires avec plusieurs étapes), pour être soit plus digestes, soit pour fusionner deux formulaires précédents ;
  • le pied de page est plus joli et affiche plus d’informations ;
  • une page À propos a été ajoutée.

Système de jobs

Le but de ce nouveau système est d’exécuter des processus en parallèle du serveur Web. Cela va permettre de gommer certaines limitations qu’avait Crème CRM jusqu’ici :

  • certaines fonctionnalités (ex : envoi de campagnes de courriels) nécessitaient de lancer régulièrement des commandes (typiquement avec cron) ; cela posait plusieurs soucis : il fallait créer ces scripts cron (sous Windows c’est encore plus pénible), les supprimer le jour ou l’app correspondante est désinstallée, il n’était pas possible de faire des actions qui s’exécutent à un moment exact dépendant de données utilisateur (ex : échéance d'une alerte), etc. ;
  • Certaines actions longues (ex : importation d’un fichier CSV) étaient effectuées dans le processus serveur, du coup cela pouvait provoquer des problèmes de délai d’expiration, il fallait laisser la page Web ouverte le temps que l’action se finisse ; de plus, il n’y avait rien qui permettait de reprendre une action interrompue (en cas de coupure de courant par exemple) ou d’afficher un résultat complet de ce qui a été fait (ex : la page de résultat de l’importation CSV était volatile, elle était perdue dès qu’on fermait la page).

Le système de jobs est basé sur un gestionnaire de jobs (un processus qui tourne à côté du serveur Web), qui va lancer des processus gérant les fonctionnalités décrites ci‐dessus. Comme le gestionnaire communique avec la partie serveur Web (actuellement via Redis, mais on pourrait facilement ajouter d’autres systèmes de queue à l’avenir si le besoin se présentait), il peut recalculer les échéances des jobs s’exécutant de manière récurrente (comme pour les envois de courriels). Comme chaque job est associé à un objet en base de données (ainsi que ses résultats), il est possible d’afficher des résultats lorsque le job est fini, ainsi que reprendre une exécution interrompue ; cela permet aussi de créer la configuration des jobs d’une app lorsqu’on l’installe (et à l’inverse de la supprimer lors d’une désinstallation).

Voici la page des jobs que peut voir un super‐utilisateur :
Liste des jobs

Si vous importez un fichier CSV ou XLS, lorsque vous validez le formulaire, vous vous retrouvez sur la page détaillée du job nouvellement créé. Une barre de progression indique au fur et à mesure le nombre de fiches importées. À la fin de l’importation, les résultats sont affichés et permettent de voir les lignes du fichier qui ont provoqué des erreurs. Cerise sur le gâteau, ces erreurs peuvent être téléchargées sous forme d’un fichier au même format que le fichier initial mais avec une colonne supplémentaire pour les erreurs.
Importation CSV

Amélioration des performances

Les performances avec de grands nombres de fiches dans les vues en liste devraient être meilleures, évidemment cela dépend de vos usages et vos retours sont appréciés. Quelques exemples de ce qui a été fait :

  • certaines requêtes de comptages ont été réécrites pour ne pas utiliser de JOIN ;
  • des index ont été ajoutés pour les cas les cas les plus fréquents ;
  • un nouveau système de pagination est utilisé dans les listes lorsqu’elles contiennent beaucoup de fiches, il évite de faire des OFFSET (opération lourde pour les SGBDR) tant que possible, la contrepartie étant qu’on ne peut pas aller à une page arbitrairement (à part la première). L’idée étant qu’aller arbitrairement à la page 3 785 est sûrement peu utile (on utilisera plutôt les fonctionnalités de recherche et de filtrage).

Le futur

La version 1.8 sortira dans très peu de temps, et se concentrera sur le passage à Django 1.11. En effet, Django 1.8 sur lequel Crème 1.7 est basé est proche de la fin de son support.

Une version 2.0 devrait sortir quelques mois après, ce changement de version majeure sera justifié par le passage à Python 3 (enfin !).

Aller plus loin

  • # ergonomie sympa mais

    Posté par  . Évalué à 0.

    Bonjour

    je suis votre crm depuis un moment. Bravo pour le travail.
    Cependant, point de vue ergonomie, ce n'est pas limpide.
    Par exemple : Créer un nouveau devis n'est pas si simple.
    On voit bien des boutons +, mais pour des vues ou filtres.

    • [^] # Re: ergonomie sympa mais

      Posté par  (site web personnel) . Évalué à 3.

      je suis votre crm depuis un moment. Bravo pour le travail.

      Merci.

      Cependant, point de vue ergonomie, ce n'est pas limpide.

      C'est toujours complexe de faire qu'un logiciel qui a beaucoup de fonctionnalités soit limpide ; c'est loin d'être parfait et nous y travaillons, mais la définition de limpide va différer chez chacun et compliquer encore plus la tâche de satisfaire tout le monde.

      Par exemple : Créer un nouveau devis n'est pas si simple.

      Dans le nouveau menu, il a une entrée "+ création" avec les type principaux type de fiche, et une entrée "Autre type de fiche" :

      Menu création

      Si vous cliquez sur cette dernière entrée une "popup" apparaît :

      Popup de création

      Vous retrouvez bien une entrée pour les Devis la section "Commercial", et une 2ème fois dans la section "Gestion".

      Et si vous êtes sur la fiche d'un devis existant, il y un bouton "Créer un devis" en haut de la page.

      Dans les versions précédentes, il y avait bien un bouton de création de devis dans la liste des devis ; nous avons enlevé ces boutons de création dans les nouvelles listes afin de les alléger (ayant en parallèle améliorer le menu de création) et nos clients ne nous ont pas fait de remarques là dessus. Évidemment suivant les retours d'autres changements à ce propos pourront être faits.

      • [^] # Re: ergonomie sympa mais

        Posté par  . Évalué à 2.

        je pinaille peut-être

        mais si je suis sur un devis, le bouton créer devis ne sert quasi à rien.
        un bouton permettant de dupliquer serait plus intéressant.

        en revanche, sur une liste de devis, de commande, de produits…, avoir un bouton créer serait plus judicieux que d'aller dans le menu que vous citez.
        car sur cette liste, l'action la plus courante sera d'interagir avec cette liste, et non de créer autre chose.
        ce qui est perturbant, c'est qu'on voit à deux endroits sur cette liste de devis des boutons +

        idem, avoir dans la liste des actions la possibilité en plus de modifier et supprimer, les actions imprimer, envoyer par mail, dupliquer.

        • [^] # Re: ergonomie sympa mais

          Posté par  (site web personnel) . Évalué à 2.

          je pinaille peut-être

          Les retours constructifs sont appréciés au contraire.

          mais si je suis sur un devis, le bouton créer devis ne sert quasi à rien.

          Ce bouton de création est présent dans toutes les fiches de manière à avoir quelque chose de cohérent ; la place qu'il prend serait, en l'état, de toute les façons perdue puisqu'il est à coté du bouton de retour à la liste. Et peut-être qu'il ne vous sert pas mais qu'il sert à quelqu'un qui fait souvent des devis à la suite mais pour qui une duplication serait plus lente (car peu de chose en commun entre les devis).

          un bouton permettant de dupliquer serait plus intéressant.

          Ça tombe bien, il y en a un. Le bouton "Cloner" est à côté du bouton de suppression, à droite de la 'barre' de titre.
          Les boutons au dessus de la barre ('liste' & 'créer') sont en rapport avec le type de fiche, les boutons dans la barre sont en rapport avec la fiche actuelle (donc modification, suppression, clonage, téléchargement…).

          car sur cette liste, l'action la plus courante sera d'interagir avec cette liste, et non de créer autre chose.
          ce qui est perturbant, c'est qu'on voit à deux endroits sur cette liste de devis des boutons +

          Les filtres et les vues de liste sont directement en rapport avec la liste (puisqu'ils permettent respectivement de filtrer les lignes et de choisir les colonnes de ladite liste). Ils correspondent bien à une interaction avec la liste ; les actions (sélection, création, modification, suppression) sur les filtres et les vues sont regroupées ; les boutons + ont bien un tooltip du genre "Créer un filtre personnalisé". Que vous ne connaissiez pas toutes les fonctions les 10 premières minutes ça ne me semble pas aberrants dans un logiciel professionnel qu'on est amené à utiliser ensuite des centaines d'heures.

          avoir dans la liste des actions la possibilité en plus de modifier et supprimer, les actions imprimer, envoyer par mail, dupliquer.

          La duplication pourquoi pas ; en revanche cela pose un problème si vous voulez rester dans la liste, car selon les règles de filtrage (ou même la pagination) la fiche nouvellement créée pourrait ne pas être affichée (ex: filtre sur la date de création). En revanche on peut aller sur la page détaillée de la fiche créée (comme quand on clone depuis une page détaillée).

          Actions imprimer & envoyer par mail sur la liste: là encore pourquoi pas. Personne ne nous a demandé ça en presque 10 ans, mais ça me semble intéressant ; après évidemment chaque fois qu'on ajoute des boutons, ils sont "polluants" pour tous ceux qui s'en fichent (ce qui est toute la problématique des logiciels qui ont beaucoup de fonctionnalités).

          Ça illustre bien le fait que tout le monde veut les fonctions qui lui semblent utiles/évidentes ; mais comme les gens ont des besoins différents ces fonctions évidentes sont différentes pour tout le monde (là est tout le challenge).

          Évidemment Creme est un logiciel libre (et pas avec un version propriétaire à côté), donc ces modifications peuvent être faites par quiconque le souhaite. Évidemment la meilleure façon de s'assurer que Creme continue à s'améliorer passe par la contribution ; que ça soit en envoyant directement des patches ou en finançant ces améliorations (c'est comme ça que nous vivons).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.