La technologie Cadulis

Cadulis utilise de nombreuses technologies de pointe. Vous trouverez ci-dessous quelques informations sur certaines d'entre-elles, afin de vous faire une idée plus précise.

Scalabilité

Vous trouvez que Cadulis fonctionne très bien? nous aussi :) mais grâce à cette organisation au top, votre entreprise grandit et vous vous demandez si Cadulis sera toujours aussi réactif ?
Rassurez vous, notre architecture est scalable, c’est à dire que les ressources serveurs s’adaptent en fonction de la demande. Nous avons fait des tests en injectant jusqu’à 10000 interventions en même temps.

Une entreprise qui croit nécessite par contre une organisation spécifique pour cloisonner les activités et les équipes. La encore Cadulis dispose des outils pour vous aider.

Performance

La réactivité est une des demandes essentielles de nos clients. Personne n’a envie d’attendre, ne serait-ce qu’une dizaine de secondes le chargement d’une page. Voici les astuces que nous avons mises en place pour rendre notre application complètement fluide, “frictionless” :

  • un système scalable automatiquement. Avec un hébergement Kubernetes, l’infrastructure Cadulis adapte ses propres ressources aux besoins utilisateurs. En période plus creuse (vacances, périodes spécifiques de la journée/nuit), le coût de l’hébergement baisse. Nous pouvons donc vous proposer le meilleur tarif du marché.
  • La plupart des traitements ont été rendu asynchrones, tolérants à la “panne”. Par exemple l’envoi d’un email automatique suite à la clôture d’une intervention peut être effectué quelques minutes après la clôture, si le système est chargé. En cas d’erreur, Cadulis retente l’envoi un peu plus tard. Vous pouvez ainsi poursuivre votre activité sans subir de lenteurs qui vous seraient désagréables. Dans cette optique, nous avons, avec l’avis de nos clients, pu définir certains traitements comme moins prioritaires.
  • Des entonnoirs de calculs efficaces. Imaginez le nombre de calculs nécessaires pour déterminer le meilleur créneau pour votre intervention : Il faut consulter tous les créneaux de tous vos techniciens, calculer les distances et temps de trajets entre les toutes interventions et calculer toutes les rentabilités ! Et pourtant la proposition de créneau identifie en quelques secondes les intervenants et les créneaux les plus rentables. Pour cela deux astuces : le calcul extrapolé du temps de trajet (voir l’article sur le machine learning) et un entonnoir qui permet d’éliminer rapidement les intervenants terrain trop éloignés, qui n’ont pas les bonnes compétences, ceux dont le planning est déjà complet.
  • La mise en cache. Nos utilisateurs (conduite d’activité ou intervenants) sont amenés à visiter plusieurs fois la même page. Dans ces cas-là, la page est mise en cache, ce qui évite au système de recalculer à chaque ouverture les données de temps de trajet, de distance, rentabilité… Une partie de ce système de cache est d’ailleurs ce qui permet l’utilisation de Cadulis sans avoir de réseau. (Voir l’article sur le hors ligne).

Machine learning

Le machine learning nous a aidé à résoudre un problème assez fréquent : comment rendre un calcul simple mais garder la précision . Le calcul en question est de déterminer le temps de trajet à partir des coordonnées GPS de deux points.
Les coordonnées GPS peuvent nous donner la distance à vol d’oiseau, moyennant de prendre en compte la courbure de la Terre, le calcul est précis et extrêmement rapide. Mais à partir de là, comment déterminer le temps de trajet réel ou même approximatif, sans faire appel à un système externe de cartographie, très gourmand en précieuses secondes de calcul ? Ces appels d’une durée de 0,2s constituent la part la plus importante du temps de calcul.
De quoi va dépendre le temps de trajet ? De la densité d’infrastructures routières telles que des voies rapides et autoroute à proximité du point de départ de l’intervenant principalement. C’est là qu’intervient notre machine learning : Pour passer de la distance vol d’oiseau au temps de trajet, nous utilisons un coefficient de correction, qui prend initialement pour chaque intervenant une valeur basse.
Avec cette valeur, un maximum d’intervenants passent les étapes de filtre de la proposition de créneau et par conséquent, pour les premiers appels (souvent réalisés en tests) les temps de réponse ne sont pas complètement optimisés.
A chaque fois qu’un appel à un système de cartographie tiers est réellement effectué pour cet intervenant, le coefficient est ajusté en fonction des données réelles de circulation.
Au bout de quelques appels, chaque intervenant possède un coefficient réaliste et les filtres de la proposition de créneau ne conservent que les intervenants les plus pertinents pour réaliser les appels
Le machine learning décrit un système qui devient de plus en plus efficace à mesure qu’il est utilisé. C’est bien le cas ici.

Blockchain

Avec les crypto monnaies, le Bitcoin, la blockchain fait partie des buzz words. Et pourtant au-delà du cercle de la finance cette technologie peut réellement apporter des solutions à des problématiques que nous rencontrons au quotidien.

Par exemple dans notre application de planification et d’optimisation d’intervention, Cadulis, la blockchain est une piste pour sécuriser la dématérialisation des documents.
Voici le cas concret :
Imaginez un technicien venant installer la fibre dans votre appartement. A la fin de l’intervention, vous signez un document (papier) pour attester que l’intervention a eu lieu. Cette signature n’est pas engageante sur le bon fonctionnement ou la bonne réalisation de l’intervention, elle ne certifie pas non plus de votre identité, que vous êtes le propriétaire de l’appartement ou le commanditaire indirect de l’intervention. Rien ne certifie non plus que l’intervenant ne va pas modifier le contenu du document après signature.
Et pourtant cette signature a une reconnaissance juridique que ne possède pas encore la signature numérique.

Notre système numérique, pourtant, porte en lui-même plus de sécurité : au moment de la signature, la date est enregistrée. Et chaque modification est tracée avec enregistrement de l’identifiant, la date et le contenu des modifications.
Pour aller plus loin encore, le rapport d’intervention (ou plus exactement son hash) peut être stockée dans une blockchain. Ainsi il est facile de démontrer juridiquement que le document est inviolable, infalsifiable, avec un horodatage et même une géolocalisation.
Voilà de quoi étouffer dans l’œuf bon nombre de litiges.
Un autre cas assez concret concerne le transport de déchets dangereux. La responsabilité de ces produits incombant au producteur jusqu’à leur destruction, ce dernier peut avec la blockchain tracer de manière sûre le parcours des différents documents attachés aux produits qu’il transporte.