Informatique sans serveur : Guide de la technologie et des coûts

Développer des applications sans avoir à gérer les serveurs, c’est possible avec l’informatique sans serveur, ou approche Serverless.

En quoi consiste ce mode de développement ? Quels sont ses atouts et ses limites ?

Découvrez l’essentiel à retenir sur l’informatique sans serveur.


Informatique sans serveur, qu’est-ce que c’est ?

Avec le Serverless, les développeurs web n’ont plus à s’occuper de la gestion des serveurs. Les serveurs sont toujours là pour faire fonctionner les applications, mais ils sont gérés par un fournisseur de services web, un provider, et non plus par les développeurs.

Le fournisseur de services alloue ensuite automatiquement les ressources nécessaires à l’exécution de l’application et les utilisateurs paient uniquement pour les ressources utilisées.


Quels sont les avantages de l’informatique sans serveur ?

Que ce soit pour les développeurs ou pour les entreprises, le Serverless a plusieurs avantages :

  • Réduction des coûts de développement et d’exploitation : Les fournisseurs Serverless proposent une facturation proportionnelle à l’usage du service et non en fonction des capacités d’un serveur acheté à l’avance. Cela permet de réduire les coûts d’infrastructure pour les entreprises et d’éviter de gaspiller une partie de l’espace serveur acheté.
  • Optimisation du temps de développement : En permettant aux développeurs de se concentrer sur l’écriture du code plutôt que sur la gestion et la maintenance de l’infrastructure, l’informatique sans serveur permet de réduire le temps de développement et donc le time to market des applications.
  • Amélioration de la scalabilité : Les services Serverless évoluent de manière dynamique en fonction de l’afflux d’utilisateurs. Il n’y a donc pas de rupture de services. Les applications sans serveur peuvent être facilement mises à l’échelle et évoluer pour répondre aux besoins des entreprises.

Quelles sont les limites du Serverless ?

Bien que l’informatique sans serveur offre de nombreux avantages, il présente également certaines limites à considérer avant de faire le choix du Serverless :

  • Un temps d’exécution limité : Les fonctions sans serveur sont limitées dans le temps d’exécution et les ressources disponibles.
  • Chaque fonction est sans état, stateless function. La fonction s’exécute par conséquent avec un contexte nouveau lors de chaque requête.
  • Le Cold Start, ou démarrages à froid : Quand une fonction n’est pas appelée, elle ne tourne pas. Le fournisseur la désactive afin d’économiser de l’énergie. Si ces fonctions éphémères, qui s’exécutent uniquement lorsque cela est utile, vont dans le sens des principes du Green IT en limitant la consommation d’énergie, elles ont pour inconvénient d’ajouter une latence lors du lancement de la fonction. C’est pourquoi, les premières requêtes sont moins performantes.
Stateless, présentation du Cold Start
  • Une dépendance aux fournisseurs de services Serverless : En utilisant l’informatique sans serveur, les entreprises et les développeurs n’ont plus la main sur les serveurs. Ils ne peuvent pas changer la configuration PHP, ni personnaliser le serveur. Ils dépendent de ce que proposent les fournisseurs de services.
  • Des coûts variables difficiles à prévoir : L’informatique sans serveur peut permettre de réduire les coûts d’infrastructure. Toutefois, avec le système de la facturation en fonction de la consommation des ressources, les coûts peuvent être très variables et sont difficiles à prévoir pour les entreprises.

Quels sont les fournisseurs de services Serverless ?

Les fournisseurs Serverless mettent à disposition une plateforme qui permet aux développeurs d’intégrer facilement des fonctions à leur application. Ils fournissent une plateforme FaaS (Function-as-a-Service) qui permet de déployer et d’exécuter le code sans avoir à assurer la maintenance de l’infrastructure. Les fournisseurs de services s’occupent également de la gestion et de la mise à l’échelle des serveurs et des éventuels correctifs et mises à jour de sécurité des serveurs.

Parmi les fournisseurs proposant des services Serverless :

  • Amazon Web Services (AWS) avec AWS Lambda
  • Microsoft Azure avec Azure Functions
  • Google Cloud Platform avec Google Cloud Functions

Vous souhaitez développer une application avec l’informatique sans serveur ? Découvrez comment créer une API Serverless dans notre vidéo.

20 bonnes pratiques pour réussir l’éco-conception de votre site web

Créer un site web, une application ou un logiciel éco-responsable, tel est l’objectif de l’éco-conception web.

De plus en plus répandue, cette pratique permet de réduire l’impact environnemental des projets numériques tout en développant des sites performants qui offrent une expérience utilisateur de qualité. Voici 20 bonnes pratiques à adopter pour optimiser l’empreinte écologique des projets IT tout au long de leur cycle de vie.


L’éco-conception web de la phase des spécifications à la mise en production d’un projet IT

Dès la définition d’un projet de création d’un site ou d’une application, les bonnes pratiques d’éco-conception web s’appliquent :

1- Éliminer les fonctionnalités non utilisées : cela permet d’alléger le poids des applications.

2- Quantifier précisément le besoin : l’objectif est d’éviter les surdimensionnements inutiles, par exemple en optimisant la taille des images.

3- Optimiser le parcours utilisateur en diminuant le nombre d’actions et en réduisant les temps de réponse. En plus de limiter l’empreinte environnementale, cela permet de charger moins de pages et d’offrir une meilleure expérience aux utilisateurs avec un site plus rapide.

4- Privilégier un design simple et épuré en évitant les images et les vidéos. Lorsque celles-ci sont indispensables, leur taille doit être optimisée.

5- Mettre en cache les données.

6- Limiter le nombre de requêtes HTTP.

7- Stocker les données statiques localement en utilisant le localStorage lorsque c’est possible. Cela évite de recharger les mêmes éléments à chaque nouvelle navigation.

8- Choisir un format de données adapté pour éviter un gaspillage de mémoire et limiter les problèmes de performances du site.

9- Assurer la compatibilité de l’application créée avec les anciens appareils et logiciels : l’objectif est de respecter les principes du Green IT et de ne pas obliger les utilisateurs à renouveler leur équipement.

10- Utiliser un cache HTTP.

11- Ajouter des entêtes Expires ou Cache-Control : elles permettent de définir la durée pendant laquelle un navigateur doit conserver une ressource dans son cache.

12- Réduire les logs serveurs.

13- Mettre en place une politique d’expiration et de suppression des données : de nombreux systèmes de gestion de bases de données permettent de définir une durée de vie des données. Au-delà de cette durée, les données expirées sont purgées et effacées définitivement. En plus de suivre la démarche d’éco-conception web, le fait de ne pas stocker indéfiniment des données permet de respecter le RGPD.

14- Opter pour un hébergement écologique : dans une démarche d’éco-conception web, le choix de l’hébergeur est une étape importante. Certains sont un peu plus verts que d’autres avec, par exemple, des serveurs alimentés par des énergies renouvelables ou la mise en place de politique de compensation carbone pour réduire leur impact environnemental.


Utilisation, maintenance et fin de vie des projets web éco-conçus

L’éco-conception web continue de s’appliquer une fois le projet développé et produit. Ainsi, pour éviter d’utiliser des ressources inutilement, certaines mesures éco-responsables peuvent être prises :

15- Limiter les e-mails lourds, nombreux et redondants.

16- Éviter la lecture automatique des vidéos et des sons.

17- Entretenir son site régulièrement : un entretien régulier permet de garantir le bon fonctionnement du site, d’optimiser sa performance et d’améliorer l’expérience utilisateur.

18- Éviter les redirections : elles dégradent le temps de réponse et consomment des ressources inutilement, ce qui est contraire à l’éco-conception web.

19- Mettre en place une politique de suppression des contenus et des articles, notamment ceux qui ne sont plus visités ou sont très anciens, afin de libérer de l’espace pour de nouveaux contenus.

20- Établir un plan de fin de vie du site lorsque ce dernier n’est plus utilisé.

En plus de ces pratiques éco-responsables, d’autres moyens existent pour réduire l’impact du numérique et sont à découvrir dans notre vidéo sur le green IT et l’éco-conception web.

Comprendre en 5 minutes les API

Une API (Application Programming Interface) est un ensemble normalisé de classes, de méthodes, de fonctions et de constantes qui sert de façade par laquelle un logiciel offre des services à d’autres logiciels, afin d’échanger des données et des fonctionnalités.

Types d’API

Il existe quatre principaux types d’API couramment employés.

  • API publiques :

Une API publique (ou API externe), est une API ouverte pour tous les développeurs, qui propose l’accès à ses données et ses services sous forme de libre-service. Cela suppose généralement une authentification et une autorisation modérées.

  • API privées :

Une API privée (ou API interne), est une API créée et utilisée uniquement au sein de l’entreprise. Ce type d’API n’est pas accessible pour des développeurs externes.

  • API partenaires :

Une API partenaire est une API qui est partagée uniquement à une liste de développeurs ou d’entreprises bien définie. Les droits d’accès à l’API sont de fait plus restrictifs que ceux d’une API publique.

  • API composites :

Une API composite est une combinaison de plusieurs API. Cela permet de grouper plusieurs requêtes en un seul appel API. Cette réduction du nombre d’appels améliore la vitesse et les performances de l’API. Ce type d’API est généralement utilisé dans les micro services.

Protocoles et architectures d’API

Il existe plusieurs protocoles et architectures d’API pour permettre cet échange de données et de fonctionnalités. Ils sont régis par des règles, des structures, et des contraintes différentes.

REST

L’architecture REST (Representational State Transfer) est un style d’architecture qui suit plusieurs principes fondamentaux:

  • Client-Serveur : les responsabilités sont séparées entre le client et le serveur. Le client envoie les requêtes au serveur, et le serveur retourne les réponses au client. Ils doivent être indépendants : un changement sur l’un ne doit pas impacter l’autre.
  • Stateless : (Sans état) Chaque interaction client-serveur est indépendante. Le serveur ne stocke pas les données des requêtes précédentes.
  • Cache : Les réponses du serveur peuvent être mises en cache, pour améliorer les performances et éviter d’appeler le serveur pour récupérer des données qui n’évoluent pas ou peu.
  • Layered : (Système multicouche) Architecture qui permet d’avoir plusieurs serveurs intermédiaires qui peuvent améliorer l’extensibilité du système en mettant en place une répartition de charge et un cache partagé.
  • Interface uniforme : Le client et le serveur communiquent avec le protocole HTTP, qui possède plusieurs méthodes de communication (GET, POST, PUT, DELETE, …). Chaque requête possède un URI (Uniform Resource Identifier), et renvoie des données sous une forme prédéfinie (JSON, XML, …).

Les API REST sont majoritairement utilisées pour les sites web accessibles au public. Elles permettent d’avoir une communication relativement simple entre le client et le serveur.

Ce sont des API flexibles, qui peuvent s’adapter à différents types de données (même si le JSON est le plus répandu).

SOAP

SOAP (Simple Object Access Protocol) est un protocole d’échange d’informations utilisant le XML (Extensible Markup Language).

Ce protocole définit de façon stricte comment les messages doivent être envoyés, et ce qui doit être inclus dedans. Cela fait de SOAP un protocole plus sécurisé que REST, mais qui le rend en contrepartie plus lourd au niveau du code, et plus compliqué à implémenter de façon générale.

SOAP utilise généralement le protocole HTTP, mais contrairement au REST, il n’est pas restreint à celui-ci, et peut utiliser le SMTP par exemple.

Il est généralement utilisé pour les applications liées au paiement, qui demandent une haute sécurité, ou pour des API internes.

RPC

RPC (Remote Procedural Call) est un protocole qui invoque des actions ou des processus exécutables sur un serveur.

Il peut aussi bien utiliser du JSON (avec le protocole JSON-RPC) ainsi que du XML (avec XML-RPC).

Contrairement aux API REST, le RPC n’accepte que les requêtes de type GET ou POST.

Le RPC se démarque par des payloads plus légers, ce qui améliore nettement les performances des requêtes client-serveur.

Dernièrement, c’est le framework gRPC, développé par Google qui s’est démarqué grâce à toutes ses améliorations apportées au protocole RPC. Il utilise HTTP/2 pour le transport des données, Protobuf (Protocol Buffers) comme format de sérialisation, qui encode les données envoyées et reçues pour minimiser le poids des requêtes, et encore améliorer les performances.

GraphQL

GraphQL est un langage de requête créé par Facebook, qui propose une alternative à REST. Il utilise une architecture basée sur un système de schéma de requêtes typé qui permet d’éviter les problèmes d’over/under-fetching, c’est à dire que le client récupère exactement ce qu’il demande au serveur, sans surplus de données inutiles.

Contrairement aux autres protocoles et architectures d’API, c’est le client qui définit les données à récupérer, et non pas le serveur qui décide quelles données à renvoyer.

Cela permet d’améliorer les performances sur les requêtes faites au serveur en s’assurant qu’il n’y aura pas de surplus d’informations, mais également de s’assurer que les données demandées sont bien existantes, et dans le bon type demandé.

Ce langage possède cependant quelques limitations, comme le fait de ne pas pouvoir gérer facilement l’upload & le download de fichiers. Néanmoins, chez TheCodingMachine nous sommes fans et avons développé notre propre librairie PHP pour aller avec GraphQL : GraphQLite.

Si vous souhaitez aller plus loin dans votre compréhension du secteur et du vocabulaire tech, n’hésitez pas à lire notre : livre blanc « Do you speak technique ? »

Stress Test : Réussir vos tests de charge avec Apache JMeter

Outil de stress test open source, JMeter permet de tester et d’optimiser les performances des applications, sites web et serveurs.

Découvrez pourquoi un test de performance est essentiel dans un projet web et comment se déroule un stress test avec JMeter.


Pourquoi effectuer un stress test avec JMeter ?

Application trop lente et/ou qui ne répond pas, les problèmes de performance d’un site, d’une application, d’un logiciel ou d’un serveur peuvent altérer l’expérience utilisateur (UX), l’image de marque et les résultats d’une entreprise.

Réaliser un stress test avec JMeter, ou avec un autre outil, permet d’identifier et de corriger tous les points de vulnérabilité qui vont entraîner des erreurs en cas de forte affluence et d’analyser comment va répondre le système dans ces situations.

Il permet de vérifier la robustesse d’un système, ses capacités de réponse et de gestion des erreurs lorsqu’il est soumis à des conditions où son fonctionnement normal est compromis comme un afflux d’utilisateurs.

Le stress test participe ainsi à l’optimisation des performances d’un site et de l’expérience utilisateur.

Bon à savoir : Un stress test n’est jamais un parfait reflet de la réalité. Il correspond plutôt à un indice de confiance quant à la robustesse du système face à certaines situations.


Les étapes des stress tests

Les stress tests se déroulent en 5 étapes :

1- Définir les scénarios tests : Quelle activité faut-il simuler pour être au plus proche de la réalité ? Quels sont les différents scénarios ?

2- Définir les variables des scénarios : nombre d’utilisateurs, quel scénario commence en premier, etc.

Une démarche itérative doit ensuite être entamée :

3- Exécution des stress tests.

4- Prise des mesures pendant les stress tests et identification, si possible, du facteur limitant.

5- Optimisations sur le facteur limitant identifié : par exemple en réduisant la complexité du code, ou en évitant que les boucles ne fassent trop appel à la base de données et en privilégiant la mise en cache.

Puis, on recommence : lancement des stress tests, mesure pour vérifier qu’il y a bien une évolution sur le facteur limitant identifié, etc.


Les composants d’un stress test avec JMeter

Initialement spécialisé dans les stress tests notamment HTPP, JMeter a développé d’autres capacités de tests sur divers protocoles (FTP, SOAP, EJB, etc.).

Pour un stress test avec JMeter, il faut créer un test plan dans lequel seront définies les principales métriques : les valeurs par défaut, les variables, les enchaînements des Thread Group, etc.

  • Les Thread Group correspondent à un scénario. Un groupe de Threads est un ensemble d’utilisateurs exécutant le même scénario. Le groupe de Threads indique à JMeter le nombre d’utilisateurs à simuler, le nombre de requêtes que chaque utilisateur doit envoyer et la fréquence à laquelle il doit les envoyer.
  • Le Sampler : c’est l’objet principal d’un Thread Group. Le sampler correspond à une requête envoyée par JMeter au serveur ou à l’application testé.
  • Les Controller : en général, les Sampler sont rangés à l’intérieur des Controller. Ces derniers permettent de donner de la logique à leurs éléments enfants en gérant l’ordre de traitement des requêtes dans un Thread.
  • Les Assertion : permettent de tester le résultat d’une requête et de vérifier le résultat attendu avec le résultat réel de la demande au moment de l’exécution.
  • Les Timer : définissent des intervalles de temps après chaque requête envoyée d’un même Controller.
  • Les Config Element : permettent de définir différentes variables.
  • Les Pre Processors : modifient un Sampler avant qu’il ne soit exécuté.
  • Les Post Processors : ils sont utilisés pour traiter et extraire les données de réponse du serveur.
  • Les Listener : ils servent surtout à modifier, extraire et sauvegarder les données. Il est ensuite possible de choisir de les présenter dans un tableau, un graphique ou un arbre.

Quand le stress test avec JMeter est terminé, un rapport complet est généré permettant d’avoir les informations utiles pour optimiser les performances de l’application ou du site.

Besoin d’exemples ou de plus de précisions sur le déroulé d’un stress test avec JMeter ? Regardez notre vidéo pour un stress test avec JMeter sans stress.

Code review : 4 étapes pour une revue de PR efficace

Étape incontournable dans le développement d’un logiciel ou d’une fonctionnalité, la revue de PR, pour Pull Request (GitLab) ou Merge Request (GitHub et Bitbucket), permet de s’assurer de la qualité du code à intégrer.

Mais pour que ce travail de revue de PR soit efficace, plusieurs étapes sont nécessaires.


1- Créer une branche locale

Lors de la création d’un feature et d’une branche en local, il faut choisir avec soin la branche initiale d’où est tirée cette nouvelle branche.

Il peut s’agir de la branche develop pour une fonctionnalité, mais il est également possible de tirer une branche depuis master pour un hotfix par exemple.

Il faut par contre éviter de tirer des branches depuis des branches qui ne sont pas encore mergées dans la branche principale. Cela risque de créer des difficultés qui seront ingérables avec le temps.


2. Développer la fonctionnalité ou le correctif

Après avoir correctement créé une branche, vous pouvez développer votre code. Pour une meilleure fluidité dans votre travail et dans celui du reviewer, il est important de commiter régulièrement votre code. Cela permet de comparer plus facilement les différentes versions de commits sur les PR, de voir ce qui s’est passé entre deux changements et cela facilite les potentiels revert.

Une fois ces développements terminés, le code peut être rapatrié sur la branche principale. La PR peut être ouverte.


3. Ouvrir la PR

Pour rapatrier le code sur la branche principale, il faut ouvrir la PR :

  • On push la branche sur le dépôt : Le CLI peut directement afficher un lien d’ouverture (ou de consultation) de la PR associée.
  • Lors de l’ouverture de la PR sur GitLab, on a le choix de la branche cible (branche sur laquelle on rapatrie la branche sur laquelle on travaille). Il est important de ne pas se tromper et d’ouvrir la PR sur la bonne branche.
  • Il est possible d’ouvrir une PR même si le développement n’est pas terminé, avec le statut Draft. Il ne faut pas hésiter à utiliser ce statut qui va permettre à tout le monde de voir que le développement est en cours, avec les commits, les pushs, etc. À ce stade, un reviewer peut être affecté pour commencer la revue de PR et faire des retours au fil de l’eau.
  • Il faut essayer de choisir un nom de PR pertinent et explicite. Le nom par défaut peut ne pas être forcément lisible.
  • Il ne faut pas hésiter à ajouter des commentaires pour préciser au reviewer les points sur lesquels il y a de potentiels manquements, sur lesquels on a des doutes ou si l’on souhaite lui donner une marche à suivre pour la revue de PR.
  • Il faut vérifier que notre pipeline est passée, car il y a de fortes probabilités que celle-ci se déclenche au moment où on push notre branche. GitLab va nous permettre de voir si notre pipeline est verte ou rouge.
  • Il faut également s’assurer qu’il n’y a pas de conflits avec la branche cible, car celle-ci a pu avancer plus vite que nous. Aucune PR ne doit rester avec des conflits, il faut les résoudre en local ou avec GitLab.
  • Afin de prendre du recul sur son travail, on relit son code et sa PR à tête reposée.
  • Une fois qu’on est prêt, on peut assigner le reviewer. Le reviewer n’est pas forcément une personne plus compétente techniquement. C’est quelqu’un qui va avoir un regard externe et neutre et qui va pouvoir détecter les erreurs par expérience, lors de la revue de PR.

4. La revue de PR par un reviewer

La tâche du reviewer est de :

  • Lire et étudier la PR,
  • Apporter des commentaires ou des ajustements à transmettre à l’assignee (l’auteur de la PR),
  • Faire une revue de PR et de code après les changements apportés,
  • Approuver la PR si le code est clean et que la fonctionnalité est bonne,
  • Merger la PR le plus rapidement possible afin d’éviter d’empiler les PR et d’avoir plusieurs PR ouvertes.

L’ordinateur quantique expliqué : 5 questions sur cette technologie

Avec ses capacités de calcul incroyables et ses propriétés étonnantes, l’ordinateur quantique intrigue, fait rêver et aiguise les appétits des entreprises de la tech et des États.

Mais que peut-on vraiment attendre de ces ordinateurs ? Sont-ils une technologie futuriste inaccessible ou vont-ils bientôt révolutionner notre quotidien ?


Quels sont les principes de base utilisés par l’ordinateur quantique ?

À la différence de l’ordinateur classique, l’ordinateur quantique utilise les propriétés de la mécanique quantique.

La physique quantique s’intéresse aux lois de la nature à toute petite échelle. À cette échelle microscopique, les lois de la physique classique ne s’appliquent plus. Les principes de la physique quantique prennent le relais avec des phénomènes surprenants et plutôt contre-intuitifs :

  • Le principe de l’intrication : deux objets situés à deux endroits différents, et ce même si la distance entre eux est très grande, peuvent s’influencer, comme s’ils étaient unis par un lien invisible. Ce principe s’oppose à celui de localité en physique classique selon lequel l’état d’un objet ne dépend que de son environnement immédiat.

Alain Aspect, physicien français, a obtenu le prix Nobel de physique en 2022 pour ses travaux sur l’intrication des particules.

  • Le principe de superposition quantique : un objet (quantique) peut être dans plusieurs états tant qu’on ne l’a pas mesuré. L’état d’un objet ne préexiste donc pas à la mesure, c’est la mesure qui le fait advenir.

Comment fonctionne un ordinateur quantique ?

Un ordinateur classique utilise des bits, chaque bit ayant une valeur binaire 0 ou 1. Un ordinateur quantique utilise des qubits, constitués de superpositions d’états entre |0> et |1>.

Ces qubits peuvent être construits avec des circuits supraconducteurs, on parle alors de qubits supraconducteurs. C’est la technologie choisie par Google et IBM. Ce dernier propose d’ailleurs de tester des ordinateurs quantiques sur son site.

Les qubits peuvent également être à base d’ions, de silicium, ou de photons.

Alors que l’ordinateur classique ne peut traiter qu’un état à la fois et doit répéter les actions pour examiner tous les états, l’ordinateur quantique peut explorer tous les états en même temps, grâce au principe de superposition. Il est donc capable de calculer beaucoup plus rapidement qu’un ordinateur classique.


Pourquoi s’intéresser à l’ordinateur quantique ?

Le processeur d’un ordinateur classique peut déjà effectuer des milliards de calculs à la seconde. Pourtant, et même si cela semble rapide, les ordinateurs classiques ont montré leurs limites pour résoudre certains problèmes.

Les ordinateurs quantiques permettraient notamment :

  • d’accélérer de manière exponentielle la résolution de certains problèmes,
  • de rendre impossible le piratage de la communication digitale grâce aux nouveaux protocoles de cryptographie qui seront mis en place : Protocol BB84,
  • de résoudre la plupart des problèmes NP,
  • d’optimiser la logistique, des réseaux électriques par exemple,
  • de modéliser de nouvelles molécules efficaces pour lutter contre certaines maladies.

Quels sont les défis à relever pour développer l’ordinateur quantique ?

L’un des grands défis à relever pour l’informatique quantique est la réduction des erreurs de calcul liées à la décohérence quantique.

En effet, un objet quantique est très fragile. L’environnement qui l’entoure peut le perturber et il peut perdre son état quantique. C’est ce qu’on appelle la décohérence quantique. Ce phénomène limite les possibilités pour manipuler et stocker de l’information dans les qubits et entraîne des erreurs dans les calculs effectués.

L’objectif est donc de limiter l’instabilité de ces objets et de prolonger la cohérence quantique afin que le qubit reste de façon prolongée dans un état quantique. Pour cela, il faudra notamment déterminer les mécanismes de l’environnement qui dégradent la qualité des qubits.

Un autre défi à relever est d’atteindre la suprématie quantique, c’est-à-dire la possibilité de résoudre un problème qu’un ordinateur classique, même le plus avancé, pourrait mettre des millions d’années à résoudre alors qu’un ordinateur quantique le ferait en quelques secondes ou minutes. Google dit avoir atteint la suprématie quantique en 2019.

Vous souhaitez en savoir plus sur l’ordinateur quantique et ses propriétés ? Découvrez notre vidéo sur le sujet.

Index égalité femmes/hommes 2022

Toutes les entreprises d’au moins 50 salariés doivent calculer et publier leur Index de l’égalité professionnelle entre les femmes et les hommes.

Pour l’année 2022, TCM est fière d’avoir obtenu une note de 87/100 à l’index égalité professionnelle femmes-hommes ! 🏆

Cette augmentation de 7 points par rapport à l’année précédente illustre l’engagement et la volonté de l’entreprise de développer et maintenir des principes d’égalité et de parité dans notre politique RH 📈. 

En lien avec nos valeurs et nos engagements, TheCodingMachine s’engage pour l’égalité de traitement entre l’ensemble de ses collaborateurs ! 👫

Nous sommes ravis de ce résultat pour notre secteur qui est majoritairement représenté par des hommes. L’index égalité professionnelle est au coeur de nos préoccupations ✅ 

Et si vous nous rejoigniez ?


Pour plus de détails, voici les différents indicateurs ainsi que les notes obtenues : 

  • L’écart de rémunération femmes-hommes : 39/40
  • L’écart de répartition des augmentations individuelles : 35/35
  • Le nombre de salariées augmentées à leur retour de congé de maternité : non calculable
  • La parité parmi les 10 plus hautes rémunérations : 0

Index égalité homme/femme 2022 chez TheCodingMaching

Pour rappel, l’index égalité femmes-hommes est l’une des dispositions introduites par la loi « pour la liberté de choisir son avenir professionnel » du 05 septembre 2018 et vise notamment à supprimer les écarts de salaire entre les femmes et les hommes en France.

Publication index égalité Homme femme conformément aux dispositions de l’article D.1142-5 du code du travail.

Posted in TCM

Comprendre les évolutions de l’interface utilisateur en 2023

Proposer des expériences innovantes, des idées originales, des sites modernes et inspirants, répondre aux nouvelles exigences des utilisateurs et connaître les dernières technologies en vogue, autant de raisons de suivre les dernières tendances UI design. Et 2023 ne manque pas de nouveautés !


Le neumorphisme : donner du relief aux interfaces

Le neumorphisme combine le flat design (design à plat) et le skeuomorphisme (conception d’éléments graphiques qui imitent des sujets du monde réel). Ce style joue avec les ombres et les lumières afin de donner du relief à une interface. Il apporte un aspect presque 3D.

Notre avis : Si le neumorphisme permet de créer des interfaces attirantes et élégantes, il ne répond pas aux principes de base de l’UX design et de l’ergonomie, ce qui nuit à l’accessibilité des interfaces, en particulier sur des fonds blancs. Il faut donc l’utiliser avec parcimonie et le privilégier sur des fonds sombres.

Ecran d'une application illustrant le neumorphisme

Le summary grid ou CSS grid : une conception web réactive

En 2023, et bien qu’elle existe depuis un certain temps, la disposition en grilles CSS est devenue populaire. Flexible et accessible, ce type de mise en page permet aux développeurs web de créer des conceptions web réactives complexes.

Ce style donne aux sites un aspect propre avec des blocs. Il facilite la conception de sites responsive pour les mobiles.

Notre avis : De plus en plus visible, le CSS grid est très bien adapté au mobile first.


Les illustrations 3D : une tendance UI design qui prend de l’ampleur

Visuellement attirante, la 3D permet d’ajouter de la profondeur aux images. De plus en plus recherchée, surtout dans l’univers des applications mobiles et du web, la 3D était tendance en 2022, mais avec la popularité croissante des technologies VR et AR, elle continue de prendre de l’ampleur.

Le principal défi face au développement de la 3D sera de savoir réaliser et intégrer les illustrations 3D, et ce, sans ralentir le temps de chargement des pages.

Notre avis : Les illustrations 3D offrent une expérience utilisateur singulière et mettent en avant un produit ou un service de façon originale.

Illustrations 3D, tendances ui design 2023

Le gradient : le retour des dégradés dans les tendances UI design

Les dégradés de couleurs ne sont pas une nouveauté. Utilisés il y a quelques années, ils semblaient un peu dépassés, mais en 2023 cela change. Les dégradés modernes sont beaucoup plus complexes. Ils partagent les caractéristiques des gradients maillés et des couches de floues glassmorphiques (effet qui donne l’illusion d’un verre flouté).

Notre avis : Le gradient est une des tendances UI design à adopter pour donner un aspect moderne à un site.


L’arrivée de l’intelligence artificielle dans les tendances UI design

Les IA permettent désormais de générer des logos, des photos ou de créer des illustrations, voire des œuvres d’art. Peu accessibles jusqu’à présent, de nombreux programmes d’IA se sont développés, comme DALL E d’Open AI et Stable Diffusion qui proposent de générer des images à partir d’une description textuelle.

Si les résultats proposés par l’IA ne sont pas toujours adaptés aux besoins et aux attentes des graphistes, des développeurs et des utilisateurs de sites et applications web, l’utilisation d’un générateur d’art IA est aujourd’hui un outil supplémentaire à la disposition des graphistes.

L’IA peut ainsi les aider à améliorer leurs compétences, à développer leur créativité, à gagner du temps dans leur projet, à rester à jour avec les dernières tendances UI design, et à jouer avec leur imagination.

Notre avis : Aujourd’hui, le seul inconvénient de l’IA, c’est que les outils proposés ne sont pas très accessibles. Ils sont payants et ne sont pas faciles d’utilisation.


À côté de ces nouvelles tendances UI design, d’autres styles qui existaient en 2022 persistent cette année. Neo-brutalisme, nostalgic design, dark mode et animations, découvrez dans notre vidéo toutes les tendances UI design 2023.


Par Cindy & Victoria

Préparer le développement d’une application métier performante

Que vous envisagiez la refonte ou le développement d’une application métier, plusieurs étapes sont nécessaires pour vous aider à préparer et à mener à bien votre projet.


Qu’est-ce qu’une application métier ?

Le terme d’application métier recouvre un grand nombre d’outils et de situations. Par définition, il s’agit d’une application développée pour faciliter la gestion d’une entreprise en répondant à des besoins métiers. Or, ceux-ci sont nombreux et très divers, les applications métiers peuvent donc également prendre des formes très différentes. Il peut par exemple s’agir d’un outil qui permet :

  • d’automatiser les tâches administratives ou un processus métier,
  • de modéliser un processus de gestion, comme la gestion électronique des documents (GED),
  • de gérer des interactions entre plusieurs groupes d’utilisateurs,
  • de faire le lien avec d’autres applications ou avec d’autres entreprises (fournisseurs, etc.).

L’application métier peut même être un savant mélange de tout cela.


4 étapes pour bien préparer le développement d’une application métier

1- Déterminer les raisons et les enjeux du projet

Pourquoi votre entreprise envisage de créer une application ? S’agit-il d’une refonte d’une application préexistante, du lancement d’une nouvelle offre, ou la création d’une application métier fait-elle partie d’un projet plus vaste de digitalisation de votre entreprise ?

Selon la situation, le développement d’une application métier pourra nécessiter :

  • de la part du prestataire, une coordination avec les autres acteurs en charge de la digitalisation,
  • de votre part : la transmission du business model s’il s’agit d’une nouvelle offre, ou la présentation des principaux chiffres relatifs à l’ancienne application (nombre d’utilisateurs, etc.) et des raisons qui vous poussent à la changer (insatisfaction des utilisateurs, dysfonctionnements, etc.).

2- Identifier les objectifs de la nouvelle application

Les objectifs pour lesquels vous souhaitez créer une application métier peuvent être très variés :

  • Les objectifs techniques : c’est le cas, par exemple, si l’architecture technique de votre application ne vous permet pas de développer certaines fonctionnalités. Ces objectifs techniques concernent donc une application existante.
  • Les objectifs fonctionnels : il s’agit d’offrir de nouvelles fonctionnalités ou de permettre de nouveaux usages aux utilisateurs de l’application. Cela peut passer par le développement d’une application métier nouvelle ou l’amélioration d’une application existante.
  • Les objectifs de rationalisation : il s’agit de tous les éléments qui permettent de structurer, d’optimiser les performances l’entreprise et de réduire les coûts de traitement, tout en simplifiant la vie des utilisateurs, par exemple en automatisant des tâches ou des processus.

3- Définir le fonctionnement et les fonctionnalités clés de l’application métier

Pour mener à bien le développement d’une application métier, vous devez avoir une idée claire du futur fonctionnement de celle-ci. Pour cela, vous pouvez :

  • présenter les étapes clés du processus métier qui sera automatisé grâce à l’application,
  • déterminer les fonctions associées à chaque groupe d’utilisateurs (administrateurs, back office, etc.) constituant chacun un bloc fonctionnel et préciser éventuellement la nature des composants nécessaires (listes, formulaires, affichage sur le Dashboard, etc.),
  • synthétiser la présentation de votre application à l’aide d’outil comme la product vision box.

Vous devrez également établir une liste des fonctionnalités clés que vous estimez nécessaires d’intégrer à votre application en les classant par importance.


4- Rédiger un cahier des charges clair pour le développement d’une application métier

Si vous faites appel à un prestataire extérieur pour développer votre application métier, mais cela est également valable pour présenter votre projet en interne, vous allez devoir rédiger un cahier des charges complet regroupant tous les éléments précédemment développés.


Ça y est, la phase de préparation pour le développement d’une application métier est terminée ! Il ne reste plus qu’à lancer le projet.

Pour vous accompagner dans la création ou la refonte de votre application, vous aurez certainement besoin de l’accompagnement de professionnels expérimentés. Alors, n’hésitez pas à contacter les équipes de The Coding Machine !

Créer une application sans coder : Le guide pour y arriver

Pour créer une application sans coder, deux options s’offrent à vous : faire appel à des professionnels spécialisés dans le développement comme The Coding Machine, ou tenter de développer votre application seul en utilisant des plateformes no code.

Face aux nombreuses solutions no code, difficile de s’y retrouver !

Pour vous aider à faire le bon choix d’outil no code, découvrez les principaux éléments à analyser.


1- Cadrer le projet et fixer le budget pour créer une application sans coder

Le choix de la bonne solution no code est lié au projet d’application ou de site web. Avant de vous lancer dans la création d’une application sans coder, il est donc indispensable de préparer votre projet et d’avoir une idée précise de votre future application ou plateforme :

  • Quels sont les objectifs de l’application ou du site ?
  • Qui seront les utilisateurs ?
  • Quelles sont les fonctionnalités essentielles ?
  • Quel est le design envisagé ?
  • Quel est le budget alloué au développement de l’appli ?

Vous pourrez ainsi faire une première sélection des solutions no code.


2- Déterminer les fonctionnalités souhaitées

Formulaire, site web vitrine, application web responsive, application mobile native, outil de gestion des données ou d’envoi d’e-mails, ou un service de paiement, en fonction du type de projet, vous n’aurez pas besoin des mêmes fonctionnalités. Les solutions no code recommandées seront donc différentes selon votre projet.

Ainsi, si des outils spécifiques, comme MailChimp pour l’envoi d’e-mails ou Stripe pour le traitement des paiements en ligne, seront adaptés pour développer une fonctionnalité particulière, des outils plus complets comme Bubble seront nécessaires pour créer une application sans coder de A à Z.


3- Choisir une solution no code adaptée à vos compétences

Si les plateformes no code permettent de créer une application sans coder et donc sans posséder aucune compétence informatique, leur utilisation peut nécessiter un certain délai pour se former à l’outil et prendre en main toutes les fonctionnalités proposées.

Parmi les différentes offres no code, certaines sont plus simples d’utilisation et guident l’utilisateur à chaque étape du développement de son projet.

Au contraire, d’autres outils no code sont plus complexes. Ils prennent plus de temps pour se former, ce qui peut avoir un impact sur le temps dédié au développement de l’application, voire ils nécessitent d’avoir recours à des intervenants spécialisés, ce qui affectera le budget.


4- Vérifier la possibilité de combiner plusieurs services

La plateforme no code choisie pour créer une application sans coder n’est pas toujours le seul outil nécessaire au développement d’un projet. Pour éviter de perdre du temps, vous avez donc intérêt à vérifier la compatibilité entre les différents services utilisés.

Par exemple, si vous avez déjà réalisé des maquettes graphiques pour votre projet, certaines solutions no code comme Bubble vous permettront de les intégrer directement.

De la même façon, renseignez-vous sur la possibilité d’exporter votre projet vers une autre plateforme no code. À défaut, vous devrez tout reprendre à zéro à chaque changement d’outil.


5- S’assurer de la stabilité de la solution no code

Le no code étant en plein essor, il existe de multiples offres ! Toutefois, pour faire le bon choix, il faut être vigilant et vérifier que la solution proposée pour créer une application sans coder est stable et pérenne.

Pour prévenir tout risque, mieux vaut donc opter pour des solutions utilisées par une large communauté, reconnues et présentes sur le marché depuis plusieurs années.


6- Se renseigner sur la flexibilité l’outil low code

Ajouter quelques lignes de code pour créer par exemple des plugins n’est pas toujours possible dans les plateformes no code, mais certains outils qualifiés de low code le permettent. Si vous avez les compétences nécessaires pour écrire des lignes de code, vous pouvez alors vous orienter vers ces solutions qui vous permettront de personnaliser votre projet.


Pour aller plus loin sur le no code et découvrir les fonctionnalités détaillées des plateformes les plus utilisées pour créer une application sans coder, n’hésitez pas à télécharger notre livre blanc.