Somfy FixnGo
Nous avons été missionnés pour faire évoluer et maintenir l'application mobile Somfy FixnGo, qui permet aux installateurs de portails de bénéficier d'une assistance au montage de bras de portail motorisés Somfy. L'application permet de saisir les dimensions d'installation afin de générer les configurations produit, plans et côtes de montage adaptées. L'application est disponible sur iOS et Android.

Défis et Solutions
Les défis
Pour reprendre en main FixnGo dans de bonnes conditions, Somfy devait faire face à plusieurs défis :
- Moderniser une application vieillissante, livrée plusieurs années auparavant et devenue incompatible avec les dernières versions iOS et Android.
- Évaluer une dette technique importante accumulée au fil du temps, sans visibilité initiale sur son ampleur réelle ni sur le délai et le coût nécessaires pour la résorber.
- Continuer à livrer de nouvelles fonctionnalités pour les équipes produit et marketing, sans interrompre l'usage quotidien des installateurs.
Les solutions apportées
Pour répondre à ces enjeux, nous avons piloté la reprise complète de l'application, de l'audit initial jusqu'à la fiabilisation des livraisons futures.
Audit et cadrage de l'existant
Nous avons commencé par un audit complet de l'existant – code, logique métier, dépendances – afin d'évaluer précisément l'ampleur de la dette technique et de proposer une solution optimale en termes de résultat, de délai et de coût.
Pilotage produit en lien avec les équipes Somfy
En lien étroit avec les équipes marketing, produit et développement mobile Somfy, nous avons piloté la reprise de l'application, en modernisant l'existant pour assurer la compatibilité avec les versions récentes d'iOS et Android, tout en assurant la livraison de nouvelles fonctionnalités de façon sereine.
Delivery et fiabilisation par les tests automatisés
Au-delà de la mise à jour technique et fonctionnelle demandée, nous avons mis en place une suite de tests automatisés via une architecture modulaire, permettant de livrer sereinement de nouveaux produits tout en réduisant drastiquement le temps de recettage QA.



Étapes de modernisation
Audit et planification
Évaluation complète du code, test de compatibilité avec dernières versions Android/iOS, identification des implémentations et dépendances obsolètes.
Migration React Native
Mise à jour de React Native, intégration Expo pour build cross-platform, migration des dépendances et du code obsolète.
Refactorisation architecture
Restructuration en modules testables, séparation logique métier/UI, mise en place de la suite de tests automatisés (unitaire & e2e) sur les produits existants.
Evolutions du produit
Implémentation du moteur trigonométrique dynamique, mise en place d'un nouveau produit avec parcours UX amélioré, rédaction des tests sur le nouveau produit.
Tests et livraison
Phase de QA, recettage et validation avec les équipes produit et marketing, mise en place des certificats de production.
Résultats et chiffres clés
15000+ installateurs actifs sur iOS et Android
Montée en compatibilité Android API 17 vers API 35, iOS 11 vers iOS 17
Réduction massive du temps de recettage / QA (vs tests manuels ~ 90%)
Amélioration QA : réduction du risque d'erreurs de calculs et de plans techniques incorrects
Amélioration de la précision des côtes (au centième de millimètre) et suppression de l'effet de palier pour les nouveaux produits
Ajout d'un nouveau poduit : modification de l'UX du parcours de saisie, avec assistance au choix des options et des dimensions
Périmètre des améliorations
React Native modernisé
Utilisation de Expo pour cross-platform iOS/Android, accès direct aux APIs natives optimisées, meilleure stabilité et compatibilité.
Moteur trigonométrique précis
Calcul mathématique dynamique aux centièmes de millimètre, suppression des restrictions des anciens tableaux fixes, support de nouveaux produits.
Suite de tests automatisés
Couverture exhaustive des cas de test: validation des saisies, vérification des options et résultats, réduction de 90% du temps de recettage QA.
Architecture modulaire
Code refactorisé en modules indépendants et testables, séparation claire entre logique métier et interface utilisateur.


