Blogue
Savoir-faire et technologie
Histoires, idées et perspectives sur la stratégie, la technologie et les solutions d’affaires.

Articles à la une

Nouvelles
5 min de lecture
Annonce : Spiria est certifié SOC 2 Type 2
<h2>Qu'est-ce que la certification SOC 2 ?</h2><p>La certification SOC 2 (Service Organization Control 2) est une norme élaborée par l'American Institute of Certified Public Accountants (AICPA) qui évalue la capacité d'une organisation à gérer les risques liés à la sécurité, à la disponibilité, à l'intégrité du traitement, à la confidentialité et à la protection de la vie privée des données qu'elle traite pour le compte de ses clients.</p><p>La certification SOC 2 repose sur cinq principes, appelés critères de confiance, qui définissent les exigences minimales que doit respecter une organisation pour assurer la sécurité et la qualité de ses services. Ces critères sont les suivants :</p><ul> <li><strong>Sécurité</strong> : l'organisation protège les données contre les accès non autorisés, les modifications, les divulgations, les dommages ou la perte.</li> <li><strong>Disponibilité</strong> : l'organisation assure la disponibilité et le fonctionnement continu de ses services conformément aux accords conclus avec ses clients.</li> <li><strong>Intégrité du traitement</strong> : l'organisation traite les données de manière complète, valide, exacte, opportune et autorisée.</li> <li><strong>Confidentialité</strong> : l'organisation respecte les engagements et les obligations de confidentialité envers ses clients et les tiers concernant les données qu'elle traite.</li> <li><strong>Protection de la vie privée</strong> : l'organisation respecte les principes de protection de la vie privée définis par l'AICPA et les lois applicables en matière de collecte, d'utilisation, de conservation, de divulgation et d'élimination des données personnelles.</li></ul><p>« Obtenir et maintenir la certification SOC 2, je le vois comme un ultramarathon et non un sprint sur 100 mètres. C'est une première étape, dans un long processus en constante évolution. La cybersécurité, dans son ensemble, nécessite une rigueur et une attention aux détails constante auquel notre équipe est prête à s’attarder. »</p><p>– Vincent Huard, Vice-Président, gestion et analyse des données</p><p>Pour obtenir la certification SOC 2, une organisation doit faire l'objet d'un audit indépendant réalisé par un cabinet comptable qualifié qui vérifie qu’elle respecte les critères de confiance applicables à ses services. L'audit porte sur la conception et l'efficacité des contrôles mis en place par l'organisation pour assurer la conformité aux critères de confiance.</p><h2>Quelle est la différence entre la certification SOC 2 Type 1 et Type 2 ?</h2><p>Il existe deux types de certification SOC 2. C’est entre autres la durée de l’audit qui les distingue. SOC 2 Type 2 est couvert par l’audit le plus long et rigoureux.</p><ul> <li>La certification SOC 2 Type 1 atteste que l'organisation respecte les critères de confiance à une date donnée à une date précise. Elle évalue la conception des contrôles, mais pas leur efficacité dans le temps.</li> <li>La certification SOC 2 Type 2 atteste que l'organisation respecte les critères de confiance sur une période de temps définie, généralement de trois à douze mois. Elle évalue la conception, mais également l'efficacité des contrôles, en tenant compte de leur fonctionnement réel et de leur évolution.</li></ul><p>En d’autres mots, la certification SOC 2 Type 2 répond à des critères plus exigeants et rigoureux, car elle implique un suivi continu et une vérification régulière des contrôles. Elle offre une assurance plus élevée sur la qualité et la sécurité des services fournis par l'organisation.</p><h2>Quels sont les bénéfices pour nos clients ?</h2><p>En obtenant la certification SOC 2 Type 2, Spiria réaffirme sa posture de partenaire de confiance dans la réalisation de projets de développement de solutions numériques pour ses clients. Voici quelques bénéfices principaux qui permettent à nos clients de se lancer la tête tranquille dans des projets d’envergure avec Spiria :</p><ul> <li>La garantie que nous respectons les normes les plus élevées en matière de sécurité de l'information</li> <li>La garantie que nous protégeons les données de nos clients contre les menaces internes et externes.</li> <li>La confiance que nous assurons la disponibilité et la performance de nos services</li> <li>La confiance que nous sommes capables de réagir rapidement et efficacement en cas d'incident.</li> <li>La certitude que nous traitons vos données avec intégrité, en respectant les règles de validation, d'exactitude, de traçabilité et d'autorisation.</li> <li>La tranquillité d'esprit que nous respectons vos obligations de confidentialité et que nous ne divulguons pas vos données à des tiers non autorisés.</li> <li>La sécurité que nous respectons les principes de protection de la vie privée et que nous nous conformons aux lois applicables en matière de données personnelles.</li></ul><p>La certification SOC 2 Type 2 est un gage de confiance et de sécurité pour nos clients qui témoigne de notre engagement à fournir des services de qualité et à respecter les meilleures pratiques du secteur. Elle représente l’excellence en matière de sécurité des données dans le marché tout en étant de plus en plus prisée pour les projets de développement logiciels. Il était donc tout naturel pour Spiria d’être parmi les quelques firmes d’experts à s’y conformer en Amérique du Nord. Nous sommes fiers d’arborer cette certification et d'assurer à la fois l'excellence, la fiabilité et la rigueur de nos pratiques d’affaires.</p><p>Démarrez un projet en toute confiance : <a href="mailto:nouveauprojet@spiria.com">nouveauprojet@spiria.com</a>.</p>

Stratégie
5 min de lecture
Temps et matériel ou forfaitaire, que choisir ?
<p>Les équipes de Spiria ont une longue et riche expérience avec les deux types de contrats, et nous vous dévoilons ici ce que nous avons appris au fil du temps sur le sujet et quels sont les critères de succès pour chaque option.</p><p>Clarifions tout d’abord ce que sont ces deux types de projets :</p><h3>Projets temps & matériel</h3><p>Projets dont la portée (activités, livrables, inclusions comme exclusions, etc.) peut être plus ou moins clairement définie. L’évaluation initiale des coûts présente une fourchette de prix probable pour la réalisation du dit projet. Les coûts sont facturés selon les heures réelles exécutées et le matériel/ressources (autres coûts, par exemple des licences logicielles ou des services infonuagiques) nécessaire. Cette approche est plus flexible, car elle permet des changements de spécifications tout au long du processus de développement. L’agilité est encouragée et les contrôles de gestion de projets sont mis de l’avant.</p><h3>Projets forfaitaires ou fixes</h3><p>Projets dont la portée est plus souvent bien ou très bien définie. Le niveau de confiance de l’évaluation initiale des coûts repose sur des informations plus claires que le précédent type de projet. Comme son nom l’indique, les coûts sont fixés au départ, peu importe les heures réellement exécutées et le coût en matériel et ressources. Par conséquent, les notions de risques et de profitabilité sont des considérations plus critiques à évaluer dans ce type de projet. Toute modification des spécifications est encadrée par un processus de demande de changement et est facturée en tant que travail supplémentaire.</p><p>Dans un premier scénario, pour un projet préalablement qualifié, le type de projet (temps/matériel vs fixe) peut être imposé par le client, les exigences internes des organisations ou encore des réglementations, par exemple dans le cas des appels d’offres (majoritairement fixes). Lorsque possible, Spiria peut proposer une approche pour mitiger les risques et mieux saisir la portée du projet, comme proposer au client un investissement initial dans une phase découverte, en mode temps/matériel ou forfaitaire, dans l’intention de pouvoir proposer par la suite les phases de développement et de déploiement en mode forfaitaire. Ceci n’empêche bien sûr pas le client de changer de priorité ou de modifier la portée à la suite de la phase de découverte. Notre flexibilité doit nous permettre de négocier avec le client la portée définie en variant les inclusions/exclusions, dans l’objectif de rester dans l’enveloppe budgétaire forfaitaire contractuelle entendue.</p><p style="text-align: center;"><picture><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11800/process-fr.400x0.webp" media="(max-width: 599px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11800/process-fr.760x0.webp" media="(max-width: 999px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11800/process-fr.1039x0.webp" media="(min-width: 1000px)"><img src="/site/assets/files/11800/process-fr.webp" style="width: 60%; border: none;" alt="Un cycle projet type." title="Un cycle projet type."></source></source></source></picture></p><p style="text-align: center; font-style: italic;">Figure 1. Un cycle projet type.</p><p>Dans un deuxième scénario, si le type de projet n’est pas imposé, ceci nous donne la latitude du choix de la stratégie. Habituellement, les clients prévoient des sessions de rencontres avec les différents fournisseurs pour répondre à leurs questions. Une réflexion interne s’impose ensuite pour bien évaluer les facteurs décisionnels menant à la meilleure stratégie. À cet effet, le tableau ci-dessous présente une liste non exhaustive de points qui éclairent les équipes dans cette réflexion. Ces points sont pondérables (facilement identifiables, quantifiables ou mesurables) ou impondérables, en fonction des informations fournies lors des rencontres initiales, dans les cahiers de charge, ou pouvant être obtenues par des demandes au client. Les annotations des deux colonnes de droite sont simplement des suggestions de poids relatifs aux deux types de projets.</p><table cellpadding="0" cellspacing="0" style="width:100%"> <tbody> <tr> <td style="width:76%"><strong>Points</strong></td> <td style="width:12%"><strong>Fixe</strong></td> <td style="width:12%"><strong>T&M</strong></td> </tr> <tr> <td>Le plan d’affaires, les requis, les besoins et les attentes sont claires.</td> <td>➕➕</td> <td>➕</td> </tr> <tr> <td>Les processus et règles d’affaires sont nombreux et complexes.</td> <td>➕</td> <td>➕➕</td> </tr> <tr> <td>Le budget client est identifié et la planification budgétaire est cadrée.</td> <td>➕</td> <td>➖</td> </tr> <tr> <td>L’échéancier est strict ou critique en raison du contexte client ou d’affaires.</td> <td>➕</td> <td>➖</td> </tr> <tr> <td>Les expertises nécessaires sont identifiables.</td> <td>➕</td> <td>➕</td> </tr> <tr> <td>La structure organisationnelle et décisionnelle est grande et complexe.</td> <td>➖</td> <td>➕</td> </tr> <tr> <td>Les aspects légaux sont complexes.</td> <td>➖</td> <td>➕</td> </tr> <tr> <td>Les relations sont déjà établies (historique) ou des contacts sont nos promoteurs.</td> <td>➕</td> <td>➕</td> </tr> <tr> <td>Le calcul de risques, les incertitudes et la contingence sont élevés.</td> <td>➖</td> <td>➕</td> </tr> <tr> <td>Les risques de dérives sont probables.</td> <td>➖</td> <td>➕</td> </tr> <tr> <td>Le client détient une capacité en effectifs ou en connaissances internes<br> (designer, équipe de développement, AQ, etc.).</td> <td>➕</td> <td>➕</td> </tr> <tr> <td>L’environnement technologique est connu.</td> <td>➕</td> <td>➕</td> </tr> <tr> <td>Les contraintes technologiques sont importantes (ex. : système hérité).</td> <td>➖</td> <td>➕</td> </tr> <tr> <td>Les défis d’intégration sont nombreux et complexes.</td> <td>➖</td> <td>➕</td> </tr> <tr> <td>Les choix technologiques sont imposés.</td> <td>➕</td> <td>➕</td> </tr> <tr> <td>Les données sont disponibles pour faire l’assurance qualité fidèlement.</td> <td>➕</td> <td>➕</td> </tr> <tr> <td>La solution est assujettie à des certifications spéciales.</td> <td>➖</td> <td>➕</td> </tr> </tbody></table><p><br>Le résultat de cette réflexion peut amener vers différentes approches représentées dans le diagramme suivant :</p><p><picture><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11800/strategies-fr.400x0.webp" media="(max-width: 599px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11800/strategies-fr.760x0.webp" media="(max-width: 999px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11800/strategies-fr.1039x0.webp" media="(min-width: 1000px)"><img src="/site/assets/files/11800/strategies-fr.png" style="width: 100%; border-style:solid; border-width:1px;" alt="Les différentes stratégies (approches)." title="Les différentes stratégies (approches)."></source></source></source></picture></p><p style="text-align: center; font-style: italic;">Figure 2. Les différentes stratégies. (Cliquer pour agrandir.)</p><p>La stratégie sélectionnée dicte la façon donc les ententes contractuelles sont conclues. Ce choix d’approche a des incidences sur tout le déroulement du projet et son succès final. La transparence du processus de choix et la justification des motifs auprès du client permettent de démarrer la relation sur des bases saines. Les objectifs ultimes sont de livrer un projet qui respecte nos valeurs spiriennes et qui apporte la valeur attendue au client.</p>
Tous les articles
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Culture
5 min de lecture
Dans les coulisses d’une entreprise certifiée Great Place to Work®
<h2>La certification <i>Great Place to Work<sup>®</sup></i></h2><p>L’été dernier, l’organisation derrière les certifications <i>Great Place to Work<sup>®</sup></i> a conduit un sondage anonyme auprès de nos employé(e)s. À notre plus grande fierté, c’est 97 % des Spirien(ne)s qui ont qualifié Spiria d’excellent endroit où travailler. C’était particulièrement remarquable pour nous, considérant que la moyenne canadienne de satisfaction est de 60 %. Cet automne, Spiria a reçu les certifications additionnelles « Excellent milieu de travail pour le développement personnel » et « Excellent milieu de travail au Québec ».</p><p>Et comme c’est aujourd’hui la journée nationale de célébration de la certification <i>Great Place to Work<sup>®</sup>, </i>laissez-moi rapidement vous parler de ce qui fait de Spiria un milieu de travail sain et positif selon nos équipes.</p><p>Avant d’entrer dans les détails, l’équipe de direction de Spiria s’entend sur une philosophie de gestion essentielle : <b>Spiria fait confiance à ses employés. </b>Spiria engage des adultes professionnels et compétents, il est donc important de leur donner tous les outils nécessaires à leur épanouissement. Ce principe se reflète dans de nombreuses initiatives mises en œuvre cette année pour favoriser la flexibilité, mais aussi pour s’adapter à la « vraie vie » de nos équipes.</p><h2>Des heures illimitées (et payées) utiles pour la guérison</h2><p>Avec la panoplie d’imprévus qui peuvent survenir dans la vie de nos employé(e)s et nécessiter un congé inattendu, ce n’était que du « gros bon sens » que d’imaginer une nouvelle solution qui soit plus flexible. La réalité était que, dans la majorité des cas, nous faisions déjà des exceptions afin de nous adapter aux réalités de chacun. Mais l’exception n’étant pas la règle, nous voulions formaliser le tout.</p><p>Nos employés ont donc accès à ce que nous considérons comme des « heures utiles pour la guérison » (HUG). Ce sont des congés illimités à la fois pour la santé physique et mentale, mais qui s’étendent également à une foule d’imprévus sérieux. Il s’agit par exemple du deuil, des effets de phénomènes environnementaux (inondations, feux de forêt, effets d’une tempête, etc.) et même des douleurs chroniques comme celles liées aux menstruations.</p><h2>Développement de carrière</h2><p>Quelles que soient leurs aspirations professionnelles, les employé(e)s de Spiria reçoivent un soutien afin de bâtir leur plan de développement humain sur plusieurs années. Et comme il y a plus de 150 personnes chez Spiria, il y a plus de 150 plans de développement. Les employé(e)s sont accompagnés pour choisir plusieurs types de formation. Cela peut être du mentorat, apprendre ou perfectionner une langue, et même des cours de postsecondaire.</p><h2>Une grille salariale transparente</h2><p>Nous avons une forte volonté d’offrir un environnement de travail qui soit juste et équitable, et cela passe par la rémunération. L’opacité d’une grille salariale et des critères de calcul des rémunérations individuelles entraîne inévitablement des suspicions, mais également une marge d’erreur dans une organisation. Pour notre équipe, la transparence salariale telle qu’implantée chez Spiria opère comme un outil de premier plan pour combattre certaines inégalités, comme celles entre hommes et femmes — selon des chiffres publiés en 2022 par Statistique Canada, les femmes gagneraient en moyenne 11,1 % de moins par heure que les hommes, ce qui est considérable. Vous trouverez plus de détails dans notre article « <a href="/fr/blogue/environnement-de-travail/transparence-salariale-chez-spiria/">Mise en œuvre de la transparence salariale chez Spiria</a> ».</p><h2>Des rituels de transparence</h2><p>Au début de chaque trimestre, c’est la tournée de Stéphane Rouleau, notre PDG, dans les différents bureaux de Spiria pour un événement appelé en interne le Broc ‘n Roll (🥦🎸 — ne nous demandez pas l’explication du nom 😉). L’équipe de direction y présente, en toute transparence, tous les résultats du trimestre passé et annonce l’ensemble des nouveautés chez Spiria. Nous avons également un événement appelé le Buzz où tout le monde est invité à poser des questions à la direction, y compris celles qui pourraient être inconfortables, avec la possibilité de rester anonyme. Ces rendez-vous réguliers sont essentiels pour assurer la transparence chez Spiria.</p><h2>Travailler d’un peu partout</h2><p>Chez Spiria, c’est simple, nous croyons fermement que ce que vous faites est bien plus important que l’endroit où vous vous trouvez. Il n’y a pas d’obligation à venir au bureau ou à travailler uniquement de la maison. Tout le monde choisit le milieu de travail de son choix, sans pression. Quelques restrictions s’appliquent pour le travail à l’international, mais toujours dans l’objectif de faciliter la vie de nos équipes.</p><h2>Une allocation flexible de 250 $ par année</h2><p>Chaque Spirien(ne) dispose d’une allocation Spiri-Flex de 250 $ par an pour des dépenses relatives à la pratique sportive, au bien-être, au transport collectif, à l’amélioration de son environnement de travail à distance, et à bien d’autres choses.</p><p>Bref, la journée nationale de la certification <i>Great Place to Work<sup>®</sup></i> représente pour moi une occasion parfaite de célébrer la culture d'entreprise de Spiria et l'équipe qui la compose. Nous réfléchissons déjà à d'autres initiatives pour l'année prochaine qui feront de Spiria un lieu de travail encore meilleur.</p><p style="text-align: right;">Isabelle Thériault, Vice-présidente, Culture et talents </p>

Dévelopement mobile
5 min de lecture
Applications web progressives (PWA) : où en sommes-nous aujourd’hui ?
<p>Tout d’abord, un peu d’histoire : les applications web progressives ont été introduites pour la première fois par Google en 2015 afin de répondre aux besoins des développeurs web qui cherchaient à offrir une expérience utilisateur (UX) plus riche et plus immersive, capable de se comparer avec celle offerte par les applications natives. Un concept clé des PWA est de permettre une expérience toujours optimale, quels que soient la qualité de la connectivité réseau, le navigateur, la plateforme matérielle, etc. L’application s’adapte aux conditions matérielles et logicielles qu’on lui offre, ce que recouvre le terme “progressif”.</p><p>La technologie progressive repose essentiellement sur les <a href="https://developer.mozilla.org/fr/docs/Web/API/Service_Worker_API">Service Workers</a>, qui sont des fichiers JavaScript dont la tâche principale est de permettre une gestion de la mise en cache selon une granularité très fine, notamment pour permettre des fonctionnalités hors ligne. Les SW fonctionnent de manière asynchrone, dans une tâche différente de celle du script principal. Ils peuvent aussi être utilisés pour gérer la synchronisation de données en arrière-plan, la centralisation des mises à jour de données comme celles issues du GPS ou du gyroscope, le préchargement de certaines ressources dont on est à peu près sûr que l’utilisateur aura besoin par la suite, etc.</p><p>Chez Spiria, il arrive fréquemment que nos clients les plus informés nous demandent si une PWA serait la solution pour répondre à leurs besoins de <a href="https://www.spiria.com/fr/services/developpement-axe-performance/developpement-applications-mobile/">développement mobile</a> à un moindre coût. En tant qu’expert en solutions numériques, ma réponse est que c’est certes une option bien moins coûteuse à développer que deux applications natives (iOS + Android). Mais jusqu’à présent, lorsque l’on ciblait la plateforme Apple, on excluait rapidement l’option PWA en raison de l’absence de notifications push. Maintenant que cette embarrassante restriction est levée, faisons un tour d’horizon actualisé de ses limitations et possibilités.</p><h2>Les limitations des PWA</h2><p>Soyons clairs, les PWA ont été créés par Google. Elles ne souffrent donc que de peu de problèmes sur Android, mais voici les 3 plus importantes limitations communes aux deux plateformes mobiles. </p><ul> <li><b>Dépendance au navigateur</b> : qui dit application web, dit navigateur. Nous sommes donc tributaires de leurs fonctionnalités (et de leurs bogues !). Sur iOS, le développeur est contraint d’utiliser le <a href="https://webkit.org">WebKit</a> de Safari, ce qui n’est pas l’outil le plus riche en fonctionnalités. </li> <li><b>Accès au matériel </b>: une PWA ne peut pas accéder pleinement à toutes les ressources matérielles et logicielles du téléphone. Parmi les plus importantes, on trouve les contacts, le calendrier et les fonctionnalités d’appel (interception de messages texte, appels vocaux, envoyer des messages texte).</li> <li><b>JavaScript</b> : il faut garder en mémoire que c’est une application web, c’est-à-dire du HTML, du CSS et beaucoup de JavaScript. Quel est le problème ici ? Ça veut dire un langage à simple fil d’exécution (simple thread) qui offrira moins de performance qu’une application native et qui aura un impact tant sur la consommation de batterie que sur l’expérience utilisateur. </li></ul><p>Quand on parle de limitation des PWA, on ne peut pas passer à côté des limitations spécifiques à iOS/iPadOS. Voici donc les 3 plus importantes selon nous, maintenant que les notifications push sont possibles : </p><ul> <li><b>Safari/WebKit uniquement </b>: c’est le seul navigateur qui est autorisé à supporter les PWA sur iOS, et il a des fonctionnalités limitées et des bogues spécifiques. </li> <li><b>Limitation à 50 Mo</b> : sur Android, tant que le téléphone a de la place, on peut installer l’application, quelle que soit sa taille. Sur iOS, il y a une limite fixée à 50 Mo pour le stockage de données. Cela restreint la possibilité de développer une application de grande envergure et oblige à un développement le plus efficace et optimisé possible. </li> <li><b>Pas de présence sur l’App Store</b> : il n’y a pas d’installation possible via l’App Store, ce qui peut représenter un gros manque de visibilité pour les marques. </li></ul><h2><b>Les avantages des PWA</b></h2><p>Parlons maintenant de leurs 3 plus importants avantages : </p><ul> <li><b>Coûts de développement</b> : c’est la plus importante des promesses des PWA, une seule base de code pour toutes les plateformes (appareils mobiles, tablettes, ordinateurs portables et de bureau), ce qui réduit très considérablement les coûts. </li> <li><b>Toujours à jour</b> : c’est le bénéfice des applications web. Les utilisateurs n’ont pas à faire de mises à jour ; vous n’avez pas d’utilisateurs qui sont sur d’anciennes versions. </li> <li><b>Statistiques d’usage </b>: un point important est qu’on peut utiliser tous les outils marketing et statistiques pour analyser les données utilisateur et suivre la vie de notre application. </li></ul><p>On synthétise tout cela dans une matrice FFOM (Forces, Faiblesses, Opportunités, Menaces) :</p><p><picture><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11651/swot_fr-1.400x0.webp" media="(max-width: 599px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11651/swot_fr-1.760x0.webp" media="(max-width: 999px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11651/swot_fr-1.1039x0.webp" media="(min-width: 1000px)"><img src="/site/assets/files/11651/swot_fr-1.webp" style="width: 100%; border-style:solid; border-width:1px;" alt="Matrice FFOM (Forces, Faiblesses, Opportunités, Menaces)." title="Matrice FFOM (Forces, Faiblesses, Opportunités, Menaces)."></source></source></source></picture></p><p>Pour conclure, quand on se demande dans quel cas préconiser une PWA, nous regardons si elle répond aux points suivants : un budget très limité, une petite application comme un PMV (produit minimum viable) par exemple, un nombre d’utilisateurs restreint, des fonctionnalités simples (pas d’utilisation de fonctionnalités d’appel ou de la caméra par exemple). Somme toute, leur champ d’application demeure assez limité.</p>

Culture
5 min de lecture
Travail à distance ? Des conseils pour préserver sa santé mentale
<p>Ne vous méprenez pas, j’adore travailler de la maison. Je peux porter des pantalons de sport à la maison, lancer le lave-vaisselle entre deux réunions et passer tous les vendredis par le marché de producteurs locaux pour aller y chercher mon panier de fruits et légumes. Les avantages du télétravail sont si nombreux que je ne peux pas imaginer retourner au bureau tous les jours.</p><p>Et pourtant… malgré le confort et l’aspect pratique, j’ai constaté que le télétravail avait un effet négatif sur ma santé mentale déjà fragile. J’ai toléré cette situation pendant un certain temps, jusqu’à ce que je décide de m’occuper du problème comme je le ferais pour un employé qui viendrait me demander de l’aide : avec empathie, en faisant des recherches et en procédant par essais et erreurs. Voici donc quelques conseils et astuces que j’ai trouvés au cours de ce processus. J’ai mis un peu plus l’accent sur ceux qui ont le mieux fonctionné pour moi.</p><h3>Ne pas sauter le lunch</h3><p><picture><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-01.400x0.webp" media="(max-width: 599px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-01.760x0.webp" media="(max-width: 999px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-01.1039x0.webp" media="(min-width: 1000px)"><img src="/site/assets/files/11594/image-01.webp" style="width: 100%; border-style:solid; border-width:1px;" alt=" " title=" "></source></source></source></picture></p><p>Je sais, je SAIS que vous recevez encore des courriels, des messages et des demandes urgentes pendant l’heure du dîner, surtout si votre entreprise a un horaire flexible comme la mienne.</p><p>Tout le monde n’a pas faim ou ne mange pas à la même heure, et il se peut donc que vos collègues ne pensent pas à attendre la fin de l’heure du dîner habituelle pour vous envoyer un message. Donc, que vous mangiez plus tôt ou plus tard que l’heure du lunch typique, prenez le temps de vous éloigner de votre ordinateur, de nourrir votre corps et peut-être de bouger si vous pouvez le faire pendant votre pause !</p><p>Je ne peux pas dire que je suis ce conseil de manière infaillible et il m’arrive de faire des compromis parce que je suis trop occupée. Les jours où je ne prends pas de pause de dîner, laissez-moi vous dire que mon corps et mon mental me laissent savoir que j’ai abusé de leur gentillesse.</p><p>Et non, manger devant votre ordinateur, que vous continuiez à travailler ou non, n’est pas considéré comme une véritable pause. Vous êtes toujours dans la même posture et dans le même environnement que ceux dans lesquels vous avez passé toute votre journée de travail. Je peux vous assurer que passer huit ou neuf heures dans la même posture sera bien plus pénible que deux fois quatre heures.</p><h3>Frontière entre vie professionnelle et vie privée</h3><p><picture><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-02.400x0.webp" media="(max-width: 599px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-02.760x0.webp" media="(max-width: 999px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-02.1039x0.webp" media="(min-width: 1000px)"><img src="/site/assets/files/11594/image-02.webp" style="width: 100%; border-style:solid; border-width:1px;" alt=" " title=" "></source></source></source></picture></p><p>Cette question est délicate, car les comportements et les bénéfices qu’on en tire varient une personne à l’autre.</p><p>Vous avez probablement déjà entendu dire que vous devriez aller marcher, faire du vélo ou tout autre moyen de transport que vous préférez avant et après le travail afin de <a href="https://www.cnn.com/2021/01/18/success/fake-commute-meaning-benefits-pandemic-wellness/index.html">simuler un trajet</a> entre le domicile et le bureau. Cela vous aide à vous préparer à la journée de travail qui vous attend et à vous calmer et à assimiler les événements de la journée en sortant.</p><p>Heureusement, cela semble aussi fonctionner avec certaines activités d’intérieur, telles que la méditation, le yoga, la lecture, l’écoute de la musique… et la liste est encore longue !</p><p>Personnellement, j’ai pris l’habitude de me préparer un bon petit-déjeuner et une tasse de café, puis de discuter avec mon partenaire, de lire ou d’écrire dans mon journal, selon mon humeur.</p><p>J’admets que je dois encore travailler sur le trajet de l’après-midi, celui du “retour du travail”, mais pour l’instant, je considère que c’est une victoire lorsque je me jette dans le lit ou le sofa et que je me repose quelques minutes avant de m’attaquer aux tâches ménagères et aux autres tâches personnelles.</p><h3>Attention au présentéisme</h3><p><picture><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-03.400x0.webp" media="(max-width: 599px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-03.760x0.webp" media="(max-width: 999px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-03.1039x0.webp" media="(min-width: 1000px)"><img src="/site/assets/files/11594/image-03.webp" style="width: 100%; border-style:solid; border-width:1px;" alt=" " title=" "></source></source></source></picture></p><p>Parce que je peux travailler en pyjama et appuyer occasionnellement sur pause pour me reposer lorsque je travaille à la maison, j’ai découvert que j’étais beaucoup plus susceptible de me présenter au travail même lorsque je ne me sentais pas bien.</p><p>Maintenant, votre première pensée est probablement “Oh, génial, tu n’as pas besoin d’utiliser autant de jours de maladie”. C’EST FAUX. Laissez-moi vous présenter… le <a href="https://hbr.org/2004/10/presenteeism-at-work-but-out-of-it">présentéisme</a>. Ce concept est né avec les efforts constants déployés par les entreprises à la fin des années 90 et au début des années 2000 pour réduire l’absentéisme, c’est-à-dire les taux d’absence des salariés. Mais dans les faits, les employés ont commencé à trouver de la reconnaissance et à être félicités pour avoir “surmonté” leurs maux et être rentrés au travail, malgré leurs symptômes de rhume ou de grippe, un brouillard cérébral, des problèmes de santé mentale, des soucis familiaux, ou bien d’autres encore.</p><p>Le concept du présentéisme s’applique quand vous êtes présent, mais nettement moins productif que d’habitude. Imaginez ce scénario : vous vous réveillez avec une migraine, mais, comme vous êtes chez vous, vous décidez de “faire de votre mieux” et vous vous connectez à votre ordinateur professionnel, prêt à vous atteler à vos tâches. Au bout de 45 minutes environ, vous sortez du brouillard cérébral provoqué par la migraine et vous vous rendez compte que vous avez regardé un mur ou le coin de l’écran de votre ordinateur portable pendant presque tout ce temps.</p><p>La leçon à en tirer est que, même si le présentéisme est bien vu au travail pour une raison qui m’est inconnue, il n’est pas seulement malsain, il est également peu utile pour votre employeur et ne contribue en rien à réduire votre charge de travail. Si vous vous sentez mal et incapable de travailler efficacement, prenez congé pour vous soigner. Veillez toutefois à ne pas en abuser à la moindre occasion, sinon votre gestionnaire pourrait avoir plus de mal à vous faire confiance la prochaine fois que vous devrez prendre un jour de congé.</p><p>En fait, chez Spiria, nous y croyons tellement que nous menons actuellement un projet pilote visant à accorder des congés illimités aux employés qui sont malades, qui ont des problèmes de santé mentale ou qui traversent des situations personnelles difficiles. Nous avons appelé ce projet “Heures Utiles de Guérison” (les HUG — nous aimons vraiment les acronymes). Ce programme vise à offrir aux Spiriens encore plus de flexibilité et permet de lutter contre le présentéisme.</p><p>Vous avez peut-être compris que si le titre de l’article mentionne spécifiquement la santé mentale, les conseils proposés ci-dessus touchent à tous les aspects de la santé. En effet, pour préserver notre santé mentale, nous devons agir de manière holistique. Loin de fonctionner en vase clos, notre cerveau dépend de notre corps tout entier et interagit avec lui. Cela m’amène au quatrième et dernier conseil :</p><h3>Investissez dans votre santé, à la maison et au travail</h3><p><picture><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-04.400x0.webp" media="(max-width: 599px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-04.760x0.webp" media="(max-width: 999px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11594/image-04.1039x0.webp" media="(min-width: 1000px)"><img src="/site/assets/files/11594/image-04.webp" style="width: 100%; border-style:solid; border-width:1px;" alt=" " title=" "></source></source></source></picture></p><p>Si vous travaillez à domicile, vous devez vous assurer que votre poste de travail répond aux <a href="https://www.bu.edu/articles/2020/10-ergonomics-dos-and-donts-for-those-now-working-from-home/">normes ergonomiques</a>. Certains d’entre nous ont la chance de bénéficier d’une allocation de l’entreprise pour améliorer l’aménagement de leur poste de travail à domicile. Même si ce n’est pas votre cas, consultez ces lignes directrices et efforcez-vous d’adopter une bonne posture pendant votre journée de travail.</p><p>De même, une fois le travail terminé, investissez dans votre santé en choisissant des aliments nutritifs, en pratiquant des activités physiques qui vous apportent de la joie et en fixant des limites saines avec votre famille et vos amis lorsqu’il s’agit de vos besoins en matière de bien-être mental. Un soutien professionnel, tel qu’une thérapie ou des conseils médicaux, peut changer la donne en matière de santé mentale. En cas de doute, je vous recommande vivement d’envisager l’un ou l’autre !</p><p>J’espère que vous avez appris quelque chose ou que vous vous êtes inspiré de mon petit sermon. Allez-y et profitez d’une vie de télétravailleur saine et équilibrée !</p>

Développement sur mesure
5 min de lecture
Les 7 étapes du développement d’un logiciel
<p> Les auteurs d’ouvrages sur le sujet, ainsi que les entreprises, ont tous redéfini, regroupé ou encore renommé les étapes, s’appropriant ainsi une différente variante de ce cycle. Il n’en demeure pas moins que ce cycle décrit essentiellement un processus de réalisation d’une solution logicielle allant de l’idéation, en passant par la conceptualisation, jusqu’à la concrétisation finale. Loin d’être une recette à appliquer, le cycle doit être organique et agile afin de s’adapter aux changements, aux aléas et aux demandes.</p><p>Il est important pour une entreprise de développement logiciel de communiquer à ses clients son cycle de développement, car il ne faut pas tenir pour acquis qu’ils en ont connaissance. Nos clients/partenaires sont des visionnaires, des entrepreneurs ou des entreprises de toutes tailles bien établies. Lorsque leur univers rencontre celui de Spiria ou qu’ils évoluent avec nous, ils souhaitent la concrétisation de leur projet ou l’aboutissement de leur idée. Expliquer aux clients ce cycle les rassure qu’un processus et une méthodologie sont la base même de notre travail.</p><p style="text-align: center;"><picture><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11567/phases_dev.400x0.webp" media="(max-width: 599px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11567/phases_dev.760x0.webp" media="(max-width: 999px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/11567/phases_dev.1039x0.webp" media="(min-width: 1000px)"><img src="/site/assets/files/11567/phases_dev.png" style="width:280px" alt="planification" title="planification"></source></source></source></picture></p><p>Il existe beaucoup d'ouvrages à ce sujet, mais voici un résumé pour l’essentiel des phases que comportent ce cycle de développement de logiciels.</p><h2>1. La planification</h2><p>Cette phase d’initiation de projet met la table pour l’estimation du projet avec une connaissance à haut niveau des besoins et des objectifs visés. Diverses facettes sont abordées avec le client durant des rencontres exploratoires ou d’analyses. Le contexte d’affaires, la transition technologique, ainsi qu’une connaissance des utilisateurs internes/externes sont pris en considération. Le tout permet d’appréhender les risques et les enjeux afin de mieux évaluer les les coûts et la planification du projet.</p><h2>2. Les requis</h2><p>Cette étape reprend les points notés durant l’étape de planification et ajoute un niveau de précision supplémentaire pour faire avec le client un inventaire complet des besoins et des objectifs. La transcription de ceux-ci se détaille en fonctionnalités qui pourront être priorisées en équipe (par sprints) pour le design et le développement.</p><h2>3. Le design et le prototypage</h2><p>Une fois les requis bien définis, une schématisation de l’architecture de la solution est faite durant cette phase. Elle peut prendre différentes formes. Elle peut décrire l’architecture technologique (matérielle et logicielle), les interfaces exposées à différents services ou applications ou à des sources de données, par exemple. Également, une analyse de l’expérience usager (User Experience) permet de bâtir des maquettes fonctionnelles (Wireframes) pour valider la fonctionnalité visuelle (User Interface), l’ergonomie et l’usage efficient de navigation au sein du logiciel. Diverses preuves de concepts peuvent donner lieu à des prototypes. Elles sont ainsi validées et testées du côté frontal (Front-End) avant de pouvoir se lancer dans la prochaine étape.</p><h2>4. Le développement logiciel</h2><p>Comme le nom l’indique, c’est l’étape où les développeurs codent la solution (Front-End et Back-End) et connectent les interfaces pour atteindre les objectifs définis. Dans le cadre de la méthodologie Agile, c’est un processus itératif. Les clients sont en mesure de suivre, tester et approuver les fonctionnalités codées et à venir. Ceci permet de livrer une solution opérationnelle en fonction des besoins priorisés par sprints.</p><h2>5. Les tests et l’assurance qualité</h2><p>Durant la phase de développement, divers tests mettent à l’épreuve la solution pour valider le comportement et les fonctions. Les équipes et le client suivent des plans de tests et les résultats sont passés en revue. Le tout se déroule dans des environnements de tests ou de « Staging », différents de celui où la solution finale sera mise en production. Durant cette phase, il y a une rétroaction continuelle entre l’assurance qualité et les développeurs pour supprimer les erreurs (bogues). Lorsque le moment survient de mettre en production la solution, la phase déploiement s’organise déjà.</p><h2>6. Le déploiement</h2><p>Le déploiement marque la fin des développements et des tests sur le logiciel. Cette phase est constituée du transfert de la solution sur l’environnement client ou celui de production. Des mécanismes d’alerte et de contrôle sont mis en place en vue de la phase maintenance.</p><h2>7. La maintenance</h2><p>C’est une phase où, typiquement, une autre équipe prend la relève. Cette nouvelle équipe est en quelque sorte un service à la clientèle post-implantation. À la suite d’une période de stabilisation de la solution en déploiement, l’équipe de support et maintenance reste alerte face aux demandes du client. Les correctifs ou les demandes d’améliorations sont pris en charge selon leur envergure et les délais définis dans l’entente de service (Service Level Agreement). Si nécessaire, le cycle de développement logiciel peut reprendre du départ si les efforts requis représentent un nouveau projet.</p><p style="text-align: right;">Carlo Rossi.</p>

Développement sur mesure
5 min de lecture
Développement logiciel, les clés de la réussite
<h2>Cerner les objectifs d’affaires</h2><p>Améliorer la productivité, diminuer les coûts, satisfaire sa clientèle, augmenter les ventes, retenir des clients… La clarification des objectifs d’affaires permettra de correctement guider l’équipe de développement dans l’élaboration d’une stratégie de livraison, la hiérarchisation des requêtes, l’établissement des critères de succès et la définition d’une feuille de route sur le long terme. Elle permet aussi d’apprécier la valeur des composantes d’un projet et le retour sur investissement.</p><h2>Déterminer le budget</h2><p>Plus l’écart se creuse entre les ressources disponibles, toujours limitées, et les besoins exprimés dans un projet, plus les chances de réussite diminuent. De là l’importance de connaître en premier lieu son retour sur investissement et de déterminer par la suite le budget. Dans le cas de liquidités restreintes, une option à considérer, lorsque le ROI est positif, est de faire financer votre projet informatique par une institution bancaire. <a href="https://www.spiria.com/fr/blogue/strategie/comment-planifier-mon-projet-de-developpement-logiciel-pour-avoir-le-retour-sur-investissement-le-plus-rapide/">Calculer le ROI</a> doit être un exercice automatique pour tout projet. Il est en effet indispensable aux décideurs pour juger de la qualité de l’investissement. Il faut aussi s’assurer de calculer en étant le plus <a href="https://www.spiria.com/fr/blogue/methodes-et-bonnes-pratiques/investissement-informatique-eviter-la-catastrophe-financiere/">réaliste</a> possible.</p><p>Idéalement, lorsque vous contactez un partenaire technologique, il faut d’emblée que vous lui donniez un budget de départ ; il pourra ainsi très rapidement vous dire si vos attentes sont réalistes ou irréalistes en regard de votre capacité d’investissement. Il peut également vous suggérer des possibilités alternatives. Dans le cas d’un budget inflexible, le dirigeant devra faire des choix. Par exemple : est-ce qu’un logiciel qui répondrait à seulement 80 % des besoins, mais qui rentrerait dans le budget, serait acceptable ? Seul le dirigeant peut en décider.</p><p><img src="/site/assets/files/11574/software_development_done_right.svg" style="width:380px;" alt="Définir les attentes" title="Définir les attentes"></p><h2>Définir les attentes</h2><p>L’expression des attentes est la phase la plus cruciale d’un projet informatique. Et c’est une étape pendant laquelle il faut se méfier des conclusions hâtives. Il faut discuter et analyser chaque point en profondeur avec les différents intervenants concernés. L’objectif est de réaliser un cahier des charges précis et détaillé de la future application. En mode “cascade”, la précision est absolument primordiale, alors qu’en mode “<a href="https://www.spiria.com/fr/blogue/methodes-et-bonnes-pratiques/agile-un-etat-desprit-plus-que-des-pratiques/">agile</a>”, on parlera plutôt d’une vision détaillée du projet et on s’économisera le temps mis à définir trop méticuleusement des objectifs qui seront peut-être écartés en cours de route.</p><p>Cette étape est aussi celle où l’on sépare le superflu de l’indispensable, où l’on hiérarchise les attentes en fonction des objectifs d’affaires, ce qui permet de déterminer ce que serait un produit minimum viable (MVP).</p><p>Cette phase peut aussi être réalisée avec la collaboration de son partenaire technique. C’est même souvent recommandable, car cela permet d’établir au plus tôt une compréhension commune du projet, de définir ensemble une stratégie de réalisation et de fonder les assises d’une collaboration de qualité essentielle au bon déroulement du projet.</p><h2>Choisir son partenaire</h2><p>Le prix est un facteur important, mais la politique du choix de la plus basse offre est rarement conseillée. C’est un paramètre parmi d’autres dans le <a href="https://www.spiria.com/fr/ressources/identifier-le-bon-partenaire-en-developpement-logiciel/">choix du bon partenaire</a>. S'il y a des écarts excessifs entre différentes propositions pour un même projet, c'est souvent qu'au moins l'un des soumissionnaires n'a pas réellement compris les efforts de développement ou les défis techniques. Demandez à vos soumissionnaires que l’on vous explique les raisons d’une différence de coût. N’hésitez pas à les questionner sur des points précis afin de tester la crédibilité de leur offre et de s’assurer qu’ils comprennent tous correctement les caractéristiques de votre demande.</p><p>Aussi, veillez à ce que votre partenaire partage vos valeurs, que vos cultures d’entreprises soient compatibles. Une bonne affinité et une communauté de vues sont fondamentales pour une collaboration de qualité entre votre équipe et celle de votre partenaire. Cette compatibilité est même essentielle si vous souhaitez créer une équipe hybride, c’est à dire composée de développeurs de votre entreprise et de votre partenaire technique. À cet égard, travailler avec une équipe locale peut être un atout, notamment en ce qui concerne la bonne communication.</p><p>Enfin, dans bien des cas, il est recommandable de privilégier un partenaire “agnostique”, c’est-à-dire qui ne vous enferme pas dans un seul choix technologique et qui est en mesure de vous proposer différentes solutions.</p><h2>Au forfait ou à l’heure</h2><p>Les projets de développement informatique se font souvent sur une base horaire. Si vous souhaitez un prix forfaitaire, vous devez vous assurer que votre cahier de fonctionnalités est parfaitement détaillé et que vous prévoyez de faire que peu ou pas de changements en cours de mandat. Aussi, votre projet ne doit pas reposer sur des technologies trop nouvelles, plus ou moins expérimentales, les incertitudes devant être minimales. Une technologie solide et éprouvée autorise une bien meilleure visibilité.</p><p>Bâtir un logiciel s’apparente à la construction d’une maison. Si vous avez des plans d’architecte suffisamment détaillés, il est possible de déterminer au départ un coût précis. Si vous modifiez les plans en cours de chantier, vous paierez inévitablement des “extras”. Cependant, il faut bien savoir qu’en matière de développement logiciel, il est très rare que le projet n’évolue pas au cours du temps, et plus son envergure est large, plus il est susceptible de connaître des modifications. C’est pour cette raison que la facturation horaire est privilégiée. Celle-ci évite aussi d’éventuelles divergences de vues sur ce qui doit ou ne doit pas entrer dans le cadre du forfait, qui peuvent générer des tensions pendant la réalisation. Elle est particulièrement appropriée pour les projets qui adoptent un cycle de développement itératif, tant qu’elle est jumelée avec un suivi précis des coûts.</p><p>Une troisième voie est aussi envisageable : un projet peut comporter des phases bien encadrées qui entrent dans un forfait et d’autres qui seront facturées à l’heure. Cette approche permet de sécuriser une partie du budget tout en se laissant une certaine flexibilité pour laisser place aux besoins émergents.</p><h2>Identifier les contraintes et gérer le risque</h2><p>Lorsqu’on a été prévenu de ce qu’on doit craindre ou de <a href="https://www.spiria.com/fr/blogue/methodes-et-bonnes-pratiques/trois-problemes-a-anticiper-dans-tout-projet-de-developpement/">ce qu’on doit éviter</a>, on est doublement en état de prendre des précautions ou des mesures. Il faut avoir une bonne conscience des restrictions ou des limitations du projet, qui peuvent être d’origine humaine, matérielle, technologique, <a href="https://www.spiria.com/fr/blogue/methodes-et-bonnes-pratiques/investissement-informatique-eviter-la-catastrophe-financiere/">budgétaire</a> ou encore temporelle. Les principales contraintes relèvent bien souvent de dépendances à des systèmes externes ; il faut correctement les identifier et s’assurer de n’en oublier aucune.</p><p>Tout projet comporte des risques inhérents. Les recenser dès la phase de définition de projet permet de préparer une stratégie pour les circonscrire. Aussi, le client est l’expert de son domaine d’affaires et sa présence à toutes les étapes clés du projet est la garantie d’éviter la plupart des obstacles.</p><h2>Privilégier le développement itératif</h2><p>La réalité est qu’un projet informatique d’envergure évolue constamment au cours de son développement et que pour bien réussir, le partenaire doit s’adapter en permanence aux changements de priorités. Ces derniers peuvent être de cause externe, par exemple une modification du marché ou des besoins émergents. Il faut donc une méthodologie qui laisse la place au pragmatisme et à la flexibilité. Les projets d’une certaine taille doivent idéalement être réalisés en mode itératif, c’est-à-dire d’avoir des livrables sur une périodicité fixe. Ces étapes de livraison doivent être l’occasion de rencontrer son partenaire, de constater l’avancement des travaux et de vérifier l’adéquation avec les attentes. Obtenir rapidement des livrables permet de diminuer considérablement le risque d’avoir en fin de parcours un logiciel qui ne répond pas réellement aux besoins. Cela vous autorise à faire sans délai des ajustements, voire à changer la direction de votre projet, en cas d’imprévu.</p><h2>Adopter les meilleures pratiques</h2><p>L’adoption par votre partenaire des meilleures pratiques a pour but de parer tout échec ou carence du projet logiciel. Il s’agit en quelque sorte d’une assurance contre les risques inhérents à l’industrie. Dysfonctionnements, interruptions des services et intrusions peuvent avoir de lourdes conséquences financières. Et améliorer la qualité est toujours un gage de performance.</p><p><strong>Mettre l’utilisateur au centre.</strong> L’expérience vécue par les utilisateurs est primordiale au succès de votre application. Un design cohérent et des <a href="/fr/services/experience-client-innovante/etudes-de-clientele/">interfaces intuitives</a> les aident à obtenir les résultats qu’ils souhaitent et suscitent un meilleur engagement, ce qui garantit une bonne adoption de l’outil et se traduit en augmentation de la productivité et de la satisfaction. <a href="https://www.spiria.com/fr/blogue/methodes-et-bonnes-pratiques/la-premiere-etape-pour-creer-un-logiciel-convivial/">Avoir en tête l’utilisateur final</a> et ses besoins tout au long du projet fait partie des bonnes pratiques.</p><p><strong>Endiguer la dette technique.</strong> Au début d’un projet, on peut avoir tendance à vouloir des fonctionnalités livrées au plus vite aux dépens d’une qualité irréprochable du code. On peut aussi avoir des dates de livraison non négociables qui obligent à prendre temporairement des raccourcis. On accumule ainsi une “<a href="https://www.spiria.com/fr/blogue/methodes-et-bonnes-pratiques/anticiper-et-controler-la-dette-technique/">dette</a>” qui sera à rembourser tôt ou tard, et comme pour les finances, plus on attend, plus elle grossit. Sur les projets d’envergure, il est impératif de surveiller en continu l’accumulation de cette dette et d’avoir une stratégie de contrôle claire. Différentes méthodes peuvent être mises en pratique comme des sprints dédiés à la dette, une fraction du temps consacré à l’amélioration continue, etc.</p><p><strong>Penser qualité…</strong> Tout le monde s’entend pour dire qu’un bogue qui est identifié pendant le processus de développement est infiniment moins coûteux que celui qui serait identifié plus tard, par exemple pendant les tests d’acceptation par l’utilisateur ou pire encore, à la mise en production. Les techniques d’intégration continue et une revue du code correctement menée aideront à identifier les problèmes qui, s’ils sont corrigés au bon moment, feront économiser énormément de temps, d’argent et d’énergie. À cet égard, vous devez vous assurer que votre partenaire est en mesure de déployer tous les outils standards de l’assurance qualité qui peuvent être nécessaires à la réussite de votre projet : tests unitaires, d’intégration, d’<a href="https://www.spiria.com/fr/blogue/assurance-qualite/evolution-du-role-et-des-competences-de-lassurance-qualite/">intégration continue</a>, des interfaces, tests fonctionnels, etc.</p><p><strong>Et sécurité.</strong> Enfin, il ne faut jamais perdre de vue les <a href="https://www.spiria.com/fr/blogue/methodes-et-bonnes-pratiques/10-pistes-pour-la-securite-numerique-de-lentreprise/">enjeux de sécurité</a> et ne jamais tenter d’économiser sur ce chapitre. La prise en compte de la sécurité à toutes les phases du projet fait partie d’une démarche d’assurance qualité globale.</p><h2>Prise en main</h2><p>Le succès de l’implantation d’une nouvelle solution, sa bonne adoption par ses utilisateurs, passe souvent par la formation afin que la prise en main soit rapide et efficace. Il est important d’établir dès que possible le type de formation, le niveau de documentation utilisateur attendu et les responsabilités de l’équipe de réalisation ou l’implication d’autres intervenants. Votre partenaire doit être à même d’offrir ce service. De manière générale, plus la solution est complexe, plus ses utilisateurs doivent être accompagnés, autant par des intervenants maîtrisant le nouvel outil que par une documentation claire.</p><h2>Maintenance</h2><p>Un logiciel doit être maintenu tout au long de sa vie. Il est important d’avoir un partenaire qui peut vous proposer des services de support et maintenance en postproduction. Ce partenaire doit aussi se montrer proactif afin d’anticiper les problèmes prévisibles comme ceux induits par un changement de version de système d’exploitation. Il est raisonnable de prévoir dès le lancement d’un projet les coûts de maintenance qui s’additionnent à ceux du développement de la solution, et qui doivent être pris en compte dans le calcul du ROI.</p>

Développement sur mesure
5 min de lecture
Quelles sont les phases du cycle de vie d’un logiciel ?
<p> Cependant, l’agilité dans le développement logiciel est un atout particulier pour maximiser la pérennité d’une solution. Les entreprises doivent demeurer en constante veille technologique et adapter leur plan technologique pour doter leurs équipes internes des bons outils ou bien pour proposer des logiciels qui répondent aux besoins de leurs clients. Dans d’autres cas, les entreprises innovent dans leur approche du marché. La courbe en forme de cloche souvent utilisée pour représenter le cycle de vie des choses illustre les phases suivantes : développement, introduction, croissance, maturité (ou stabilisation) et déclin. Mais cette courbe peut être modifiée pour allonger les phases de croissance ou de maturité de la solution grâce à une vision technologique, l’agilité et une remise en question constante.</p><p><img src="/site/assets/files/11572/phases-integration.svg" style="width:380px" alt="cycle de vie d’un logiciel" title="cycle de vie d’un logiciel"></p><p>Sur le long terme, la courbe finira éventuellement par s’infléchir, mais les entreprises peuvent être proactives pour revoir la conception de leurs logiciels et rebondir, réduisant ainsi les risques pour elles-mêmes et leurs clients. Que vous amélioriez un logiciel existant ou que vous repartiez de zéro, voici quelques questions que vous devriez vous poser : </p><ul> <li>La solution répond-elle encore à des besoins immédiats ou imminents ?</li> <li>Quand les clients, ou leurs utilisateurs, ont-ils été consultés pour la dernière fois au sujet de cette solution ?</li> <li>Qu’est-ce que la concurrence offre comme solution plus innovante ?</li> <li>La plate-forme technologique de la solution (architecture matérielle et logicielle, langage de programmation, expertises disponibles, etc.) permet-elle encore des améliorations potentielles ?</li> <li>Quelle est la disponibilité des mises à jour pour les applications connexes à l’application ou utilisées par la solution (plug-ins, solutions tierces, etc.) ? Y a-t-il eu une annonce de fin prochaine de leur maintenance ?</li> <li>Les besoins d’intégration ou d’interface avec d’autres solutions pourraient-ils prolonger la durée de vie de la solution ?</li> <li>Etc.</li></ul><p>En bref, voici les phases du cycle de vie d’un logiciel :</p><h2>1. Développement</h2><p>À ce stade, un entrepreneur ou un visionnaire a l’idée d’un logiciel qui répond à un besoin, sert un marché spécifique ou ouvre de nouvelles opportunités. L’entrepreneur ou le visionnaire essaiera d’acheter une solution sur le marché ou, mieux encore, demandera à une entreprise comme Spiria de la <a href="https://www.spiria.com/fr/services/logiciel-sur-mesure/">développer sur mesure</a>. Le logiciel peut répondre à des besoins internes de l’entreprise ou à ceux de ses clients. Le cycle de développement du logiciel est lancé.</p><h2>2. Introduction</h2><p>C’est ici le début de la transformation numérique de la plupart des clients ou utilisateurs. Les processus, les rôles et les responsabilités doivent être révisés avant le déploiement afin de soutenir le succès du nouveau logiciel. Dans un marché concurrentiel, il sera crucial de trouver le bon équilibre entre la réduction du délai jusqu’à la commercialisation <em>(time to market)</em> ou l’utilisation, d’une part, et l’inclusion de correctifs et d’éléments incontournables <em>(must have)</em>, d’autre part. Le retour d’information est essentiel à ce stade, pour évaluer les taux d’adoption et les défis rencontrés. Les mises à jour des versions sont plus fréquentes à ce stade.</p><h2>3. Croissance</h2><p>La solution logicielle est en phase d’adoption. Les utilisateurs se l’approprient et sa valeur ajoutée est clairement ou progressivement démontrée à ce stade. Les gains sont quantifiables et l’optimisation augmente la productivité interne ou celle des clients. Les mises à jour sont régulières, à mesure que de nouveaux besoins émergent. Les « ce serait bon à avoir » qui avaient été mis en veilleuse sont réévalués et peut-être mis en œuvre.</p><h2>4. Maturité (ou stabilisation)</h2><p>La consolidation des étapes précédentes permet de standardiser la solution logicielle. Les demandes ralentissent et les taux d’adoption plafonnent. Il s’agit d’une période critique pour les remises en question énumérées ci-dessus. Le rythme des transformations et des évolutions pendant cette période est très variable selon les industries ou les secteurs d’activités.</p><h2>5. Déclin</h2><p>Par manque de vision et d’adaptation aux changements conjoncturels, aux mutations du marché et des modes de consommation, le logiciel se voit délaissé ou critiqué par ses clients ou ses utilisateurs. En conséquence, ceux-ci vont chercher de nouvelles solutions technologiques pour continuer à progresser et obtenir des gains d’optimisation.</p><p style="text-align: right;">Carlo Rossi, Spiria.</p>

Bonnes pratiques
5 min de lecture
Comment définir une bonne charte de projet ?
<p>Avoir une solide culture de la gestion de projets permet aux entreprises de disposer d’un processus rigoureux, accompagné de gabarits de documents venant en soutien des différentes étapes du “cycle de vie d’un projet”. Pour mémoire, ces étapes sont : le démarrage, la planification, l’exécution et la clôture, qui inclut une boucle de contrôle à l’échelle du projet.</p><p>La charte de projet est considérée comme un livrable de la phase de démarrage. Elle en est un important jalon avant d’entamer la phase de planification, et elle permet de rendre une décision éclairée quant à la poursuite ou l’arrêt d’un projet.</p><p>Plus elle est détaillée, plus toutes les parties prenantes comprennent le contexte, les objectifs et les enjeux auxquels ils feront face durant l’exécution du projet. Tous les concepts de cet article sont repris des standards du Project Management Institute (PMI).</p><p>Vous trouverez ci-dessous la liste annotée des contenus standards que devrait inclure une charte de projet.</p><dl> <dt> <div> <table border="1" cellpadding="1" cellspacing="1" style="border:0;width:100%;"> <tbody> <tr> <th style="text-align: left;"> <p>Sections de la charte</p> </th> <th style="text-align: left;">Notes</th> </tr> <tr> <td>Page de titre</td> <td>Nom du projet ; nom du responsable du projet ; commanditaire du projet (entreprise cliente et éventuellement division ou département) ; cadre responsable chez le client (promoteur du projet) ; date ; version.</td> </tr> <tr> <td>Résumé</td> <td>Quelques phases détaillant à haut-niveau le projet (résumé exécutif).</td> </tr> <tr> <td>Contexte</td> <td><br> Pourquoi réalise-t-on ce projet ? À quelle(s) problématique(s) et à quel(s) objectif(s) stratégique(s) le projet veut-il répondre ?</td> </tr> <tr> <td>Finalité</td> <td>Liste détaillant les résultats tangibles et les bénéfices attendus par le commanditaire.Les énoncés ici doivent être “SMART” (c’est-à-dire spécifiques, mesurables, atteignables, réalistes et limités dans le temps).</td> </tr> <tr> <td>Description, inclusions / exclusions</td> <td>Paragraphe donnant une description du projet, suivi des inclusions et exclusions au projet.</td> </tr> <tr> <td>Hypothèses et contraintes liées au projet</td> <td>Tableau des restrictions ou limitations, internes ou externes au projet, affectant les performances du projet. Par exemple : date imposée de livraison, limite du budget, disponibilité des ressources, etc. Hypothèses essentielles au succès du projet. (Facteurs considérés comme vrais, réels ou certains, mais restant non prouvés. Ces hypothèses seront validées au cours de la planification).</td> </tr> <tr> <td>Stratégies de réalisation</td> <td>Tableau d’analyse qui évalue la pertinence et le risque liés aux différentes stratégies de réalisation : à l’interne, à l’externe (outsourcing) ou conjointe (en partenariat, avec des ressources internes et externes), si applicable.</td> </tr> <tr> <td>Impacts du projet sur son environnement</td> <td>Tableau d’évaluation des impacts (technologiques, socioculturels, organisationnels, politico-légaux, économiques, infrastructurels, etc.).</td> </tr> <tr> <td>Analyse des parties prenantes</td> <td><br> Tableau d’évaluation détaillant le pouvoir et l’intérêt des différentes parties prenantes au projet. Personnes ou organisations impliquées, affectées ou influentes dans le cadre du projet.</td> </tr> <tr> <td>Risques et opportunités</td> <td>Évaluation des éléments de risque en fonction des probabilités, et mesures préventives ou de mitigation.</td> </tr> <tr> <td>Budget préliminaire</td> <td>Estimation des efforts et des coûts par phases du projet et par étapes (ou par livrables).</td> </tr> <tr> <td>Échéancier préliminaire</td> <td>Calendrier de projet préliminaire découpé par phases et étapes.</td> </tr> <tr> <td>Coûts d’opération</td> <td>Dépenses annuelles à prévoir après l’implantation du projet.</td> </tr> <tr> <td>Valeurs ajoutées</td> <td><br> Tableau d’évaluation comparatif entre la situation actuelle et celle visée après la réalisation du projet. Les évaluations se font sur les objectifs stratégiques (économiques, technologiques, clientèle, organisationnels, autres).</td> </tr> <tr> <td>Références</td> <td>Sources d’information pertinentes ayant contribué à l’élaboration de la charte.</td> </tr> <tr> <td>Recommandation du responsable du projet</td> <td>Recommandation sur l’acceptation, le rejet ou l’acceptation conditionnelle du projet.</td> </tr> <tr> <td>Signatures</td> <td>Signatures du responsable du projet et de son promoteur (client).</td> </tr> </tbody> </table>

Développement sur mesure
5 min de lecture
Tout savoir sur le développement d’applications pour mobile
<h2>Qu’est-ce qu’une application mobile ?</h2> <p><picture><source srcset="https://www.spiria.com/site/assets/files/11547/mobile_app_spiria.400x0.webp" type="image/webp" media="(max-width: 599px)" /><source srcset="https://www.spiria.com/site/assets/files/11547/mobile_app_spiria.760x0.webp" type="image/webp" media="(max-width: 999px)" /><source srcset="https://www.spiria.com/site/assets/files/11547/mobile_app_spiria.1039x0.webp" type="image/webp" media="(min-width: 1000px)" /><img title="What exactly is a mobile application" src="/site/assets/files/11547/mobile_app_spiria.webp" alt="What exactly is a mobile application" /></picture></p> <p>Une application mobile est un logiciel spécifiquement développé pour fonctionner sur un périphérique mobile à interface tactile. Cette définition prise au sens large inclut les tablettes et les montres intelligentes. Mais si l’on n’apporte pas de précision supplémentaire, tout le monde comprend que vous parlez d’une application développée pour les téléphones intelligents.</p> <p>Dans de nombreux cas, une application mobile développée pour les téléphones peut aussi fonctionner sur des tablettes, puisque ces dernières utilisent généralement des systèmes d’exploitation dérivés de ceux des téléphones. Dans l’univers Apple, il est même possible de faire tourner une application iOS sur un ordinateur Macintosh (s’il est équipé au moins de la version 11 de macOS). Mais cela reste “expérimental” et les interfaces prévues pour le téléphone sont souvent inadaptées à un fonctionnement dans un environnement non tactile.</p> <h3>Quelles applications pour le mobile ?</h3> <p>Il existe une myriade d’applications pour mobile, autant pour téléphones Android que pour les iPhone. Le système d’exploitation qui est livré avec le téléphone comporte déjà un assortiment d’applications de base, comme un navigateur web, un logiciel de courriel, un gestionnaire de calendrier, un gestionnaire de contacts, une application de prise de vues pour utiliser la ou les caméras, etc. Vous pouvez ensuite compléter cette collection d’applications selon vos besoins par d’autres, à télécharger sur l’<a href="https://www.apple.com/ca/app-store/" target="_blank" rel="noreferrer noopener">App Store d’Apple</a> ou le <a href="https://play.google.com/store" target="_blank" rel="noreferrer noopener">Google Play Store</a> (anciennement l’Android Market). Certaines applications sont gratuites, d’autres doivent être achetées.</p> <p>Les applications se classent en 3 principales catégories dépendant des choix technologiques faits pour les produire : les applications natives, les applications multiplateformes et les applications web.</p> <h3>Applications natives</h3> <p>Les applications développées spécifiquement pour une plateforme mobile particulière sont connues sous le nom d’applications natives. Elles utilisent toutes les technologies offertes par le système d’exploitation (<a href="https://fr.wikipedia.org/wiki/Android" target="_blank" rel="noreferrer noopener">Android</a> ou <a href="https://fr.wikipedia.org/wiki/IOS" target="_blank" rel="noreferrer noopener">iOS</a>) et par la plateforme matérielle. Elles offrent donc en théorie les meilleures performances possibles et le plus de possibilités en matière de fonctionnalités. Les applications iOS natives sont généralement écrites en langage <a href="https://swift.org" target="_blank" rel="noreferrer noopener">Swift</a> ou en <a href="https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html" target="_blank" rel="noreferrer noopener">Objective-C</a> et les applications Android natives sont écrites en <a href="https://www.java.com/" target="_blank" rel="noreferrer noopener">Java</a> ou en <a href="https://kotlinlang.org" target="_blank" rel="noreferrer noopener">Kotlin</a>. Le revers de la médaille de l’application purement native, c’est qu’une application native destinée à un appareil Apple ne pourra pas fonctionner sur un appareil Android, et vice-versa.</p> <h3>Applications multiplateformes</h3> <p>Si l’on veut proposer une même application sur iOS comme sur Android, il existe des alternatives au développement de deux applications techniquement entièrement distinctes. Les équipes de développement ont l’option plus économique d’utiliser une base de code commune pour produire les deux versions nécessaires, ce qu’il est possible de faire grâce à certains outils comme <a href="https://dotnet.microsoft.com/apps/xamarin" target="_blank" rel="noreferrer noopener">Xamarin</a> et <a href="https://flutter.dev" target="_blank" rel="noreferrer noopener">Flutter</a>. À l’arrivée, il y aura toujours deux applications produites (chacune est compilée pour sa plateforme), mais cela aura pris moins de temps à les développer. Cependant, ces applications ont certaines limitations et sont souvent plus exigeantes en matière de stockage, de puissance de calcul et de mémoire vive que des applications purement natives.</p> <h3>Applications web</h3> <p>Une application web est mise en œuvre avec les technologies du web, c’est-à-dire <a href="https://fr.wikipedia.org/wiki/Hypertext_Markup_Language">API</a>s natives, c’est-à-dire aux fonctionnalités de l’appareil). Leur principal avantage souvent avancé est un plus faible coût de développement comparativement aux apps natives et multiplateformes, mais cela n’a rien de systématique.</p> <p>Il existe différents formats d’applications web. Citons parmi les plus courantes les <strong>applications hybrides</strong> qui sont encapsulées dans une application native de visualisation web (<a href="https://developer.apple.com/documentation/uikit/uiwebview" target="_blank" rel="noreferrer noopener">UIWebView</a> sur iOS et <a href="https://developer.android.com/guide/webapps/webview" target="_blank" rel="noreferrer noopener">WebView</a> sur Android) et les <strong><a href="https://en.wikipedia.org/wiki/Progressive_web_application" target="_blank" rel="noreferrer noopener">Progressive Web Apps</a></strong> qui sont un format d’application en ligne poussé par Google.</p> <h2>Pourquoi créer une application mobile ?</h2> <p>C’est bien évidemment une question à se poser au préalable : pourquoi dois-je créer une application mobile ? Ai-je même vraiment besoin d’une application mobile ? Mais si vous lisez ces lignes, c’est probablement que vous avez déjà une idée assez précise du pourquoi vous avez besoin d’une application pour téléphone intelligent.</p> <p>Aujourd’hui, en Amérique du Nord, 97 % des adultes possèdent un téléphone mobile et 85 % ont un téléphone intelligent (selon une <a href="https://www.pewresearch.org/internet/fact-sheet/mobile/" target="_blank" rel="noreferrer noopener">étude du Pew Research Center</a> de 2021). Chez les plus jeunes, les chiffres tendent à être encore plus forts. Le taux de pénétration des téléphones intelligents atteindrait les 89 % chez les 13-19 ans aux États-Unis (selon une <a href="https://www.prnewswire.com/news-releases/common-sense-research-reveals-everything-you-need-to-know-about-teens-use-of-social-media-in-2018-300709161.html" target="_blank" rel="noreferrer noopener">étude de Common Sense</a> de 2018). Et dès l’âge de 11 ans, plus de la moitié des enfants ont un téléphone intelligent (53 % selon la même étude).</p> <p>Ainsi, le téléphone intelligent est devenu un outil de communication omniprésent, qui touche pratiquement toutes les catégories sociodémographiques. Pour beaucoup de gens, c’est aussi le seul moyen d’accès à Internet. De cet état de fait, il est le meilleur support pour atteindre la plus large population possible et accéder à des millions de nouveaux clients potentiels. Mais pour ce faire, il faudra toutefois réussir à développer l’application efficace qui répondra à un ou des besoins existants.</p> <p>Il existe trois principaux types d’applications mobiles :</p> <p><strong>L’application produit</strong> : l’application est en elle-même le produit et elle est généralement vendue à l’utilisateur. Il peut s’agir d’une application grand public ou professionnelle. Elle remplit un besoin de l’utilisateur et sa manière de répondre à ce besoin conditionne son succès. Elle peut éventuellement être gratuite et se financer, par exemple, par la publicité ou par un abonnement qui permet de bénéficier de fonctionnalités additionnelles.</p> <p><strong>L’application service</strong> : généralement gratuite, elle est offerte par une entreprise en complément de son offre de services. C’est aussi un puissant outil de marketing pour entretenir le lien avec le client et lui présenter de nouvelles offres. Comme exemple typique, on citera l’application bancaire qui est offerte par toutes les banques aujourd’hui. Ces applications rendent de multiples services aux clients comme la consultation de leurs relevés de compte, le virement de sommes d’argent et la gestion de différents produits financiers. Une application de gestion de comptes bancaires réussie est utile pour l’acquisition de clients (par le bouche-à-oreille par exemple) et surtout leur rétention (puisque l’application est devenue de nos jours la principale interface d’échange entre le client et sa banque).</p> <p><strong>L’application vente</strong> : elle sert essentiellement à vendre des produits physiques et peut être accompagnée de services pour mieux fidéliser la clientèle. Elle est non seulement une “boutique en ligne” qui facilite la prise de commandes, mais aussi un important vecteur pour le marketing et la publicité. L’entreprise l’offre pour augmenter ses ventes, maintenir le lien avec sa clientèle, accroître la fidélité à la marque et accéder à de nouveaux publics dans le cadre d’une stratégie multicanale.</p> <h2>Les bonnes questions à se poser avant de se lancer</h2> <p>Après l’idéation initiale, il y a beaucoup de questions à se poser : comment puis-je créer un avantage unique pour mes futurs utilisateurs ? Quels problèmes souhaitent-ils résoudre ? Comment mon application mobile va-t-elle changer leur vie et la rendre meilleure ? Qu’est-ce qui est attrayant pour eux ? Quelle(s) fonction(s) mon application proposera-t-elle ? Est-il vraiment pertinent de se lancer dans ce projet ? Qu’offre la concurrence ? Est-ce qu’une application similaire existe déjà ? Le cas échéant, comment démontrer que votre projet sera rentable auprès des investisseurs ? Quelle stratégie marketing envisager ? Etc.</p> <p>Apporter des réponses à ces questions est essentiel pour garantir le succès du projet et vous éviter d’errer en cours de route. Si vous devez faire appel à un financement externe pour le développement, répondre à ces questions est même une obligation, car les investisseurs vous les poseront.</p> <p>Vous devez examiner 3 questions de base sous toutes leurs coutures : <strong>Quoi ? Pour qui ? Comment ?</strong></p> <p><strong>Quoi</strong> : Quelle est l’idée de base de l’application et à quel besoin répond-elle ? Quelle sera sa valeur ajoutée par rapport au marché actuel ? Pourquoi maintenant ? Quelles sont les fonctionnalités de base minimales à implanter à court terme ? Quelles sont celles qui sont souhaitables à moyen terme ?</p> <p>Il est important d’avoir une idée claire de ce que vous désirez créer comme application, il n’est pas nécessaire de savoir exactement le détail de toutes les fonctionnalités, mais plutôt de bien cerner à quel(s) besoin(s) cette application répondra ? En quoi se différenciera-t-elle de ce qui existe déjà… sinon, pourquoi refaire ce qui existe déjà ? Pour aller chercher le maximum de clients, vous devrez vous démarquer de vos compétiteurs.</p> <p><strong>Pour qui</strong> : Qui est votre public cible ? Des particuliers ? Des entreprises ? Et dans ce cas, les employés ou les dirigeants ? En fonction du public cible de votre application, les stratégies de vente-marketing-communication seront très différentes. Le contenu de l’application doit aussi être adapté à votre public, d’où la nécessité de définir à l’avance, et le plus précisément possible, à qui s’adressera le “produit fini”.</p> <p><strong>Comment</strong> : Quel est votre budget ? Quel est le bénéfice attendu ? Qui sont vos investisseurs ? Quels périphériques doivent-ils être compatibles ? Qui fera le développement de cette application ? Comment rentabiliser/monétiser cette application ? Quel est votre plan de communication/marketing ?</p> <p><picture><source srcset="https://www.spiria.com/site/assets/files/11547/building.400x0.webp" type="image/webp" media="(max-width: 599px)" /><source srcset="https://www.spiria.com/site/assets/files/11547/building.760x0.webp" type="image/webp" media="(max-width: 999px)" /><source srcset="https://www.spiria.com/site/assets/files/11547/building.1039x0.webp" type="image/webp" media="(min-width: 1000px)" /><img title="Building a mobile app" src="/site/assets/files/11547/building.webp" alt="Building a mobile app" /></picture></p> <p><em>Budget alloué</em> : Comment savoir combien coûtera votre projet d’application mobile ? C’est une question qui mérite d’être bien étudiée… Tout d’abord, quels sont le bénéfice et les retombées que vous attendez de ce projet ? Est-ce un bénéfice financier ou un bénéfice qualitatif ou les deux ? Est-ce que l’application vous permet d’automatiser des processus ou encore de générer de nouveaux revenus ? Tous ces éléments vous permettront de mieux évaluer combien vous serez prêt à investir.</p> <p><em>Partenaires</em> : Assurez-vous de vous entourer de vrais professionnels pour le développement de votre application. Faire le mauvais choix peut mettre en danger l’ensemble de votre projet. Faites des recherches approfondies avant de commencer. Trouvez plus un “partenaire” qu’un “fournisseur de services”, un qui vous impliquera tout au long du développement, réduisant donc les risques inhérents à tout projet.</p> <p><em>Format de l’application</em> : Natif, hybride, application web ? Quelles plateformes sont-elles ciblées ? Etc. Il faut répondre le plus tôt possible à ces questions et choisir le format et les technologies en ayant en tête votre vision à long terme ; vos partenaires sauront vous guider à ce stade. Si vous n’avez pas le budget nécessaire pour tout faire en même temps, il est toujours possible de prioriser et faire le projet par étapes, une version/plateforme à la fois par exemple.</p> <p><em>Plan de communication et/ou de commercialisation</em> : Le plan de communication ne doit pas être négligé, surtout dans le cadre d’une demande de financement ; c’est une des parties les plus importantes de votre préparation. Il aura un rôle à jouer afin de séduire les investisseurs au moment de présenter votre projet. Plus votre plan est clair et bien structuré, plus il sera convaincant.</p> <p><em>Quand</em> : Quel est votre échéancier ? À quelle date désirez-vous avoir votre première version ? Il vaut toujours mieux être un peu en avance qu’un peu en retard. Cela vous évite d’être forcé de prendre des décisions trop rapides, souvent à votre désavantage.</p> <h2>Le processus de développement d’une application mobile</h2> <p><strong>1. La planification</strong></p> <p>C’est arrivé à la phase de planification que l’on s’assure d’avoir apporté des réponses à toutes les questions traitées dans le chapitre qui précède. La planification est une phase fondamentale du développement d’une application, basée essentiellement sur des rencontres exploratoires et d’analyse avec l’équipe multidisciplinaire chargée du développement. Elle vise à atténuer les risques et à partir sur de bonnes bases. Il ne faut pas la bâcler ou l’esquiver, car c’est souvent là que se décide le futur succès ou l’échec. Elle sert à définir le concept, à préciser les contours du produit, à identifier le public cible et à jauger la pertinence de chaque fonction offerte.</p> <p><strong>2. Les requis</strong></p> <p>Cette étape reprend le travail effectué à l’étape de planification et ajoute un niveau de précision supplémentaire pour faire un inventaire le plus exhaustif possible des besoins et des objectifs de l’application mobile. La transcription de ceux-ci se détaille en fonctionnalités applicatives qui pourront être priorisées en équipe (par “sprints”) pour le design et le développement. À la fin de cette tache, vous avez normalement tous les éléments pour évaluer les coûts du projet.</p> <p><strong>3. Le design et le prototypage</strong></p> <p>Une fois les requis bien définis, une schématisation de l’architecture de l’application est faite lors de cette phase. Elle peut prendre différentes formes. Elle peut décrire l’architecture technologique (matérielle et logicielle), les interfaces exposées à différents services ou à des sources de données, par exemple.</p> <p>Aussi, une analyse de l’<a href="https://www.spiria.com/fr/services/design-centre-sur-utilisateur/design-experience-utilisateur/">expérience usager</a> (User Experience) permet de bâtir des maquettes fonctionnelles (Wireframes) pour valider la <a href="https://www.spiria.com/fr/services/design-centre-sur-utilisateur/design-interface-utilisateur/">fonctionnalité visuelle</a> (User Interface), l’ergonomie et l’usage efficient de navigation au sein de l’application. L’objectif de la conception UX/UI d’une application mobile est de créer d’excellentes expériences utilisateur via des interfaces interactives, intuitives, fluides, efficientes et conviviales. Le succès d’une application mobile repose en grande partie sur la qualité de son design qui influe sur la façon dont les utilisateurs adoptent et utilisent toutes les fonctionnalités.</p> <p>Diverses preuves de concepts peuvent donner lieu à des prototypes fonctionnels. Elles sont ainsi validées et testées du côté frontal (Front-End) avec des utilisateurs représentatifs du public cible avant de pouvoir se lancer dans la prochaine étape.</p> <p>Spiria offre un service de “<a href="https://www.spiria.com/fr/services/strategie-de-croissance/processus-decouverte/">processus Découverte</a>” qui inclut ces trois premières phases. Son l’objectif est de planifier tout futur produit logiciel et d’offrir en fin de parcours des prototypes fonctionnels et une feuille de route claire et complète.</p> <p><picture><source srcset="https://www.spiria.com/site/assets/files/11547/process.400x0.webp" type="image/webp" media="(max-width: 599px)" /><source srcset="https://www.spiria.com/site/assets/files/11547/process.760x0.webp" type="image/webp" media="(max-width: 999px)" /><source srcset="https://www.spiria.com/site/assets/files/11547/process.1039x0.webp" type="image/webp" media="(min-width: 1000px)" /><img title="Process" src="/site/assets/files/11547/process.webp" alt="Process" /></picture></p> <p><strong>4. Le développement logiciel</strong></p> <p>Comme le nom l’indique, c’est l’étape où les développeurs écrivent le code de l’application (Front-End et Back-End) et connectent les interfaces pour atteindre les objectifs définis. Suivant la plateforme (iOS ou Android) et le genre d’application, les développeurs sont appelés à utiliser différents langages de programmation et outils logiciels. Tout ceci est développé en détail dans la section “Piles technologiques” que vous trouverez plus bas.</p> <p>Dans le cadre de la méthodologie <a href="https://fr.wikipedia.org/wiki/Scrum_(d%C3%A9veloppement)" target="_blank" rel="noreferrer noopener">Agile-Scrum</a>, c’est un processus itératif. Le client est en mesure de suivre, tester et approuver les fonctionnalités déjà codées et à venir. Ceci permet de livrer une solution opérationnelle en fonction des besoins priorisés par cycles de développement (les “<a href="https://fr.wikipedia.org/wiki/Sprint_(d%C3%A9veloppement_logiciel)" target="_blank" rel="noreferrer noopener">sprints</a>”).</p> <p><strong>5. Les tests et l’assurance qualité</strong></p> <p>Pendant la phase de développement, divers tests mettent à l’épreuve l’application afin de valider son comportement, sa sécurité, ses performances et son fonctionnement sur différents modèles de téléphones (réels ou virtuels). Il s’agit de contrôler une grande quantité d’aspects : les interfaces s’affichent-elles correctement sur différents formats d’écrans en dans différentes orientations, sont-elles suffisamment réactives ? L’application a-t-elle est un trop fort impact sur la charge de la batterie ? Gère-t-elle correctement la bande passante du réseau si elle est amenée à communiquer ? Est-ce que les détails des comptes-utilisateurs sont stockés de façon suffisamment sécurisée ? Etc.</p> <p>Les équipes suivent des plans de tests et les résultats sont passés en revue. Durant ce travail d’<a href="https://www.spiria.com/fr/services/developpement-axe-performance/assurance-qualite-test-automatises/">assurance qualité</a> (AQ), il y a une rétroaction continuelle entre les analystes qualité et les développeurs pour supprimer tout dysfonctionnement, erreur ou non-conformité aux attentes. Une fois que tous les problèmes relevés par les analystes qualité ont été résolus, l’application est prête à être déployée.</p> <p>La réalisation de tests d’assurance qualité approfondis pendant le processus de développement est le seul moyen de s’assurer que l’application mobile sera stable, utilisable et sûre dès son premier jour.</p> <p><strong>6. Le déploiement</strong></p> <p>Le déploiement marque la fin des développements et des tests sur l’application mobile et le moment où vous pouvez mettre une bouteille de champagne au frais. Cette phase est constituée pour la plupart des applications mobiles de la mise à disposition de l’application sur une plateforme de diffusion, comme l’App Store d’Apple pour les applications iOS ou Google Play pour les applications Android.</p> <p>La procédure pour iOS est la plus complexe. Il faut soumettre l’application, accompagnée de métadonnées (descriptif, catégorie, mots clés pertinents, icône de lancement, déclaration de confidentialité, etc.), à l’App Store et passer par un processus de validation qui peut prendre de quelques jours à quelques semaines. Le délai varie en fonction de la qualité de votre app, de sa complexité et de son degré de conformité aux directives de développement iOS d’Apple. Si votre application nécessite que les utilisateurs se connectent, vous devrez fournir à Apple un compte utilisateur de test.</p> <p>Du côté d’Android, il n’y a pas de processus de validation de la part de Google. Tout va ainsi beaucoup plus vite : votre application est disponible au téléchargement sur le Play Store après quelques heures seulement.</p> <p>(Notez qu’à partir de 2022, à l’image ce qui se pratique déjà chez Apple, les applications présentes sur Google Play devront afficher des détails sur les données qu’elles collectent, ainsi que d’autres informations sur leurs pratiques en matière de confidentialité et de sécurité.)</p> <p>Les deux plateformes offrent des outils statistiques qui permettent de mesurer le succès de votre application. Les premiers téléchargements par des utilisateurs se produisent-ils ? Il est temps de déboucher le champagne.</p> <p><strong>7. La maintenance</strong></p> <p>C’est une phase où, typiquement, une autre équipe prend la relève. Cette nouvelle équipe est en quelque sorte un service à la clientèle post-déploiement. À la suite d’une période de stabilisation de la solution déployée, l’<a href="https://www.spiria.com/fr/services/developpement-axe-performance/support-maintenance/">équipe de support et maintenance</a> reste en alerte face aux demandes du client, aux rapports de plantages et aux problèmes signalés par les utilisateurs finaux. C’est elle aussi qui s’assurera que l’application restera compatible avec de nouvelles générations d’appareils mobiles et de nouvelles versions des systèmes d’exploitation.</p> <p>Notez qu’une assistance rapide aux utilisateurs finaux et la mise en production fréquente de correctifs pour améliorer l’application sont essentielles pour maintenir l’engagement des utilisateurs. Encouragez aussi les utilisateurs à vous faire part de leurs commentaires et suggestions concernant votre application. Ils peuvent être une aide majeure dans l’amélioration de votre application.</p> <h2>Les piles technologiques populaires pour le développement d’applications mobiles</h2> <p><picture><source srcset="https://www.spiria.com/site/assets/files/11547/tech-stack.400x0.webp" type="image/webp" media="(max-width: 599px)" /><source srcset="https://www.spiria.com/site/assets/files/11547/tech-stack.760x0.webp" type="image/webp" media="(max-width: 999px)" /><source srcset="https://www.spiria.com/site/assets/files/11547/tech-stack.1039x0.webp" type="image/webp" media="(min-width: 1000px)" /><img title="Tech Stack" src="/site/assets/files/11547/tech-stack.webp" alt="Tech Stack" /></picture></p> <p>Une pile technologique (“Tech Stack”) est un choix d’outils de développement qui est fait parmi l’offre de langages de programmation et d’aides logicielles disponibles pour une plateforme (iOS, Android ou multiplateforme) afin de développer le plus efficacement possible une application. Le choix de la bonne pile est dicté par la plateforme et les spécificités du projet. Certaines fonctionnalités ou performances attendues peuvent imposer un certain langage par exemple. Mais il n’y a pas en soi de bonne ou de mauvaise pile. Il y a celle qui sera le plus adaptée aux exigences de votre projet. Nous listons ci-après composants les plus communs d’une pile techno, par plateforme.</p> <h3>Composants de la pile technologique pour les applications iOS</h3> <h4><em>Langages de programmation</em></h4> <p>Il existe deux principaux langages de programmation qui sont couramment utilisés pour le développement d’applications iOS : <a href="https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html" target="_blank" rel="noreferrer noopener">Objective-C</a> et <a href="https://swift.org" target="_blank" rel="noreferrer noopener">Swift</a>.</p> <p>Depuis la naissance de macOS X, <strong>Objective-C</strong> a été le langage de programmation privilégié par Apple pour écrire des logiciels autant pour les Macintosh que pour les iPhone. Il s’agit d’un surensemble du langage de programmation C, qui offre des fonctionnalités orientées objet et un moteur d’exécution dynamique. L’Objective-C est encore assez populaire, notamment dans le cadre du développement de produits complexes où il fait toujours autorité.</p> <p>En 2014, Apple a introduit un nouveau langage dédié à son écosystème. Baptisé <strong>Swift</strong>, il est plus moderne, plus lisible et plus simple qu’Objective-C et il a vite suscité l’adhésion des programmeurs d’applications. En adoptant une syntaxe et des modèles de programmation modernes, il limite les erreurs les plus fréquentes et simplifie la vie des développeurs. Aussi, il est interopérable avec Objective-C. Utilisant la librairie de moteur d’exécution (runtime library) d’Objective-C, il autorise à faire coexister du code C, Objective-C et Swift dans une seule et même application.</p> <h4><em>Outils de développement</em></h4> <p>Les environnements de développement (IDE) les plus populaires sont <a href="https://developer.apple.com/xcode/" target="_blank" rel="noreferrer noopener">Xcode</a> et <a href="https://www.jetbrains.com/objc/" target="_blank" rel="noreferrer noopener">Appcode</a>. Les deux sont puissants et conviviaux.</p> <p><strong>Xcode</strong> est développé par Apple et donne accès à toutes les fonctionnalités essentielles requises pour créer une application mobile iOS native. Cet outil fournit aux développeurs tous les outils nécessaires à la conception de l’interface utilisateur, au codage et aux tests. Étroitement intégré aux frameworks Cocoa et Cocoa Touch, Xcode est un environnement incroyablement productif pour créer des applications pour Mac, iPhone et iPad. Il a en outre le</p>

Stratégie
5 min de lecture
Comprendre la transformation numérique
<h2>Quel cadre pour la transformation numérique ?</h2> <p>Une entreprise qui se lance dans un projet de transformation numérique doit avant tout définir des objectifs <strong>clairs</strong> et <strong>précis</strong>. Elle peut commencer par évaluer les pratiques liées à l’expérience client, à l’efficacité opérationnelle, à la culture organisationnelle, à l’expertise de son personnel et à l’infrastructure technologique, par exemple. Tout au long du processus, l’entreprise doit considérer ses besoins et ses priorités, non pas à court terme, mais à <strong>long terme</strong>, dans l’objectif de demeurer concurrentielle.</p> <p>Au cours d’un tel exercice, l’entreprise est en mesure de déterminer :</p> <ul> <li>les processus qui mériteraient d’être améliorés ;</li> <li>les technologies désuètes qui devraient être remplacées ;</li> <li>les données qui lui permettraient d’accroître son efficacité ;</li> <li>quelles sont les compétences dont elle a besoin au sein de son personnel ;</li> <li>les outils numériques qui pourraient accroître son rendement.</li> </ul> <p>Une équipe d’experts dédiée peut mener ce virage numérique, ou à défaut, un partenaire externe peut conseiller l’entreprise. Cet investissement étant très variable selon la taille de l’entreprise et son secteur d’activité, les priorités de la transformation numérique sont mises en balance avec le budget alloué au projet. Les dépenses ne s’arrêtent pas à l’achat des outils technologiques, mais comprennent également leur fonctionnement et leur entretien. L’entreprise doit établir un calendrier en fonction des objectifs définis et des ressources disponibles, et résister à la tentation de mener plusieurs projets de front.</p> <h3>Qu’est-ce qui motive la transformation numérique ?</h3> <p>Une entreprise lance un projet de transformation numérique parce qu’elle souhaite avant tout <strong>améliorer sa productivité</strong> et <strong>augmenter ses profits</strong>.</p> <p>D’une part, elle veut accroître son efficacité opérationnelle, surtout dans des marchés très concurrentiels. Pour y arriver, elle doit récolter des données pour déterminer les processus qui méritent d’être perfectionnés, mais aussi les activités qui occasionnent du gaspillage de temps et de ressources. L’entreprise peut également souhaiter savoir dans quelle mesure elle est concurrentielle.</p> <p>D’autre part, l’entreprise peut vouloir rehausser la qualité de ses produits et services. Elle aspire ainsi à répondre plus rapidement à l’ensemble des besoins de ses clients – même les plus pointus – dans l’espoir de les fidéliser. Si cela s’avère nécessaire, elle veut aussi pouvoir communiquer avec ses clients sans délai, par exemple si une mise à jour doit être effectuée ou si un composant d’un produit doit être remplacé.</p> <p>En réalisant un tel virage technologique, l’entreprise espère en outre retenir les talents au sein de son personnel, en plus d’en attirer de nouveaux. Une fois qu’il sera effectué, elle sera en mesure d’offrir à ses équipes des outils et des équipements qui faciliteront leur travail et leur permettront d’innover.</p> <h3>Les avantages et les risques de la transformation numérique pour une organisation</h3> <p>La transformation numérique d’une entreprise lui permet de <strong>numériser ses activités</strong>, de les documenter par la production de données, de révéler les lacunes et d’<strong>anticiper les difficultés</strong>. Résultats : elle devient ainsi plus efficace, et ses coûts de production diminuent.</p> <p>Plus concrètement, l’entreprise qui se lance dans un virage numérique peut :</p> <ul> <li>rationaliser ses processus ;</li> <li>évaluer la performance de son personnel ;</li> <li>offrir des produits et des services plus personnalisés ;</li> <li>innover davantage ;</li> <li>gagner en visibilité ;</li> <li>favoriser la communication avec les membres de son équipe, ses partenaires et sa clientèle ;</li> <li>prévoir les bouleversements de son secteur d’activité ;</li> <li>suivre l’évolution numérique.</li> </ul> <p>Par exemple, une usine pourrait avoir recours à des technologies pour surveiller sa production, contrôler systématiquement la qualité de ses produits et services et, en cas de besoin, y apporter des correctifs. Elle pourrait notamment implanter des solutions technologiques (Internet des objets) pour examiner ses équipements en temps réel afin de savoir s’il y a un bris ou si un entretien est nécessaire. Les données recueillies aident par ailleurs les gestionnaires à évaluer le rendement de l’entreprise et à prendre les décisions qui s’imposent.</p> <p>Lancer un projet de transformation numérique n’est toutefois pas sans risque. L’entreprise doit veiller à obtenir la collaboration des membres de son personnel, à sécuriser ses infrastructures et à respecter les législations en matière de protection des données personnelles. Nous y reviendrons.</p> <h2>Le rôle de la sécurité dans la transformation numérique</h2> <p><picture><source srcset="https://www.spiria.com/site/assets/files/11538/security.400x0.webp" type="image/webp" media="(max-width: 599px)" /><source srcset="https://www.spiria.com/site/assets/files/11538/security.760x0.webp" type="image/webp" media="(max-width: 999px)" /><source srcset="https://www.spiria.com/site/assets/files/11538/security.1039x0.webp" type="image/webp" media="(min-width: 1000px)" /><img title="Security in digital transformation" src="/site/assets/files/11538/security.webp" alt="Security in digital transformation" /></picture></p> <h3>Quels sont les risques liés à la transformation numérique ?</h3> <p>Les outils numériques sont devenus à ce point incontournables que l’entreprise qui refuse d’amorcer son virage numérique court le risque de ne plus être pertinente et, ultimement, de ne plus exister. Cela dit, la réalisation d’un projet de transformation numérique comprend sa part de risques. En se lançant dans une telle aventure, l’entreprise ne doit pas perdre de vue ses objectifs stratégiques. L’ordre de priorité qu’elle a établi doit être suivi, de façon à répondre aux besoins les plus urgents et à éviter de s’éparpiller.</p> <p>L’entreprise doit également s’assurer que les membres de son personnel comprennent et acceptent les changements proposés au cours de cette transformation numérique afin qu’elles et ils participent activement à ce projet. Sans cela, ils seront démotivés, et leur vigilance se relâchera. Le succès de la transformation numérique pourrait alors être compromis.</p> <p>Aussi, en numérisant ses activités, l’entreprise s’expose aux <strong>menaces de cyberattaque</strong>. Les stratagèmes des pirates informatiques évoluent à la même vitesse grand V que les technologies.</p> <p>Également, les législations, notamment en ce qui concerne la protection des données personnelles, sont de plus en plus sévères. Il est nécessaire de suivre de près l’évolution des textes de loi.</p> <h3>Les risques réglementaires : la considération des contraintes réglementaires en ce qui concerne les données</h3> <p>Au cours de ses travaux consacrés à sa transformation numérique, l’entreprise doit s’informer des règlements et des législations qui encadrent la protection des données, tant au Canada qu’à l’étranger. Si elle enfreint ces règles, elle s’expose à de lourdes amendes. Les textes de loi indiquent entre autres les limites à la collecte de données personnelles et le consentement qui doit être accordé par les personnes qui sont propriétaires de ces informations, selon l’utilisation qu’en fait l’entreprise.</p> <p>Au Canada, la <em>Loi sur la protection des renseignements personnels et les documents électroniques</em> (<a href="https://www.priv.gc.ca/fr/sujets-lies-a-la-protection-de-la-vie-privee/lois-sur-la-protection-des-renseignements-personnels-au-canada/la-loi-sur-la-protection-des-renseignements-personnels-et-les-documents-electroniques-lprpde/">LPRPDE</a>) définit les règles générales concernant la collecte, l’utilisation et la communication de renseignements personnels détenus par les entreprises privées sous juridiction fédérale, et par la plupart des entreprises qui ne sont pas sous juridiction fédérale (à l’exception des entreprises privées du Québec, de l’Alberta et de la Colombie-Britannique). La LPRPDE s’applique aux données personnelles concernant les clients, mais aussi les employés des entreprises visées.</p> <p>En outre, le <a href="https://parl.ca/DocumentViewer/fr/43-2/projet-loi/C-11/premiere-lecture">projet de loi C-11</a><em>(Loi édictant la Loi sur la protection de la vie privée des consommateurs et la Loi sur le Tribunal de la protection des renseignements personnels et des données et apportant des modifications corrélatives et connexes à d’autres lois)</em> est examiné par les élues et les élus de la Chambre des communes, à Ottawa. Une fois adoptée, cette loi imposera de nouvelles obligations aux organisations.</p> <p>Au Québec, les entreprises sont soumises à une loi similaire à la LPRPDE : la <em>Loi sur la protection des renseignements personnels dans le secteur privé</em>. Les entreprises de l’Alberta et de la Colombie-Britannique doivent de leur côté se conformer aux dispositions du <em>Personal Information Protection Act</em> (PIPA). Par ailleurs, le Québec étudie le <a href="http://m.assnat.qc.ca/fr/travaux-parlementaires/projets-loi/projet-loi-64-42-1.html">projet de loi n<sup>o</sup> 64</a><em>(Loi modernisant des dispositions législatives en matière de protection des renseignements personnels)</em>, qui doit préciser les obligations des organisations privées et des institutions publiques.</p> <p>Les lois fédérales et provinciales représentent, en quelque sorte, un « strict minimum » pour les entreprises qui ont des activités commerciales au Canada. Or, la plupart des organisations qui vendent des produits ou des services ailleurs qu’au Canada devraient aussi s’intéresser aux cadres réglementaires en vigueur à l’étranger. Par exemple, l’Union européenne a ratifié le <em>Règlement général sur la protection des données</em> (<a href="https://www.cnil.fr/fr/reglement-europeen-protection-donnees">RGPD</a>), entré en vigueur en 2018. Le RGPD est sévère envers les contrevenants : les pénalités peuvent atteindre jusqu’à 4 % du chiffre d’affaires annuel mondial de l’entreprise.</p> <p>Aux États-Unis, la Californie a ratifié, aussi en 2018, le <em>California Consumer Protection Act</em>. Mentionnons aussi le <em>Freedom Act</em>, adopté en 2015, auquel s’est ajouté en 2018 le <em>CLOUD Act</em> (pour <em>Clarifying Lawful Overseas Use of Data Act</em>). Ces lois diffèrent des lois européennes et canadiennes, car elles visent d’abord à permettre aux services de renseignements américains d’obtenir des informations sur des personnes à des fins de défense et de sécurité nationale.</p> <h3>Les risques de sécurité : la sécurisation des données et des outils</h3> <p>L’entreprise doit prendre les moyens nécessaires pour sécuriser ses données et ses infrastructures. Il lui faut d’abord cibler ses actifs qui sont essentiels au maintien de ses activités et déterminer dans quelle mesure elle est apte à gérer les risques. Cette analyse lui permettra de mieux prioriser ses efforts.</p> <p>Elle a ensuite à réviser ses procédures, implanter de nouveaux contrôles et effectuer les mises à jour et les sauvegardes nécessaires. Selon ses besoins, elle pourra acquérir des outils et des équipements de protection, comme des pare-feu, des antivirus, des filtres antipourriels, un système de gestion des privilèges d’administrateur ou un dispositif de segmentation de l’information.</p> <p>Les membres du personnel doivent être mis à contribution puisqu’elles et ils représentent généralement un maillon faible. L’entreprise peut leur offrir une formation sur la cybersécurité afin qu’elles et ils adoptent des habitudes qui renforceront la sécurité de ses activités. Par la suite, l’entreprise a intérêt à demeurer sur ses gardes. Elle a tout à gagner à analyser périodiquement ses mesures de cybersécurité afin de prévenir les cyberattaques.</p> <h3>Les risques liés à la gestion du changement : l’évolution des dispositifs RH</h3> <p>Il est essentiel que l’entreprise qui se lance dans un projet de transformation numérique puisse compter sur la collaboration des membres de son équipe. Pour ce faire, il est fortement conseillé de les inclure dès le début des travaux pour s’assurer de leur engagement. La formation d’un comité, qui comprend des membres du personnel salarié, des responsables d’équipe, des gestionnaires et des membres de la haute direction, peut ouvrir la porte à un dialogue pendant la réalisation de ce projet. Ses membres discutent des prochaines étapes, des obstacles à surmonter et des solutions qui s’imposent dans le but de mobiliser les équipes.</p> <p>Dans la même veine, l’entreprise a intérêt à informer toutes ses employées et tous ses employés de la nature des changements à venir. Les gestionnaires doivent être à l’écoute des craintes qui sont soulevées de façon à rassurer celles et ceux qui les expriment. Des séances de formation doivent également être prévues afin que les équipes s’approprient les outils technologiques, respectent les nouvelles procédures et deviennent possiblement plus productives.</p> <h2>Qui sont les actrices et les acteurs de la transition numérique ?</h2> <p><picture><source srcset="https://www.spiria.com/site/assets/files/11538/transition_actors.400x0.webp" type="image/webp" media="(max-width: 599px)" /><source srcset="https://www.spiria.com/site/assets/files/11538/transition_actors.760x0.webp" type="image/webp" media="(max-width: 999px)" /><source srcset="https://www.spiria.com/site/assets/files/11538/transition_actors.1039x0.webp" type="image/webp" media="(min-width: 1000px)" /><img title="Actors in a digital transition" src="/site/assets/files/11538/transition_actors.webp" alt="Actors in a digital transition" /></picture></p> <h3>La transformation numérique a des incidences sur toute l’entreprise</h3> <p>L’humain se trouve au cœur de la transformation numérique. L’entreprise qui se lance dans un vaste chantier de ce genre ne doit pas oublier que tous les membres de son équipe sont touchés par les changements provoqués par l’arrivée de nouvelles technologies et par l’implantation de nouvelles méthodes de travail. Il ne s’agit pas d’un simple projet informatique.</p> <p>De prime abord, ce virage technologique peut dispenser des travailleuses et des travailleurs de certaines tâches répétitives et chronophages grâce à l’automatisation. Les compétences exigées des membres de l’équipe peuvent ainsi être modifiées au fur et à mesure de l’arrivée des nouvelles technologies, d’où la nécessité d’offrir des séances de formation. Conséquemment, les compétences recherchées pour pourvoir des postes laissés vacants sont aussi appelées à changer.</p> <p>Les nouvelles technologies font en sorte que les membres du personnel peuvent travailler de partout et à tout moment de la journée. Une culture de l’instantanéité s’installe. L’entreprise est tenue de mettre en place un cadre pour préserver un environnement de travail sain. Par exemple, elle pourrait déterminer les heures où il n’est pas possible de communiquer avec les membres de l’équipe. Par ailleurs, la transformation numérique laisse plus d’espace à l’innovation. Ce sont les équipes qui conçoivent de nouveaux projets et remettent en question les modèles existants. Elles permettent ainsi à l’entreprise d’atteindre de nouveaux sommets.</p> <p>Dans le même ordre d’idées, le virage numérique pousse l’entreprise à constamment s’adapter pour répondre aux besoins de sa clientèle, limiter les risques ou suivre les tendances technologiques. Encore là, ce sont les travailleuses et les travailleurs qui se trouvent en première ligne.</p> <h3>La transformation numérique : toute l’organisation doit se l’approprier</h3> <p>La transformation numérique, vaste projet, est mise en œuvre par la haute direction d’une entreprise, mais l’ensemble de son personnel est appelé à contribuer à sa réalisation afin de la développer de façon optimale et ainsi assurer sa réussite.</p> <p>La communication est primordiale. L’entreprise doit veiller à informer les membres de ses équipes de ses motivations et des changements qui seront effectués au cours de ce virage numérique. Conséquemment, les employées et employés ont avantage à s’approprier les nouveaux outils technologiques, à les maîtriser et à les adapter au besoin. Elles et ils peuvent ainsi mieux gérer les données recueillies, réagir efficacement si un problème survient et même, possiblement, rehausser leur productivité.</p> <p>Les membres du personnel doivent être en mesure de cerner les risques et de trouver des solutions. Elles et ils doivent également pouvoir communiquer de nouvelles idées, mener des expériences et innover afin d’optimiser les activités de l’entreprise. La culture organisationnelle de l’entreprise doit favoriser une telle forme d’engagement… et fournir le droit à l’erreur !</p> <p>Pour instaurer une forme de coopération entre les équipes pluridisciplinaires, il est nécessaire de briser les vases clos et de favoriser l’émergence de cellules collaboratives. La prise de décision doit désormais tenir compte de l’ensemble des activités de l’entreprise et des besoins des clients de façon à créer une synergie entre les équipes. Une telle approche repose sur l’amélioration continue de tous les processus.</p> <h3>Préparer les équipes et planifier une transformation numérique réussie</h3> <p>Le virage numérique remet en question tous les processus de l’entreprise, ce qui peut susciter de l’inquiétude et même des craintes de la part des membres du personnel. Les gestionnaires doivent en être conscients et être à l’écoute de ces préoccupations. Ils seront ainsi en mesure de rassurer leurs équipes.</p> <p>Pour traverser cette période de changement avec succès, l’entreprise gagnera à prendre le temps d’expliquer aux employées et aux employés le chantier de la transformation numérique et ses motivations afin qu’elles et ils comprennent sa pertinence. Celles-ci et ceux-ci seront plus enclines et enclins à collaborer au projet.</p> <p>Le virage numérique ne doit pas être précipité. L’entreprise a tout à gagner à mener à bien ce chantier étape par étape afin non seulement de prendre les décisions appropriées, mais aussi d’éviter de bousculer les équipes en place. Elle peut par exemple exécuter de petits changements sur une base régulière pour qu’à terme, une transformation majeure soit réalisée.</p> <p>Pour soutenir son personnel, l’entreprise doit lui offrir des séances de formation pour mettre à jour ses compétences, selon les nouveaux besoins. Il sera ainsi davantage motivé et engagé, ce qui contribuera à la réussite de la transformation numérique.</p> <h3>La transformation numérique est aussi un changement de culture d’entreprise</h3> <p>Toute transformation numérique s’accompagne d’un changement dans la culture organisationnelle de l’entreprise, puisqu’elle exige de penser et d’agir autrement. La hiérarchie stricte, qui fait en sorte que les décisions sont prises au sommet de la pyramide, fait souvent place à une culture d’entreprise basée sur la responsabilisation, la collaboration, l’amélioration en continu et l’innovation. Si les équipes sont responsabilisées, elles seront plus motivées et elles contribueront davantage au rendement de l’entreprise. Cette dernière doit ainsi promouvoir une nouvelle forme d’engagement plus soutenu.</p> <p>Miser sur l’intelligence collective pour rendre ses activités plus efficaces s’avère une bonne pratique. Pour y arriver, l’entreprise peut tout autant lancer des initiatives afin d’inciter la collaboration entre les équipes qu’offrir des formations sur une base régulière.</p> <p>L’implantation de mesures favorisant l’émergence d’idées innovantes est également primordiale. Par exemple, l’entreprise peut disposer d’une boîte à suggestions. Elle peut par ailleurs former une équipe qui se consacre à l’innovation et même présenter les résultats des indicateurs de performance. Les descriptions de poste peuvent inclure la nécessité de faire preuve d’initiative. Enfin, l’entreprise a avantage à souligner, voire à récompenser, l’apport essentiel des membres de son personnel quand une idée innovante voit le jour.</p> <h3>L’entreprise ne peut changer si ses leaders ne changent pas</h3> <p>La transformation numérique exige que les gestionnaires participent à ce vaste chantier. Ils ne doivent pas se cantonner dans le rôle de simple spectateur, mais plutôt agir comme de véritables actrices et acteurs du changement. Une remise en question peut être nécessaire de leur part et ils ont intérêt à adopter une approche de gestion basée sur la confiance, plutôt que sur la microgestion des tâches de chacune et de chacun.</p> <p>Les gestionnaires doivent conséquemment trouver le moyen de mobiliser leur personnel pour l’inciter à faire preuve d’initiative. Ainsi, ce dernier sera plus à l’aise de s’investir pleinement dans l’entreprise et de remettre en question le statu quo. Ils doivent aussi modifier leurs façons de recruter. Avec la transformation numérique accomplie par l’entreprise, elles et ils ont avantage à dénicher des candidates et candidats ouverts à la nouveauté et à collaboration et en mesure d’apprendre rapidement. Avec un soutien adéquat, ces recrues pourront participer activement à la culture organisationnelle axée sur la responsabilisation, la collaboration, l’amélioration en continu et l’innovation.</p> <h2>Le télétravail et la transformation numérique : quels effets peut-on observer ?</h2> <p><picture><source srcset="https://www.spiria.com/site/assets/files/11538/teleworking.400x0.webp" type="image/webp" media="(max-width: 599px)" /><source srcset="https://www.spiria.com/site/assets/files/11538/teleworking.760x0.webp" type="image/webp" media="(max-width: 999px)" /><source srcset="https://www.spiria.com/site/assets/files/11538/teleworking.1039x0.webp" type="image/webp" media="(min-width: 1000px)" /><img title="Teleworking" src="/site/assets/files/11538/teleworking.webp" alt="Teleworking" /></picture></p> <p>Grâce aux outils technologiques implantés au cours du virage numérique, l’entreprise peut permettre aux membres de son personnel de travailler à l’extérieur du bureau, si les besoins opérationnels et le secteur d’activité le permettent. Avec le travail à distance, les membres de l’équipe profitent d’une plus grande autonomie. Elles et ils sont ainsi en mesure d’augmenter leur productivité et de proposer des idées innovantes, à condition qu’une relation de confiance existe entre la direction et elles et eux. Une attention particulière doit être portée à l’esprit d’équipe afin de favoriser la collaboration, si chère au virage numérique.</p> <p>L’entreprise doit aussi mettre en place des dispositifs de cybersécurité. Pour les pirates informatiques, les personnes qui sont en télétravail représentent une porte d’entrée de choix pour accéder à l’infrastructure de l’entreprise. Il est primordial à la fois de déployer les outils nécessaires et d’offrir une formation sur la sécurité et de rappeler régulièrement au personnel les consignes de base.</p> <h3>Le télétravail : accélérateur de la transformation numérique ?</h3> <p>Le travail à distance contribue à accélérer la transformation numérique d’une entreprise puisque celle-ci réalise que son personnel peut accomplir autant sinon plus de tâches à la maison. Une réflexion s’impose alors sur la nécessité de louer ou d’acheter de vastes locaux pour bureaux, ou sur la possibilité d’aménager des postes de travail non attitrés si des locaux sont conservés.</p> <p>Pas moins de 90 % des gens qui ont été envoyés à la maison pour s’acquitter de leurs tâches pendant la pandémie de COVID-19 affirment être « au moins aussi productifs » qu’au bureau, selon un sondage diffusé en avril 2021 par <a href="https://www150.statcan.gc.ca/n1/pub/45-28-0001/2021001/article/00012-fra.htm">Statistique Canada</a>. Ce fait amène 74 % des personnes dirigeant une PME à souhaiter permettre à leur personnel de continuer à travailler à distance après la crise sanitaire, indique une étude réalisée par la <a href="https://www.newswire.ca/fr/news-releases/le-teletravail-est-la-pour-de-bon-selon-une-etude-de-bdc-866947099.html">Banque de développement du Canada</a> à l’hiver 2021 auprès de 700 entreprises canadiennes.</p> <p>En conséquence, les entreprises devront peut-être considérer cette nouvelle réalité dans la planification de leur virage numérique.</p> <h3>Les défis organisationnels et structurels du télétravail</h3> <p>La transformation numérique permet au personnel d’une entreprise d’accomplir ses tâches professionnelles partout : au bureau, à la maison, dans un café ou même dans les locaux d’un client. Il peut travailler à distance à temps partiel ou à temps plein. Pour permettre le télétravail, l’entreprise est tenue avant tout d’offrir les outils et les équipements adéquats aux membres de son équipe (ordinateur, casque d’écoute, souris, etc.), en plus de mettre en place l’infrastructure nécessaire (infonuagique, accès aux réseaux à distance, plateforme de communication et de travail collaboratif, etc.), afin d’assurer le bon déroulement des activités quotidiennes. Des procédures et des dispositifs doivent également être implantés pour sécuriser toutes les données.</p> <p>Il est possible que les gestionnaires ayant des employés à distance doivent modifier leur façon de les diriger. Elles et ils ont avantage à préconiser la gestion par résultats, en plus d’assurer un suivi régulier pendant les échanges individuels ou les réunions d’équipe.</p> <p>L’entreprise a intérêt à se doter d’une politique permettant aux membres de ses équipes de mieux concilier leur travail et leur vie personnelle. Par exemple, elle peut déterminer les plages horaires où ces dernières et ces derniers doivent être attentifs aux différentes communications qui leur sont envoyées et préciser les plateformes de communication à privilégier. Autre possibilité : inviter les employées et employés à indiquer les moments auxquels elles et ils ne sont pas disponibles.</p> <h2>Mettre la transformation numérique en pratique</h2> <h3>Votre équipe est-elle prête à innover ?</h3> <p>Pour pouvoir innover, l’entreprise doit avant tout s’assurer de l’engagement des membres de son équipe. Elles et ils sont la source de nombreuses idées, et doivent avoir de la motivation et de l’enthousiasme envers le projet de transformation numérique. Pour ce faire, un dialogue doit s’établir entre les membres du personnel et les gestionnaires. Les premiers doivent être assez à l’aise pour faire part de leur idée et remettre en question le statu quo, alors que les seconds doivent être disposés à recevoir ces nouvel</p>

Développement sur mesure
5 min de lecture
Tout savoir sur le développement d’applications web
<h2>Qu’est-ce qu’une application web ?</h2> <p>Les applications web sont le plus souvent des applications de type client-serveur qui reposent sur les technologies du web pour le rendu de l’interface et les interactions avec l’utilisateur. Elles sont donc généralement accessibles via un navigateur standard (Google Chrome, Firefox, Microsoft Edge, Opera, Vivaldi, etc.). C’est le cas par exemple pour les suites applicatives Google Workspace et Microsoft 365.</p> <p>Elles se distinguent d’un site web classique par leur interactivité et par la capacité donnée à l’utilisateur de manipuler des données et d’accomplir des tâches parfois sophistiquées. De fait, en matière de fonctionnalités, elles se rapprochent souvent des applications traditionnelles, tout en s’en distinguant souvent quant à l’aspect, l’expérience utilisateur et parfois la facilité d’utilisation. Si vous avez déjà eu l’occasion d’utiliser l’application desktop Microsoft Office et sa version application web, Office 365, vous savez de quoi il retourne.</p> <p>L’interface utilisateur d’une application web peut aussi être encapsulée dans une application de visualisation web, ce qui permet de réaliser autant des applications mobiles (grâce à UIWebView sur iOS et WebView sur Android) que des applications “desktop” (grâce au framework Electron par exemple, qui inclut le moteur de rendu web Chromium). Une application de visualisation web est en fait un navigateur réduit à sa plus simple expression, sans interface de navigation, qui ne permet d’accéder qu’à une seule application en ligne. Des applications courantes comme WhatsApp, Twitch, Microsoft Teams et Slack reposent sur cette technologie.</p> <p>Les applications web offrent de nombreux avantages :</p> <ul> <li>Quand elles s’exécutent côté client dans un navigateur, aucune installation complexe n’est nécessaire pour l’utilisateur. Elles sont ainsi immédiatement fonctionnelles.</li> <li>Elles n’exigent pas de l’utilisateur d’effectuer des mises à jour logicielles. C’est toujours la dernière version qui “tourne”.</li> <li>Elles sont généralement peu exigeantes du côté matériel (espace disque, puissance de calcul) pour le client.</li> <li>Elles sont par nature multiplateformes sur ordinateur de bureau (Windows, Mac, Linux). C’est aussi souvent le cas pour les applications web optimisées pour le mobile (iOS et Android).</li> <li>La même application et vos données peuvent être utilisées facilement sur différents appareils, l’ordinateur de votre entreprise et votre ordinateur personnel par exemple, ce qui peut être utile dans un contexte de télétravail.</li> <li>Les données stockées à distance ouvrent la porte à des usages collaboratifs simplifiés (plusieurs utilisateurs modifiant en même temps un même document, par exemple).</li> <li>Etc.</li> </ul> <h2>Différents types d’applications web</h2> <h3>Les applications web statiques</h3> <p>Plutôt que d’assembler des pièces de contenu dans des processus côté serveur avant de les envoyer à l’utilisateur, ce genre d’applications web s’appuie entièrement sur le navigateur client pour gérer l’interaction et le rendu du contenu. En d’autres termes, une application web statique ne dépend pas d’un serveur pour la fourniture de contenus dynamiques, mais seulement d’un serveur web standard qui délivre des fichiers statiques. Elle repose entièrement sur les technologies du web et est donc composée de fichiers HTML, CSS, JavaScript et d’images (GIF, JPEG, SVG). La manipulation du rendu (HTML+CSS) se fait au sein du navigateur, via JavaScript.</p> <p>L’un des avantages des applications web statiques est l’économie en ressources côté serveur, puisqu’elles sont simplement des fichiers stockés sur un serveur web ordinaire (HTTP) et envoyés tels quels à l’utilisateur final. Vous n’avez pas à gérer d’infrastructure capable de supporter la montée en charge provoquée par la multiplication de processus actifs sur votre serveur au fur à mesure que le nombre d’utilisateurs de l’application croît. Aussi, il est possible de produire des applications capables de fonctionner hors-ligne. Cela étant dit, leur domaine d’application est somme toute limité.</p> <h3>Les applications web dynamiques</h3> <p>Les applications web dynamiques reposent sur un serveur web pour servir les fichiers au navigateur client (Apache, Nginx, Lighttpd, etc.) et sur un serveur applicatif pour produire le contenu qui répond aux requêtes du client. La technologie du serveur applicatif peut faire appel à différents langages de programmation comme nous le verrons plus loin.</p> <p>L’inconvénient de ces applications dynamiques est qu’elles ont besoin d’une connexion permanente au serveur sur lequel une instance de l’application s’exécute. Cette connexion peut être exigeante en bande passante pour une application complexe et, sans connexion adéquate, l’utilisateur risque de subir des lenteurs et des dysfonctionnements. En cas de coupure à l’accès Internet, l’application ne peut plus du tout fonctionner. Aussi, plus il y a d’utilisateurs, plus l’infrastructure côté serveur doit être robuste pour supporter la montée en charge.</p> <h3>Les applications web hybrides</h3> <p>Nous les citons pour être exhaustif d’un point de vue théorique et parce que cette dénomination est parfois utilisée. Ces applications dites hybrides ont une partie des fonctionnalités qui s’exécutent en local au sein du navigateur grâce à JavaScript et une autre qui est traitée sur un serveur distant. Elles tiennent donc à la fois de l’application web statique que de l’application web dynamique. Dans la pratique, la plupart des applications web dynamiques actuelles sont en fait aussi hybrides dans une certaine mesure, puisqu’elles font appel à des scripts JavaScript exécutés en local (ne serait-ce que pour injecter du contenu dans le HTML du client via Ajax, une technique basée sur JavaScript).</p> <h3>Les applications web progressives (PWA)</h3> <p>Les applications web progressives (PWA) sont une manière de développer des applications web, qui vise plus particulièrement le mobile et qui met l’accent sur la qualité de l’expérience utilisateur, quels que soient l’appareil utilisé et la qualité de sa connectivité. C’est une sorte une norme qui est soutenue par Google, notamment pour sa plateforme Android. Il est possible de mesurer le pourcentage de conformité d’une application au “standard” PWA. Dans la pratique, il s’agit d’applications web statiques (voir plus haut).</p> <h2>Quelques exemples d’applications web</h2> <p><picture><source srcset="https://www.spiria.com/site/assets/files/11534/mobile_app.400x0.webp" type="image/webp" media="(max-width: 599px)" /><source srcset="https://www.spiria.com/site/assets/files/11534/mobile_app.760x0.webp" type="image/webp" media="(max-width: 999px)" /><source srcset="https://www.spiria.com/site/assets/files/11534/mobile_app.1039x0.webp" type="image/webp" media="(min-width: 1000px)" /><img title="Quelques exemples d’applications web" src="/site/assets/files/11534/mobile_app.webp" alt="Quelques exemples d’applications web" /></picture></p> <p>Les applications web sont omniprésentes sur Internet. Dès que vous êtes sur un site transactionnel, vous faites en fait face à une application web. Elles sont aussi de plus en plus courantes en tant que SaaS (“software as a service” ou logiciel en tant que service). Ces logiciels, gratuits ou vendus sur abonnement, sont accessibles via un navigateur et peuvent être presque aussi sophistiqués qu’une application native pour ordinateur. La suite Office 365 est un bon exemple de SaaS et depuis peu de temps, Adobe propose une version application web tout à fait convaincante de son logiciel phare, Photoshop. Ce qui démontre qu’il est possible de faire des choses très ambitieuses avec les applications web.</p> <p>Les applications web peuvent aussi se faire discrètes à un tel point que la plupart de leurs utilisateurs ignorent qu’ils interagissent avec une application web. C’est le cas des applications web encapsulées, qui se présentent sur l’ordinateur comme une application standard et qui ne nécessitent pas l’usage d’un navigateur. Ces applications sont réalisées à l’aide de frameworks comme Electron qui combine le moteur de rendu Chromium (le moteur d’affichage du navigateur Chrome) et le runtime Node.js.</p> <h3>Les plateformes de commerce en ligne</h3> <p>Les sites de commerce en ligne sont des applications web qui peuvent prendre à charge de nombreuses fonctionnalités, allant du traitement des commandes à la gestion du stock. Les très gros acteurs comme Amazon ont développé leur propre application qui répond très spécifiquement à leurs besoins. Les petites et moyennes entreprises ont recours à des solutions SaaS comme Shopify par exemple. Ce genre de plateforme offre tous les outils nécessaires à la création et au lancement de sites de commerce électronique, y compris la gestion des produits et de la chaîne d’approvisionnement, et l’intégration des systèmes de paiement.</p> <h3>Les solutions de gestion de la relation client (CRM)</h3> <p>Un logiciel de CRM (pour “customer relationship management”) est un outil conçu pour aider les entreprises à offrir à leurs clients une expérience unique et à entretenir la relation avec eux afin de développer les ventes. Il fournit un portrait complet de toutes les interactions avec les clients et offre des outils sophistiqués de suivi des ventes. Il permet un travail collaboratif entre différentes équipes comme les ventes et le marketing. Des exemples de solutions de gestion de la relation client populaires sont les plateformes Salesforce et HubSpot.</p> <h3>Les logiciels de gestion intégrée (ERP)</h3> <p>Un logiciel d’ERP (pour “enterprise resource planning”) constitue la colonne vertébrale de bien des entreprises en centralisant de nombreuses fonctions essentielles comme la gestion des ressources humaines, la gestion comptable et financière, l’aide à la décision, etc. Ces importants logiciels sont de plus en plus proposés en tant que SaaS, c’est-à-dire en tant qu’application web sur abonnement. Parmi ces solutions en ligne, on trouve Microsoft Dynamics 365, Oracle NetSuite ERP, Sage X3 ERP, SAP Business ByDesign, Plex Manufacturing Cloud, etc.</p> <h3>Les systèmes de gestion de contenus (CMS)</h3> <p>Pour gérer des contenus en ligne, c’est-à-dire bâtir un site web, on a aujourd’hui recours à deux solutions. La première est d’installer une application, par exemple Drupal ou ProcessWire, sur un serveur. La seconde, plus simple, est d’avoir recours à une plateforme SaaS où tout est préinstallé, par exemple Wordpress.com, Squarespace ou Wix. Dans tous les cas, ce sont toujours des applications web pour la partie “back office”, c’est-à-dire les interfaces qui vous permettent de gérer vos contenus.</p> <h2>Le processus de développement d’une application web</h2> <p>Le processus développement d’une application web est similaire à celui de toute autre application. Il passe par des étapes toutes indispensables à la réussite du projet.</p> <p><picture><source srcset="https://www.spiria.com/site/assets/files/11534/process.400x0.webp" type="image/webp" media="(max-width: 599px)" /><source srcset="https://www.spiria.com/site/assets/files/11534/process.760x0.webp" type="image/webp" media="(max-width: 999px)" /><source srcset="https://www.spiria.com/site/assets/files/11534/process.1039x0.webp" type="image/webp" media="(min-width: 1000px)" /><img title="Process" src="/site/assets/files/11534/process.webp" alt="Process" /></picture></p> <h3>1. La planification</h3> <p>La planification est une phase fondamentale du développement d’une application web, basée essentiellement sur des rencontres exploratoires et d’analyse avec l’équipe multidisciplinaire chargée du développement. Elle vise à atténuer les risques et à partir sur de bonnes bases. Il ne faut pas la bâcler ou l’esquiver, car c’est souvent là que se décide le futur succès ou l’échec. Elle sert à définir le concept, à préciser les contours du produit final, à identifier le public cible et à jauger la pertinence de chaque fonction offerte.</p> <h3>2. Les requis</h3> <p>Cette étape reprend le travail effectué à l’étape de planification et ajoute un niveau de détail supplémentaire pour aboutir à un inventaire le plus exhaustif possible des besoins et des objectifs de l’application web. La transcription de ceux-ci se détaille en fonctionnalités applicatives qui pourront être priorisées en équipe (par “sprints” dans le cadre d’un développement mené avec la méthodologie Agile) pour le design et le développement. À la fin de cette tache, vous avez normalement tous les éléments pour évaluer les coûts du projet.</p> <h3>3. Le design et le prototypage</h3> <p>Lors de cette phase, une fois les requis bien définis, on réalise une schématisation de l’architecture de l’application web. Celle-ci peut prendre différentes formes. Elle peut décrire l’architecture technologique (matérielle et logicielle) et les interfaces exposées à différents services ou à des sources de données, par exemple.</p> <p>Aussi, une analyse de l’expérience usager (User Experience) permet de bâtir des maquettes fonctionnelles (Wireframes) pour valider la fonctionnalité visuelle (User Interface), l’ergonomie et l’usage efficient de navigation au sein de l’application. L’objectif de la conception UX/UI d’une application web est de créer d’excellentes expériences utilisateur via des interfaces interactives, intuitives, fluides, efficientes et conviviales. Le succès d’une application web repose en grande partie sur la qualité de son design qui influe sur la façon dont les utilisateurs adoptent et utilisent toutes les fonctionnalités.</p> <p>Diverses preuves de concepts peuvent donner lieu à des prototypes fonctionnels. Ceux-ci sont testés et validés du côté frontal (Front-End) avec des utilisateurs représentatifs du public cible avant de pouvoir se lancer dans la prochaine étape. Spiria offre un service de “<a href="https://www.spiria.com/fr/services/strategie-de-croissance/processus-decouverte/">processus Découverte</a>” qui inclut ces trois premières phases. Son l’objectif est de planifier tout futur produit logiciel et d’offrir en fin de parcours des prototypes fonctionnels et une feuille de route claire et complète.</p> <h3>4. Le développement logiciel</h3> <p>Comme le nom l’indique, c’est l’étape où les développeurs écrivent le code de l’application (Front-End et Back-End) et connectent les interfaces pour atteindre les objectifs définis. Suivant la plateforme côté serveur et le type d’application web, les développeurs sont appelés à utiliser différents langages de programmation et outils logiciels. Tout ceci est développé en détail dans la section “<a href="#h2_04">technologies utilisées</a>” que vous trouverez plus bas.</p> <p>Dans le cadre de la <a href="https://scrumguides.org">méthodologie Agile-Scrum</a>, la plus courante, c’est un processus itératif. Le client est associé tout au long du processus et il est en mesure de suivre, tester et approuver les fonctionnalités déjà codées et à venir. Ceci permet de livrer une solution opérationnelle en fonction des besoins priorisés par cycles de développement (les “sprints”).</p> <h3>5. Les tests et l’assurance qualité</h3> <p>Pendant la phase de développement, divers tests mettent à l’épreuve l’application web afin de valider son comportement, sa sécurité, ses performances et son fonctionnement dans différents environnements côté client (réels ou virtuels). Il s’agit de contrôler une grande quantité d’aspects : l’application répond-elle de la façon attendue dans tous les cas de figure ? Les interfaces s’affichent-elles correctement sur différents formats d’écrans et dans différentes orientations dans le cas du mobile ? Sont-elles suffisamment réactives ? L’application gère-t-elle correctement la bande passante du réseau ? Est-ce que les détails des comptes-utilisateurs sont stockés de façon suffisamment sécurisée ? Etc.</p> <p>Les équipes suivent des plans de tests et les résultats sont passés en revue. Durant ce travail d’<a href="https://www.spiria.com/fr/services/developpement-axe-performance/assurance-qualite-test-automatises/">assurance qualité</a> (AQ), il y a une rétroaction continuelle entre les analystes qualité et les développeurs pour supprimer tout dysfonctionnement, erreur ou non-conformité aux attentes. Une fois que tous les problèmes relevés par les analystes qualité ont été résolus, l’application est prête à être déployée. La réalisation de tests d’assurance qualité approfondis pendant le processus de développement est le seul moyen de s’assurer que l’application web sera stable, utilisable et sûre dès son premier jour.</p> <h3>6. Le déploiement</h3> <p>Le déploiement marque la fin des développements et des tests sur l’application web. Il marque le grand jour où des utilisateurs vont pouvoir découvrir votre application. Cette phase est constituée pour la plupart des applications web de la mise à disposition de l’application client sur une plateforme de diffusion et du transfert de l’application serveur et des bases de données qui lui sont rattachées sur un environnement de production.</p> <p>Des fournisseurs d’infrastructure dédiée aux services web, comme <a href="https://aws.amazon.com/fr/ec2/">Amazon Elastic Compute Cloud</a> (EC2) ou <a href="https://azure.microsoft.com/en-us/services/app-service/">Microsoft Azure App Services</a>, proposent des outils qui simplifient et sécurisent le déploiement d’une application web sur leurs serveurs.</p> <p>La dernière étape est de connecter les côtés client et serveur afin que le routage des requêtes et réponses via HTTPS se fasse correctement. On peut utiliser un équilibreur de charge pour recevoir les demandes faites par le client via le front-end et les acheminer vers les instances du back-end qui renverront une réponse au client. Là encore, les principaux fournisseurs infonuagiques proposent des outils performants comme l’<a href="https://aws.amazon.com/fr/elasticloadbalancing/">Elastic Load Balancing</a> qui distribue automatiquement le trafic entrant des applications sur plusieurs instances Amazon EC2. Comme il est très fortement indiqué de le faire, tout le trafic entre le client et le serveur doit être encrypté. On aura donc besoin d’un certificat SSL à jour.</p> <h3>7. La maintenance</h3> <p>C’est une phase où, typiquement, une autre équipe prend la relève. Cette nouvelle équipe est en quelque sorte un service à la clientèle post-déploiement. À la suite d’une période de stabilisation de la solution déployée, l’<a href="https://www.spiria.com/fr/services/developpement-axe-performance/support-maintenance/">équipe de support et maintenance</a> reste en alerte face aux demandes du client, au monitorage de la performance, aux rapports de plantages et aux problèmes signalés par les utilisateurs finaux. C’est elle aussi qui s’assurera que l’application restera compatible avec de nouvelles générations de navigateurs web et de nouvelles versions de systèmes d’exploitation.</p> <p>Notez qu’une assistance rapide aux utilisateurs finaux et la mise en production fréquente de correctifs pour améliorer l’application sont essentielles pour maintenir l’engagement des utilisateurs. Encouragez aussi les utilisateurs à vous faire part de leurs commentaires et suggestions concernant votre application. Ils peuvent être une aide majeure dans l’amélioration de votre application.</p> <h2>Les technologies utilisées pour construire des applications web</h2> <p>Dans sa forme la plus courante, une application web dynamique repose sur une architecture client-serveur dite à “trois tiers”. Le premier tiers est l’affichage sur le poste du client. Celui-ci est pris en charge par le navigateur grâce aux technologies du web (principalement HTML, CSS et JavaScript). Le second tiers réside sur un serveur et s’occupe de recevoir les requêtes du client et d’y répondre de façon appropriée. C’est la “logique applicative”. On peut choisir parmi une très grande variété de technologies pour prendre en charge ce tiers, et on peut aussi parfois faire appel à plusieurs d’entre elles pour une seule application (la logique applicative est alors décomposée en plusieurs entités). Le dernier tiers est le stockage des données. C’est une base de données classique qui répond aux requêtes du second tiers. Le choix des technologies est ici plus restreint. On y trouve les très classiques MySQL, PostgreSQL, Microsoft SQL Server, Oracle, SQLite, MongoDB, etc.</p> <p><picture><source srcset="https://www.spiria.com/site/assets/files/11534/working.400x0.webp" type="image/webp" media="(max-width: 599px)" /><source srcset="https://www.spiria.com/site/assets/files/11534/working.760x0.webp" type="image/webp" media="(max-width: 999px)" /><source srcset="https://www.spiria.com/site/assets/files/11534/working.1039x0.webp" type="image/webp" media="(min-width: 1000px)" /><img title="technologies" src="/site/assets/files/11534/working.webp" alt="technologies" /></picture></p> <h3>Le code côté client</h3> <p>Il s’agit du code qui est téléchargé par le client afin d’assurer l’affichage de l’interface et les transactions de données avec le serveur. Ce code se répartit en trois parties : le HTML, les feuilles de styles et le JavaScript. Pour le réaliser, on peut soit partir de zéro, soit avoir recours à un ou plusieurs frameworks. Les frameworks ont l’avantage d’accélérer les choses et offrent généralement un ensemble de conventions qui facilite le travail à plusieurs.</p> <h3>Le code côté serveur</h3> <p>L’application qui “tourne” sur le serveur peut-être codée en ayant recours à une grande variété de langages de programmation, par exemple : C#, Java, Python, Ruby, PHP. Cette application reçoit les requêtes HTTP du client, les traite et retourne au client les réponses attendues. Là aussi, on peut faire appel à des frameworks de développement, chaque langage en offrant un ou plusieurs.</p> <h2>Les frameworks web</h2> <h3>Bien choisir son framework</h3> <p>Bien choisir son framework est une opération toujours délicate, car les conséquences d’un mauvais choix sont toujours une perte de temps et d’argent. Changer d’outil en cours de développement n’est jamais souhaitable et rester bloquer avec une architecture inappropriée générera des problèmes pendant toute la durée de vie de l’application.</p> <p>Différents critères sont à considérer dans ce choix :</p> <ul> <li><strong>Les besoins de l’application</strong>. En premier lieu, il est important de bien définir ce que l’application devra faire avant de choisir un framework. Avec une bonne idée des besoins de l’application, il est bien plus facile d’orienter les recherches afin d’établir une première liste de frameworks à évaluer.</li> <li><strong>La popularité du framework.</strong> La popularité du framework n’est pas un critère technique, mais il est cependant très important pour guider le choix. Plus le framework est populaire, plus sa communauté est active. Cela signifie plus de réponses aux problèmes courants sur des sites comme StackOverflow, plus de tutoriels, plus de plug-ins, plus de contributions open-source, etc. Aussi, la popularité est un gage de pérennité de la solution.</li> <li><strong>La qualité documentation</strong>. Celle-ci peut être très variable suivant les frameworks. Il est donc important de jeter un coup d’œil à la documentation afin de vérifier si elle est bien complète. De nombreux exemples et tutoriels sont généralement de bons indices d’une bonne documentation. Aussi, vérifiez que la documentation est à jour avec la dernière version du framework.</li> <li><strong>Les coûts</strong>. Un facteur à considérer lors du choix d’un framework est que certains ne sont pas gratuits, ou seulement partiellement gratuits, ou encore ne sont disponibles que sur des plateformes payantes.</li> <li><strong>L’extensibilité fonctionnelle</strong>. De nombreux frameworks sont extensibles via des modules ou plug-ins. Examinez la richesse et la variété du catalogue offert avant de faire votre choix. Il y a peut-être le module qui vous fera économiser du temps de développement sur une fonction clé.</li> <li><strong>La compatibilité avec l’architecture existante</strong>. L’application peut avoir à s’intégrer dans une architecture plus large ou sur des serveurs qui imposent des limites aux langages et frameworks possibles. Par exemple, si vous utilisez déjà Microsoft .NET pour des services interagissant avec la base de données ou pour de la logique d’affaires, il peut être intéressant d’opter pour ASP.NET pour vos applications web.</li> <li><strong>Les compétences de l’équipe</strong>. Avoir un ou plusieurs développeurs qui maîtrisent déjà le framework envisagé, ainsi que le langage sur lequel il repose, est un atout considérable. Cela signifie moins de temps d’apprentissage et ne pas tomber dans le piège des erreurs les plus communes. Si personne dans l’équipe ne connaît le langage Ruby, il n’est sans doute pas très raisonnable de se lancer avec Ruby on Rails, à moins d’avoir beaucoup de temps à perdre.</li> <li><strong>La sécurité</strong>. Dernier point, mais non le moindre. Certains frameworks mettent l’accent sur la sécurité et activent par défaut des protections de base, alors que d’autres demandent au développeur d’y penser. Il est aussi important d’utiliser un framework régulièrement mis à jour pour colmater d’éventuelles brèches dès qu’elles sont découvertes, ce qui est un argument supplémentaire en faveur du critère de la popularité. Enfin, il faut faire très attention aux plug-ins que l’on va utiliser, car ils peuvent introduire des failles dans un framework autrement sûr.</li> </ul> <h3>Les frameworks du front-end</h3> <p>Les frameworks web côté client sont basés sur JavaScript et TypeScript (un surensemble syntaxique de JavaScript qui est développé par Microsoft). Nous détaillons ci-après quelques exemples parmi les plus courants, mais la liste est très loin de s’arrêter là.</p> <p><strong>React</strong> est une bibliothèque JavaScript gratuite et open-source qui est extrêmement populaire et qui est utilisée par d’innombrables applications web. Maintenue par Facebook et une communauté de développeurs, elle permet de construire des interfaces utilisateur hautement interactives via la création de composants. À l’usage, React se montre particulièrement flexible et performante, en utilisant un DOM virtuel et en ne mettant à jour le rendu dans le navigateur qu’en cas de réelle nécessité.<br />⇨ <a href="https://reactjs.org">reactjs.org</a>.</p> <p><strong>Vue</strong> est une bibliothèque JavaScript développée par un ancien ingénieur de Google et soutenue par une communauté de développeurs. Dotée d’une excellente documentation et de fonctionnalités qui n’ont rien à envier de la concurrence (dont un DOM virtuel), cette bibliothèque légère jouit d’une grande popularité tout à fait méritée. C’est le framework de choix quand il s’agit de bâtir une application web progressive.<br />⇨ <a href="https://vuejs.org">vuejs.org</a>.</p> <p><strong>Angular</strong> est un framework basé sur TypeScript et développé p</p>

Culture
5 min de lecture
Votre première entrevue avec Spiria
<h2>Pour commencer, vous recevez un courriel d’invitation</h2><p>Peu de temps après avoir soumis avec succès votre CV (voyez notre <a href="https://www.spiria.com/fr/blogue/environnement-de-travail/la-recette-spiria-pour-un-cv-reussi/">recette pour un CV réussi</a>), vous devriez recevoir automatiquement un accusé de réception de votre candidature. Dans un délai de 2 à 3 jours ouvrables, notre équipe d’acquisition de talents étudiera votre CV. Si vos compétences coïncident avec nos besoins actuels, nous vous enverrons un courriel d’invitation pour un appel vidéo ou téléphonique d’une durée d’environ 30 minutes. Sachez que nous n’appelons pas directement les candidats sans avoir pris un rendez-vous au préalable.</p><p>La fraude par vol d’identité étant malheureusement fréquente, il est important de protéger ses renseignements personnels lors d’un processus d’embauche. Vous pouvez vérifier sur LinkedIn les profils de notre équipe de Culture et Talents. Nous ne vous demanderons jamais de fournir des informations personnelles telles que votre NAS ou vos informations financières durant le processus de sélection.</p><h2>Ensuite, choisissez l’heure et le jour de notre appel</h2><p>Après avoir reçu notre invitation à la première entrevue, pensez à vérifier l’offre d’emploi à laquelle vous avez postulé et le CV que vous avez envoyé. Vous pouvez aussi consulter le <a href="https://www.spiria.com/fr/" title="https://www.spiria.com/fr/">site web de Spiria</a> pour mieux comprendre l’entreprise. Indiquez-nous le jour et l’heure qui vous conviennent le mieux. Notre équipe d’acquisition de talents fera de son mieux pour se rendre disponible lorsque vous l’êtes. Avant de confirmer le jour et l’heure de votre rencontre avec notre équipe, assurez-vous que vous disposerez d’une connexion internet stable et que vous vous trouverez dans un endroit calme qui vous permettra de vous exprimer librement.</p><h2>Puis, nous discutons</h2><p>La première rencontre est le moment de valider des éléments importants pour l’emploi et pour vous. Nous vous demanderons des détails sur votre situation actuelle, votre expérience et vos compétences, le type de projets sur lesquels vous avez travaillé, les technologies maîtrisées et ce que vous aimeriez développer comme compétences. Si vous êtes bilingue, nous pouvons passer du français à l’anglais lors de la conversation.</p><p>Nous vous demanderons également quelles sont vos attentes salariales. Puisque Spiria a mis en place une politique de <a href="https://www.spiria.com/fr/blogue/environnement-de-travail/transparence-salariale-chez-spiria/">transparence salariale</a>, vous pourrez vous fier à la fourchette indiquée dans la description de poste afin de guider la discussion.</p><p>Durant la première rencontre, l’équipe d’acquisition de talents donne beaucoup d’information sur la compagnie, ses valeurs, le poste en question, les avantages offerts, la taille des équipes, etc. Vous aurez évidemment l’occasion de poser toutes les questions que vous souhaitez.</p><h2>Enfin, nous vous recontactons</h2><p>En général, vous aurez de nos nouvelles dans un délai d’une semaine. S’il y a des développements de votre côté et que vous avez besoin d’une réponse plus rapidement, n’hésitez pas à contacter l’équipe d’acquisition de talents. Les prochaines étapes seront le test technique (pour les postes en développement logiciel) et une entrevue virtuelle d’environ 60 minutes.</p><p>L’expérience candidat est importante pour Spiria. L’équipe d’acquisition de talents est disponible lorsque vous avez des questions, tout au long du processus.</p>

Culture
5 min de lecture
Mise en œuvre de la transparence salariale chez Spiria
<p>Les politiques de transparence salariale ne sont pas encore très courantes, mais de plus en plus d’entreprises commencent à manifester de l’intérêt, car elles en saisissent les avantages, autant pour le climat social que pour l’acquisition de nouveaux talents. Il s’agit d’aider tout employé, actuel comme futur, à comprendre les bases factuelles qui déterminent son salaire, quelle est sa position par rapport à ses collègues et quelles sont ses possibilités de développement au sein de l’entreprise.</p><p>Ce qui a avant tout inspiré la démarche chez Spiria, c’est la forte volonté d’offrir un environnement de travail qui soit juste et équitable, et de contribuer ainsi au fait que, tout simplement, les gens se sentent bien dans l’entreprise. L’opacité sur la grille salariale, sur les critères de calcul des rémunérations individuelles, entraîne inévitablement des suspicions de possibles iniquités de la part des employés, et cela ne les aide pas à se sentir pleinement en confiance par rapport à leur employeur. Aussi, la transparence est un outil de premier plan pour combattre certaines inégalités, comme celles entre hommes et femmes (selon des chiffres publiés en 2022 par Statistique Canada<sup>*</sup>, les femmes gagneraient en moyenne 11,1 % de moins par heure que les hommes, ce qui est considérable).</p><p>Au-delà de la transparence sur la situation présente, nous voulions être clairs en matière de perspectives de rémunération pour chacun afin d’éviter les déceptions futures. Évidemment, pour ceux dont les attentes sont plus élevées que celles définies dans notre grille et qui ont atteint un échelon difficile à dépasser, ceci pourrait conduire à une démobilisation. Mais c’est un risque à prendre ; on ne peut entretenir des espérances irréalistes et vivre sur un non-dit qui débouchera, tôt ou tard, sur une désillusion et de l’amertume. À l’inverse, et dans la majorité des cas, pour ceux dont les attentes s’inscrivent dans la grille, c’est un puissant incitatif à continuer son développement personnel et à investir des efforts pour atteindre des échelons supérieurs.</p><p>Cette transparence se décline aussi à l’externe. Nous avons pris la décision d’inscrire la fourchette salariale du poste, qui est issue de notre grille, dans toutes <a href="https://www.spiria.com/fr/carriere/">nos offres d’emploi</a>. Là encore, il s’agit de prévenir de potentielles déceptions et d’offrir une vision honnête des possibilités d’évolution, tout en écartant dès le départ des postulants dont les attentes ne sont pas réalistes dans le cadre de ce que nous sommes, ce qui évite une perte du temps autant du côté du candidat que de nous.</p><p style="text-align: center;"><picture><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/10859/vignette.400x0.webp" media="(max-width: 599px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/10859/vignette.760x0.webp" media="(max-width: 999px)"><source type="image/webp" srcset="https://www.spiria.com/site/assets/files/10859/vignette.1039x0.webp" media="(min-width: 1000px)"><img src="/site/assets/files/10859/vignette.webp" style="width: 70%; border: none;" alt=" " title=" "></source></source></source></picture></p><p>Mais cette transparence ne s’est pas faite du jour au lendemain. Pour la préparer, il a tout d’abord été nécessaire d’examiner et de mettre à plat la grille telle qu’elle existait, et, entre autres choses, d’y déceler d’éventuelles iniquités et d’y remédier par des rattrapages. Cette seule étape, qui n’est pas si simple, s’est étalée sur plus d’un an. Ensuite, plusieurs mois ont été consacrés à communiquer, à expliquer, à répondre aux questionnements et à améliorer le projet en tenant compte des retours, avant tout début de divulgation.</p><p>Réaliser une grille ne consiste pas à jeter plus ou moins arbitrairement des chiffres dans des cellules de tableur. C’est tout un délicat et laborieux processus qu’il a fallu expliquer à tous afin que chacun comprenne en quoi la grille était rationnelle, légitime, égalitaire et conforme aux possibilités financières de l’entreprise, tout en demeurant concurrentielle sur le marché. Une fois la grille dévoilée, chaque employé a été rencontré individuellement pour lui monter où il se situait dans la fourchette des salaires correspondants à son poste et pour quelles raisons, et enfin, quels étaient ses perspectives et ses leviers d’action pour progresser.</p><p>En bref, ce fut assurément un gros chantier qui a mobilisé beaucoup de monde, mais il méritait tous ces efforts. Avec la transparence salariale, nous avons désormais une pièce essentielle à notre environnement de travail basé sur la confiance et le respect mutuels. Et l’opération s’inscrit dans une volonté encore plus large d’être une entreprise humaine, responsable, à l’écoute des besoins de chacun et qui développe une culture moderne et originale.</p><p>(*) En 2021, les employées âgées de 25 à 54 ans gagnaient en moyenne 3,79 $ (11,1 %) de moins l’heure que leurs homologues de sexe masculin. Autrement dit, les femmes de ce groupe d’âge gagnaient 0,89 $ pour chaque dollar gagné par les hommes. [<a href="https://www150.statcan.gc.ca/n1/pub/14-28-0001/2020001/article/00003-fra.htm">Source</a>.]</p>