Études de cas issues de nos projets

Nos projets sont la meilleure illustration de notre façon de travailler. Vous trouverez ici une sélection d'études de cas issues d'éditeurs de logiciels, de la technologie des capteurs, de la construction mécanique, de la CAO et du BIM, des techniques de laboratoire et de mesure ainsi que de la recherche – chacune avec la situation initiale, la démarche, la solution et le résultat. Elles montrent comment nous clarifions les exigences, rendons les risques visibles très tôt et livrons des logiciels qui font leurs preuves au quotidien chez nos clients. Nous ne citons le nom de nos clients que s'il est public.

Roues dentées qui s'engrènent, image d'un logiciel développé au fil des années

Le relais quand l'équipe de développement a fait défaut

Secteur : logiciel · Client : éditeur de logiciels

Situation initiale : Chez un éditeur de logiciels, toute l'équipe de développement a fait défaut. Les clients de l'entreprise continuaient d'attendre du support, des corrections d'erreurs et de nouvelles fonctions.

Défi : La documentation et les commentaires dans le code source étaient quasi inexistants, et l'entreprise ne disposait plus en interne des connaissances sur la structure et le fonctionnement du logiciel.

Démarche :

  1. Reprise à court terme : Nous avons pris le relais et assuré le suivi courant du logiciel.
  2. Analyse et prise en main : Nous avons examiné le code et les structures de données, reconstitué les liens entre les composants et documenté ces connaissances.
  3. Continuité sans rupture : En parallèle, nous avons assisté les clients, corrigé les erreurs et continué à développer le logiciel – sans interruption pour les utilisateurs.

Résultat : Tous les clients ont pu continuer à être suivis, et le logiciel a continué d'évoluer. Le propriétaire en a tiré profit : lors de la vente ultérieure de son entreprise à un éditeur plus important, le logiciel entretenu et développé a contribué à une nette plus-value.

Prestations : analyse logicielle, reprise sans documentation, support, maintenance et développement continu

Schéma d'un scanner laser mesurant un colis sur un convoyeur

Étalonnage de scanners laser à roue polygonale : 3 étapes au lieu de 5

Secteur : capteurs · Client : grand fabricant international de capteurs

Situation initiale : Un prestataire externe avait cessé de travailler sur le logiciel d'étalonnage des scanners laser à roue polygonale. Nous devions prendre le relais.

Défi : Le code source était à peine lisible et en partie obscurci. L'étalonnage comportait cinq étapes que les metteurs en service, les intégrateurs et le support doivent effectuer dans le monde entier lors de chaque installation.

Démarche :

  1. Analyse : Nous avons examiné le code existant étape par étape.
  2. Modèle UML : Nous avons représenté la structure statique et les séquences dynamiques sous forme d'architecture UML. Il est rapidement apparu que plusieurs étapes d'étalonnage se recoupaient.
  3. Nouvelle mise au point mathématique : Nous avons mieux harmonisé les étapes par le calcul et supprimé entièrement celles qui étaient superflues.

Résultat : L'étalonnage ne nécessite plus que 3 étapes au lieu de 5. Comme il est effectué dans le monde entier lors d'un très grand nombre d'installations, cela permet d'économiser plusieurs milliers d'heures de travail par an – chez le client, chez ses intégrateurs et au support.

Prestations : analyse de code, UML (modèles statiques et dynamiques), mathématiques de l'étalonnage, développement continu

Projet d'aménagement passant du dessin CAO à la vue finale

Système de CAO maison : 12,5 à 15 fois plus rapide

Secteur : CAO / conception · Client : entreprise disposant de son propre système de CAO et de son propre service de développement logiciel

Situation initiale : Le client avait développé lui-même son système de CAO et l'avait enrichi au fil des années d'un très grand nombre de fonctions. Pour les conceptions de grande taille, il fallait désormais attendre plusieurs minutes une réaction – le système était pratiquement figé.

Défi : L'objectif du client : doubler la vitesse. Ce seul gain valait pour lui une somme à cinq chiffres élevée.

Démarche :

  1. Analyse et note de conception : Nous avons examiné le logiciel et consigné les leviers d'amélioration dans une note de conception. Arrivés à près de 50 points, nous avons cessé de compter.
  2. Premiers points mis en œuvre par nos soins : Nous avons directement mis en œuvre les mesures les plus efficaces.
  3. Montée en compétence de l'équipe du client : Au cours de plusieurs réunions, nous avons guidé le service de développement du client pour qu'il mette lui-même en œuvre les points suivants.
  4. Calcul en arrière-plan : Les calculs coûteux s'exécutent désormais en arrière-plan, de sorte que l'utilisateur n'a plus de temps d'attente.

Résultat : Au lieu du doublement espéré, le système est aujourd'hui 12,5 à 15 fois plus rapide (mesuré sur les versions intermédiaires). Le programme s'utilise de nouveau de manière fluide, et là où les calculs se font en arrière-plan, l'utilisateur ne subit plus aucun délai.

Prestations : analyse des performances, note de conception, mise en œuvre, accompagnement de l'équipe du client, calcul en arrière-plan

Chiffres d'affaires sous forme de graphiques sur une tablette

Urgence en août : le logiciel de facturation sauvé en un week-end

Secteur : administration et comptabilité · Client : client de longue date disposant de son propre logiciel de facturation

Situation initiale : Pour ce client, nous avions notamment développé la facture électronique et la présentation graphique de ses chiffres d'activité. Puis est arrivée une mise à jour de sécurité Windows – après quoi le logiciel de facturation ne fonctionnait plus.

Défi : Sans logiciel, pas de factures. Le client était dans une réelle détresse, et c'était le mois d'août : période de vacances, équipe de toute façon réduite.

Démarche :

  1. Réaction immédiate : Nous avons rappelé sans délai et constitué une équipe.
  2. Travail tout le week-end : Malgré la période de vacances, nous avons développé et testé une solution pendant le week-end.
  3. Déploiement le lundi : L'activité a repris sans accroc, le client a de nouveau pu émettre des factures.
  4. Bilan et améliorations : Ensemble, nous avons analysé ce qui s'était passé et rendu le système plus robuste grâce à d'autres ajustements.

Résultat : Aucune journée de travail perdue, aucun encaissement en souffrance. Depuis, nous n'entendons surtout qu'une chose de ce client : rien. Il est manifestement très occupé à rédiger des factures.

Prestations : support d'urgence, analyse d'erreurs après une mise à jour Windows, intervention le week-end, améliorations

Détection de visages avec une caméra

Caméras thermiques : détecter les visages sur un matériel limité

Secteur : technologie des caméras / capteurs · Client : fabricant de caméras thermiques infrarouges

Situation initiale : Le fabricant voulait mesurer la température corporelle des personnes avec ses caméras thermiques. Pour cela, la caméra doit d'abord détecter où se trouvent les visages dans l'image – il s'agit de la position des visages, et non de l'identité des personnes.

Défi : Dans les halls et les espaces ouverts, de nombreuses autres sources de chaleur, comme les lampes, perturbent la détection. De plus, le logiciel fonctionne sur un système embarqué à la puissance de calcul très limitée – des méthodes d'IA gourmandes en calcul étaient exclues.

Démarche :

  1. Évaluation des méthodes : Nous avons comparé différents algorithmes et réseaux de neurones en termes de vitesse et de qualité de détection.
  2. Développement de méthodes légères propres : Elles distinguent de manière fiable les visages des lampes et autres sources de chaleur, et fonctionnent en temps réel sur le matériel embarqué.
  3. Remise : Le client a reçu la solution avec une documentation complète et le code pour la suite du développement.

Résultat : La solution était prête environ neuf mois avant le début de la pandémie de Covid-19. Lorsque des mesures de température ont été demandées dans le monde entier, notre client était prêt : ses caméras ont été utilisées dans des aéroports, des hôpitaux et de nombreux autres établissements à travers le monde, et la demande lui a apporté une nette hausse de son chiffre d'affaires.

Prestations : traitement d'images, développement d'algorithmes pour systèmes embarqués, évaluation de méthodes, documentation et remise

Machine de production industrielle avec commande logicielle

Logiciel de commande pour une machine de production

Secteur : construction mécanique · Client : constructeur de machines leader à l'international · Durée : environ un an · Équipe : six développeurs expérimentés

Situation initiale : Une machine de production complexe fait passer des produits à travers plusieurs modules au moyen d'une unité de transport. Ces modules usinent, marquent et contrôlent les produits avec une grande précision. Y interviennent des lasers, des scanners, des caméras, des imprimantes d'étiquettes et des unités de programmation de puces – chaque appareil avec sa propre interface et son propre comportement temporel.

Défi : Selon le type de produit et la vitesse de production, chaque module doit exécuter d'autres fonctions, contrôles et séquences – de manière fiable et en temps réel, sans ralentir la cadence de la machine.

Solution : Nous avons développé un logiciel temps réel modulaire qui fonctionne sur un système d'exploitation temps réel spécifique :

  • Chaque appareil dispose de son propre module logiciel, qui s'adapte au type de produit et à la vitesse.
  • La communication passe par un API (Beckhoff TwinCAT), TCP/IP et OPC UA.
  • Un module de commande central coordonne tous les processus et assure une interaction harmonieuse des composants.
  • Une base de données connectée gère la configuration et les données de production.
  • Une interface claire sur le terminal central affiche l'état de chaque produit, les erreurs éventuelles et tous les réglages.

Démarche : Nous avons pris en charge l'ensemble du processus de développement – de la gestion des exigences et de l'architecture logicielle à la réalisation et à la mise en service, jusqu'aux tests et à l'assurance qualité. Le travail s'est déroulé en mode agile avec Scrum, la coordination passait par Jira et Confluence.

Résultat : Un déroulement de production stable et surveillé en continu. L'opérateur garde à tout moment une vue d'ensemble, et l'architecture modulaire, avec un module logiciel propre à chaque appareil, rend le système clair et extensible.

Technologies : C#, C++, WPF, API (Beckhoff TwinCAT), OPC UA, TCP/IP, base de données, Azure DevOps, Jira, Confluence, Scrum

En savoir plus sur le projet

Extension AutoCAD pour le bâtiment et le génie civil

Modernisation d'une extension AutoCAD pour le génie civil

Secteur : CAO / génie civil · Client : grand éditeur de logiciels (fournisseur de CAO)

Situation initiale : Une extension pour AutoCAD et AutoCAD Civil développée au fil de plus de douze ans, comptant plusieurs centaines de milliers de lignes de code en C++, COM, MFC et ObjectARX. Chaque nouvelle version d'AutoCAD entraînait d'importants efforts de migration.

Défi : Un portage de cette ampleur est un investissement. Le client avait besoin d'une base de décision solide avant de le valider.

Démarche :

  1. Étude de faisabilité : Nous avons analysé l'architecture et le code et planifié le passage à l'AutoCAD .NET API.
  2. Calcul de rentabilité : Il a montré comment l'effort avec C++ évolue au fil des années et à partir de quand le portage vers un langage moderne devient rentable.
  3. Portage : L'interface utilisateur avec menu principal et menu contextuel, ruban, fenêtre des propriétés, commandes et boîtes de dialogue, tout comme le noyau CAO avec entités, réacteurs et Xdata – vers C# et l'AutoCAD .NET API, avec en plus la possibilité de fonctionner dans BricsCAD.
  4. Formation : Lors d'une formation de trois jours, nous avons préparé l'équipe de développement du client à l'AutoCAD .NET API avec C#. Nous avions auparavant déjà formé l'équipe à ObjectARX et C++.

Résultat : Dès le portage, le code est devenu nettement plus court et plus simple. L'équipe de développement du client est prête à poursuivre le développement en C# et avec l'AutoCAD .NET API, et l'extension fonctionne en plus dans BricsCAD.

Technologies : AutoCAD, AutoCAD Civil, BricsCAD, ObjectARX, AutoCAD .NET API, C#, C++, MFC, COM, UML

En savoir plus sur le projet

Add-in Revit pour la planification de laboratoires

Add-in Revit pour l'export de données de projets de laboratoire

Secteur : technique de laboratoire / BIM · Client : fournisseur leader mondial de technique de laboratoire

Situation initiale : Les laboratoires sont planifiés sous forme de projets Revit. Les équipes commerciales et de planification ont besoin d'en extraire des données bien précises – par exemple les familles et catégories d'appareils de laboratoire spécifiques –, souvent à partir de nombreux projets à la fois.

Défi : Les données devaient être disponibles dans différents formats et structures, selon le système ou le client chargé de les traiter.

Solution : Un add-in Revit sur mesure analyse l'organisation et la structure des laboratoires et exporte de manière ciblée les types souhaités :

  • Formats flexibles : sortie en XML, JSON, PDF et autres formats.
  • Structure de données personnalisable : la structure des fichiers XML et JSON peut être adaptée aux exigences du client.
  • Automatisation : traite aussi bien des fichiers RVT ouverts individuellement que des répertoires entiers avec sous-dossiers – pour des projets individuels comme pour de grands volumes de données.
  • Ventes : associé à un simulateur, il permet de définir, de représenter et de présenter les exigences des clients en matière de planification de laboratoire.

Résultat : La coordination entre ventes, planification et clients est devenue nettement plus simple, et l'ensemble du processus de vente et de planification plus efficace.

Technologies : Revit API, C#, WPF

En savoir plus sur le projet

Logiciel d'appareil de mesure après la modernisation

Modernisation d'un logiciel d'appareil de mesure : de Delphi à C#

Secteur : métrologie · Client : fabricant d'appareils de mesure · Équipe : dix personnes

Situation initiale : Un logiciel Delphi développé en interne et utilisé depuis des décennies devait être modernisé et porté de Delphi vers une technologie moderne.

Défi : Avant le développement se posait la question de savoir quelles technologies étaient les bonnes et comment l'équipe du client pourrait accompagner cette transition.

Démarche :

  1. Conseil et planification : Nous avons mis en regard les objectifs et les possibilités des nouvelles technologies.
  2. Prototypes : Ils ont montré à quoi pourraient ressembler les solutions possibles, afin que le client puisse décider avec nous.
  3. Formation sur site : Toute l'équipe du client a été initiée aux nouvelles technologies.
  4. Portage agile : Le logiciel est porté vers C# et WPF par une équipe projet de dix personnes.

Résultat : Le nouveau logiciel est déjà utilisé en interne chez le client et convainc aussi bien les techniciens de mesure que les commerciaux. Une fois les travaux terminés, il sera mis à la disposition de tous les clients finaux.

Technologies : C#, WPF, Delphi, MariaDB, Entity Framework, Scrum, Jira, Git

En savoir plus sur le projet

Lecteur pour PCR numérique en laboratoire

Logiciel pour un lecteur de PCR numérique

Secteur : techniques de laboratoire et techniques médicales · Cadre : projet collaboratif FREEDOM du BMBF (FKZ 13N15287), cinq partenaires, durée de trois ans à partir de février 2021

Situation initiale : Un appareil d'un genre nouveau doit analyser des échantillons à la recherche de séquences d'ADN précises, plus rapidement, plus simplement et avec une complexité accrue – par exemple des échantillons de sang à la recherche d'ADN tumoral, ou des denrées alimentaires comme le maïs à la recherche de composants génétiquement modifiés.

Défi : Le pilotage de l'appareil, l'acquisition d'images et l'évaluation scientifique devaient être réunis dans une seule application – en concertation entre une fondation de recherche, une université et trois entreprises industrielles.

Notre part : Dans le sous-projet « Conception et mise en œuvre de l'architecture logicielle », Cadida était responsable de :

  • l'architecture logicielle, les modèles de données et les interfaces
  • l'interface utilisateur ainsi que le pilotage de la caméra et des LED
  • l'acquisition d'images, l'analyse d'images, l'analyse de données et la présentation des résultats
  • des user stories avec tests automatisés qui garantissent les exigences dans le détail

Résultat : Un logiciel qui réunit pilotage de l'appareil, traitement d'images et évaluation dans une seule application – développé en consortium et sécurisé de manière traçable par des tests automatisés.

Technologies : C#, WPF, Entity Framework, OpenCV, Scrum, Jira, Git

En savoir plus sur le projet

HIRAC : fauteuil roulant avec bras robotique et suivi oculaire

HIRAC : système d'assistance IA pour fauteuils roulants

Secteur : recherche / robotique · Cadre : financé dans le cadre du Programme central d'innovation pour les PME (ZIM), en collaboration avec la Hochschule Offenburg

Situation initiale : Les personnes tétraplégiques et les patients atteints du syndrome d'enfermement (locked-in syndrome) ne peuvent pas accomplir seuls des gestes même simples, comme saisir un verre d'eau. Les appareils à commande vocale ne leur sont guère utiles, car leur capacité à parler est limitée.

Défi : Le système doit pouvoir fonctionner avec des fauteuils roulants, des bras robotiques, des préhenseurs et des lunettes de suivi oculaire du commerce de différents fabricants, et les commander.

Solution : HIRAC (Hardware Independent Robotic Assistance Controller) est un middleware indépendant du matériel pour les tâches de préhension robotisée :

  • Une IA réunit la commande par suivi oculaire, le traitement d'images, le retour des capteurs et la manipulation d'objets.
  • Le système global associe l'IA, la commande du fauteuil roulant par suivi oculaire, le bras de préhension monté sur le fauteuil et la sortie vocale.

Cadida assure la direction du projet et le développement logiciel, en collaboration avec la Hochschule Offenburg.

Objectif : Les personnes concernées doivent pouvoir accomplir seules les tâches du quotidien, et le personnel soignant s'en trouve soulagé.

Technologies : Python, ROS2, Deep Learning, Reinforcement Learning, Linux, interface web

En savoir plus sur le projet

Ce que nos projets ont en commun

  • De la clarté avant la première ligne de code : études de faisabilité, prototypes et calculs de rentabilité rendent les risques visibles très tôt.
  • Agilité et transparence : nous développons par petites étapes avec Scrum – vous voyez régulièrement l'avancement et participez au pilotage.
  • La qualité dès le départ : des tests automatisés et l'assurance qualité accompagnent chaque projet.
  • Le savoir reste chez vous : sur demande, nous formons votre équipe pour qu'elle puisse faire évoluer le logiciel elle-même.

Votre projet

Vous êtes confronté à une tâche similaire ? Vous trouverez d'autres exemples dans nos projets et nos références. Pour savoir comment se déroule une collaboration avec nous, consultez la page Collaboration. N'hésitez pas à nous contacter – nous vous conseillons sans engagement : Nous contacter.

CONTACT

Sélectionnez votre langue

Premier entretienprendre rendez-vousPremier entretienprendre rendez-vous