Maîtriser le vocabulaire Tech : Découvrez les 15 mots clés

Dans un secteur innovant, en perpétuelle évolution, difficile de s’y retrouver parmi tous les termes utilisés par les professionnels. Pour vous aider à y voir plus clair, voici 15 mots incontournables du vocabulaire tech !

15 notions incontournables du vocabulaire tech

  • Adresse IP (Internet Protocol) : c’est un numéro qui permet d’identifier un ordinateur, un smartphone ou tout autre support informatique connecté à un réseau.
  • Blockchain, chaîne de blocs en français : technologie qui permet de stocker et de transmettre des données de manière sécurisée, directe et transparente. Les utilisateurs ont ainsi accès aux informations inscrites dans la blockchain (titres de propriété, transactions, contrats), sans que ces données ne puissent être modifiées ni supprimées. Utilisée en premier lieu pour la monnaie numérique : le Bitcoin, la technologie de la blockchain se développe dans de nombreux domaines, notamment celui des NFT (Non-Fungible Token – Jeton non fongible).
  • DNS : Domain Name System, système de noms de domaine en français. Il fait le lien entre un nom de domaine (ex : thecodingmachine.com) et une adresse IP. Il s’assure que le nom de domaine pointe bien vers le site web.
  • CMS : Content Management System, ou système de gestion de contenu. Ce sont des logiciels qui permettent de concevoir, gérer et structurer les sites Web et d’attribuer à chaque catégorie d’utilisateurs (administrateur, gestionnaire…) des autorisations particulières. Un CMS peut être Open Source, comme WordPress, ou un CMS Propriétaire.
  • Cloud : technologie web qui permet de stocker et d’accéder à des ressources informatiques virtuelles quel que soit le support de connexion (ordinateur, tablette…). Parmi les fournisseurs de Cloud, les plus utilisés sont Dropbox, Google Drive et OneDrive.
  • Code source : texte qui traduit dans un langage de programmation (Java, Python, JavaScript, C++, Ruby, PHP…) compréhensible par l’Homme les instructions laissées par le programmateur lors de la conception d’un programme informatique. Ces instructions précisent notamment le fonctionnement et le rendu visuel d’une application ou d’une page web (style et couleur du texte, images, animations…).
  • IoT : Internet of Things ou Internet des objets : dans le vocabulaire tech, ce terme désigne les objets du quotidien qui deviennent connectés grâce au digital par exemple les montres et bracelets connectés, les capteurs pour optimiser sa consommation d’électricité…
  • Open source : code d’un site, d’une application, d’un logiciel ou d’une page web ouvert à tous. Il peut être consulté et modifié par tous les développeurs. Cela permet de mutualiser les compétences et de regrouper les efforts pour optimiser un logiciel.
  • Personas : il s’agit d’une représentation fictive des utilisateurs potentiels d’un site web ou d’une application. La création de Personas permet d’adapter le contenu du site aux besoins des utilisateurs.
  • Plugin : il permet d’ajouter des options, des fonctionnalités nombreuses et variées (lecture de certains formats vidéo, vérificateur d’orthographe…) à un logiciel. Un plugin est donc toujours adosser à un logiciel, il ne peut pas fonctionner seul. On parle aussi d’extension ou add-on.
  • Responsive design : un site web « responsive » est conçu pour que son contenu (images, textes…) s’adapte à toutes les interfaces (ordinateur, tablette, smartphone) et à toutes les tailles d’écran utilisées par le visiteur.
  • UI : User interface, ou interface utilisateur en français : dans le vocabulaire tech, cela correspond au dispositif qui permet à l’utilisateur d’interagir avec un appareil informatique : écran, clavier, souris…
  • UX, User experience, ou expérience utilisateur : elle désigne l’expérience vécue par un utilisateur lorsqu’il recourt à un service ou à une interface que ce soit un site web ou une application mobile.
  • URL : Uniform Resource Locator. Il s’agit de l’adresse web d’une page ou d’un site.

Un vocabulaire tech riche et évolutif

Loin d’être exhaustif ce lexique vous permet toutefois d’avoir certaines bases pour mieux comprendre le domaine de l’informatique et du numérique. Comme les technologies ne cessent de se développer et d’évoluer, le vocabulaire tech continue lui aussi de s’enrichir de nouvelles notions. Votre apprentissage ne fait donc que commencer !

Et pour aller plus loin dans la découverte du secteur et du vocabulaire tech, The Coding Machine a élaboré un livre blanc « Do you speak technique ? »

Livre Blanc - Do you speak technique ? Vocabulaire tech

Connaissez-vous les notions de base en informatique ?

Loin d’être réservé aux seuls « geeks », l’informatique s’est immiscée partout dans notre quotidien. Difficile dès lors de passer à côté du vocabulaire spécifique lié à ce secteur. Pour que vous aider à vous y retrouver parmi tous ces termes techniques, voici quelques notions de base en informatique.

7 notions de base en informatique

  • Device : ce terme regroupe tous les appareils et les équipements de communication digitale : smartphone, ordinateur, tablette, télévision, objets connectés…
  • Interface : correspond à l’ensemble des moyens de communication entre un utilisateur et un équipement ou un programme informatique. L’écran est par exemple l’interface entre l’utilisateur et l’ordinateur. De la même façon, l’interface d’un programme correspond à ce que l’utilisateur voit sur l’écran.
  • Périphérique : il s’agit de l’une des principales notions de base en informatique. Il désigne un équipement branché sur l’ordinateur comme un clavier, une souris, une imprimante, ou un modem.
  • Pilote (driver en anglais) : programme informatique permettant l’identification et l’utilisation des périphériques connectés à un ordinateur. Pour pouvoir utiliser un périphérique sur un ordinateur, un simple branchement ne suffit pas. Il faut en plus installer sur l’ordinateur le pilote qui correspond au périphérique et qui est adapté au système utilisé par l’ordinateur.
  • Ports : il s’agit des prises équipant les appareils informatiques et servant à les relier entre eux. Il existe différents types de ports : USB, Ethernet, HDMI…
  • Processeur : c’est un élément essentiel pour le fonctionnement du matériel informatique. Le processeur organise, interprète et exécute les instructions des programmes. Véritable « cerveau » de l’ordinateur, sa puissance est exprimée en gigahertz (GHz).
  • Serveur : il participe au bon fonctionnement correct des services informatiques en réseaux, qu’il s’agisse du réseau Internet ou d’un intranet. Il peut notamment contribuer à la mise en commun des imprimantes, au stockage et au partage de banques de données, au contrôle des accès des utilisateurs, à l’hébergement de sites web…

6 termes techniques en informatique

  • API : Application Programming Interface, ou interface de programmation d’application en français. Il s’agit d’une solution informatique qui permet à plusieurs logiciels de communiquer entre eux et de s’échanger des données. Une API permet d’utiliser le contenu et les fonctionnalités d’un logiciel, d’un site ou d’une application pour enrichir un autre programme, et ce, sans avoir à dupliquer les contenus sur chaque plateforme.
  • Framework, ou infrastructure logicielle en français : en programmation informatique, il s’agit d’un ensemble d’outils et de composants qui est à la base d’un logiciel ou d’une application. Un framework fonctionne avec un ou plusieurs langages de programmation (JavaScript, Python, PHP…). Il permet au développeur de structurer le code source d’un logiciel. Parmi les frameworks utilisés : React JS, Symfony, Angular, Django, Ruby on Rails, jQuery…
  • FTP, File Transfer Protocol : protocole pour transférer des fichiers d’un ordinateur vers un appareil à distance (hébergeur, serveur).
  • Mémoire cache : elle stocke les fichiers et données auxquels un système fait le plus souvent appel. Elle permet de réduire et d’optimiser les temps de chargement des fichiers sauvegardés.
  • Système d’exploitation ou Operating System – OS en anglais : ensemble des programmes informatiques qui pilote et établit les relations entre les dispositifs matériels (disque dur, processeur, mémoire vive, périphériques…), les applications et l’utilisateur. Actuellement, les systèmes d’exploitation les plus répandus sont : Mac OS et iOS d’Apple, Windows de Microsoft, Android de Google.
  • Peer-to-peer, P2P, ou pair-à-pair en français : système de connexion informatique directe entre ordinateurs qui ne passe pas par un serveur. Ces réseaux en peer-to-peer permettent de faciliter et d’accélérer le partage de fichiers entre plusieurs ordinateurs.

Si les principales notions de base en informatique ont été détaillées dans cet article, il en existe de nombreuses autres ! Pour obtenir plus d’informations sur des termes plus techniques, n’hésitez pas à lire notre livre blanc « Do you speak technique ? » ou à regarder notre vidéo !

Livre Blanc - Do you speak technique ? Vocabulaire tech

PHP 8 & 8.1 : nouveautés, compatibilités et migration

PHP 8 a été officiellement lancé le 26 novembre 2020, cela fait donc un peu plus d’un an que nous avons pu expérimenter les différentes nouveautés introduites par cette version très attendue ! Comme pour toute montée de versions majeures, celle-ci est venue avec son lot d’incompatibilités avec les anciennes versions.

Nous vous proposons dans cet article de récapituler tout d’abord les différentes nouveautés apportées par PHP 8 et PHP 8.1. Nous aborderons ensuite les incompatibilités et risques de bugs en cas de montée de versions depuis PHP 7. Enfin, nous vous donnerons notre checklist pour une montée de version réussie et les outils permettant de l’effectuer simplement et rapidement.

Mais pourquoi passer à PHP 8 ?

La première question que l’on se pose lors de la sortie d’une nouvelle version majeure est de savoir si les nouveautés apportées par celle-ci justifie de consacrer plus ou moins rapidement du temps à la mise à jour de son code et dans la gestion des risques associés.

De notre propre expérience, passer à PHP 8 présente des avantages considérables :

  • L’argument majeur est que PHP 8 vient avec une amélioration de performance non négligeable. Sans rentrer dans les détails niveau machine, PHP 8 permet d’effectuer de 20 % à 30 % de requêtes en plus par seconde par rapport aux versions antérieures (cela est précisé ici).
  • PHP 8 vient renforcer grandement l’aspect « typé » du langage PHP, PHP peut donc garantir que les bons types soient passés au lieu de faire des checks manuels. Cela vient renforcer la maintenabilité du code et ainsi passer à PHP 8 permet donc de réduire votre dette technique à long terme.
  • Enfin, PHP 8 a mis un accent majeur sur le fait de rendre le code PHP plus lisible et documenté ce qui facilitera la montée en compétence de vos équipes.

Ainsi, chez TheCodingMachine nous sommes persuadés que vous ne regretterez pas le temps consacré à la montée de version de votre environnement ! Et pour les éventuelles complexités, pas de soucis cet article est là pour vous aider.

Les nouveautés introduites par PHP 8 et PHP 8.1 :

PHP 8 et 8.1 ont introduit de nombreuses nouveautés, voici les plus notables :

Nullsafe operator : introduction d’un opérateur logique s’écrivant « ?-> » permettant de vérifier simplement à la chaîne si des variables sont nulles au lieu de faire plusieurs boucles if.

PHP 8 - Nullsafe operator
PHP 8 – Nullsafe operator

Named arguments : les arguments nommés permettent de passer des arguments à une fonction en fonction du nom du paramètre, plutôt que de la position du paramètre. Cela simplifie la documentation et la compréhension du code, rend les arguments indépendants de l’ordre et permet de sauter arbitrairement les valeurs par défaut (pour ne fournir que certains paramètres à une fonction). Ex : positional arguments : array_fill(0, 100, 50) ; named arguments : array_fill(start_index: 0, num: 100, value: 50).

Attributes : les annotations (/** @Annotation() */), sont très couramment utilisées en PHP afin de rajouter des métadonnées au code (classes, fonctions, propriétés… ). PHP 8 propose à présent des attributs (#[Attribute]) permettant de définir ces métadonnées directement grâce au langage. Ainsi, au lieu des annotations PHPDoc ou d’utiliser des outils comme la librairie Doctrine Annotations, vous pouvez désormais utiliser des métadonnées structurées avec la syntaxe native de PHP.

Lambda function : permet d’avoir une syntaxe simplifiée pour les fonctions anonymes afin de gagner en lisibilité.

Match expression : l’expression match est similaire dans son rôle à switch mais contrairement à switch, match ne repose que sur des comparaisons strictes (ce qui évite certains résultats surprenants), son résultat peut être stocké dans une variable ou retourné (en utilisant return) et chaque branche de l’expression match ne nécessite pas l’écriture d’un break; (celui-ci est implicite, un match n’exécute qu’une seule branche, il n’y a pas de « fall-through »).

Union types : la prise en charge des Union types dans le langage permet de déplacer plus d’informations anciennement dans la documentation (phpdoc) vers les signatures de fonction : les types sont en fait appliqués, de sorte que les erreurs peuvent être détectées tôt et que la dette technique est réduite.

PHP 8 - Union Types
PHP 8 – Union Types

[PHP 8.1] Enums : constantes typées fortes, empêchant les valeurs non souhaitées pour des variables de type string or integer sans aucune vérification nécessaire.

[PHP 8.1] Call new in initializers : il est à présent possible d’instancier un objet lors de l’initialisation. Cette initialisation peut concerner les paramètres par défaut d’une fonction, ou la valeur par défaut d’une propriété de classe,… Cela facilite la documentation et la recherche d’information grâce aux annotations directement dans le code. Cela permet aussi de renseigner directement une valeur par défault, plutôt que « null« , et débloque l’utilisation d’attributs dans d’autres attributs (ex : #[new Validalidation(new Integer())]).

Bien sûr il y a d’autres nouveautés, la documentation complète de PHP 8 est disponible sur le site officiel de PHP en cliquant ici et il en va de même pour PHP 8.1 ici.

Les incompatibilités pour une montée de version vers PHP 8

Bien qu’il soit difficile, voire impossible, d’anticiper toutes les complexités pouvant apparaître lors d’une montée de version, une partie des problèmes récurrents peuvent être anticipés. En effet, PHP 8 a renforcé l’aspect typé du langage PHP et par exemple certains conditionnements sont devenus stricts. Ainsi, certains codes, qui étaient souvent faux, vont à présent émettre des exceptions.

Voici, une petite liste des erreurs que nous avons rencontré lors de nos propres expériences et comment les éviter :

  • Associativité des opérateurs ternaires : les opérations arithmétiques dans une string ne sont plus autorisées, ex : var_dump(12 + ‘a’); // int(12) => Uncaught TypeError: Unsupported operand. De même, l’utilisation de plusieurs opérateurs ternaires (par exemple ?:?:) sans parenthèse émettra une « Fatal error ».
  • Comparaison non-stricte : les comparaisons entre des nombres et des chaînes de caractères non numériques retournent à présent false.
  • New match keyword, il n’est plus possible de déclarer le keyword match en tant que symbol parcequ’il est réservé par PHP, ex : function match() { // => Parse error: syntax error, unexpected token « match ».
  • Calling non-static class methods statically result in a fatal error : une « non-static » méthode est une méthode qui n’est pas déclarée avec le mot clé static. Elle peut donc dépendre de l’instance de l’objet ($this), or si elle est appelée dans un contexte static (sans instance d’objet) cela renvoie une erreur car $this n’existe pas.
  • Value Error : cette erreur est émise lorsque le type d’un argument est correcte mais que sa valeur ne l’est pas (ex : un nombre négatif pour une longueur). Pour éviter de telles erreurs, vous pouvez utiliser notre outil Open-Source Safe.
  • Strong typing for resources : dans les versions antérieurs PHP manipulait souvent des « resource »s, beaucoup sont maintenant typées comme le montre le tableau ci-dessous :
ExtensionResource (PHP < 8.0)Object (PHP >= 8.0)
Curl
Curl
Curl
GD
Sockets
Sockets
OpenSSL
OpenSSL
OpenSSL
XMLWriter
XML
GD
FTP
IMAP
finfo
PSpell
PSpell
LDAP
LDAP
LDAP
PgSQL
PgSQL
PgSQL
Curl
curl_multi
curl_share
gd
Socket
AddressInfo
OpenSSL key
OpenSSL X.509
OpenSSL X.509 CSR
xmlwriter
xml
gd font (integer)
ftp
imap
file_info
pspell (int)
pspell config(int)
ldap link
ldap result
ldap result entry
pgsql link
pgsql result
pgsql large object
CurlHandle
CurlMultiHandle
CurlShareHandle
GdImage
Socket
AddressInfo
OpenSSLAsymmetricKey
OpenSSLCertificate
OpenSSLCertificateSigningRequest
XMLWriter
XMLParser
GdFont
FTP\Connection
IMAP\Connection
finfo
PSpell\Dictionary
PSpell\Config
LDAP\Connection
LDAP\Result
LDAP\ResultEntry
\PgSql\Connection
\PgSql\Result
\PgSql\Lob
PHP 8 – Resource Strong Typing

Les étapes clefs pour réussir sa migration et les outils recommandés

Réaliser une montée de version apparaît toujours comme une tâche fastidieuse mais, comme expliqué plus haut, passer à PHP 8 en vaut la peine. Pour vous accompagner dans votre démarche, voici les étapes clés et les outils associés afin de gagner en efficacité :

  • Effectuer une analyse statique, vous pouvez vous aider d’outils comme PHPStan ou PhpCodeSniffer,
  • Appliquer un typage fort,
  • Vérifier que vos dépendances sont mises à jour pour PHP 8,
  • Vérifier vos logs pour repérer tout avertissement d’obsolescence (Deprecated notice),
  • Vérifier les dépréciations répertoriées,
  • Exécuter votre suite de tests.

Les outils que nous recommandons : PHPStan (outil d’analyse statique, TheCodingMachine est fier d’y contribuer), PhpCodeSniffer (Outil permettant de maintenir un code clair et cohérent), Rector (propose une montée de version « quasi » automatique), 3v4l.org (pour tester du code sous différentes versions de PHP).

Bonus : exemple de code reprenant les nouveautés !

Pour les plus passionnés d’entre vous, une « mixtape » des nouveautés PHP 8 composée par nos soins !

class User
{
    public function __construct(
        public string $firstName,
        public string $lastName,
        public ?Address $address = null
    ) {}
}

class Address
{
    public function __construct(
        public string $number,
        public string $street,
        public string $city,
        public string $country
    ) {}
}

enum Undefined
{
    case Undefined;
}

class UserRepository
{
    /** @var array<User> */
    private array $users;

    public function find(
        string|null $firstName = null,
        string|null $lastName = null,
        string|null|Undefined $country = Undefined::Undefined,
    ): array/*<User>*/ {
        $users = $this->users;
        if ($firstName !== null) {
            $users = array_filter($users, fn(User $user) => $user->firstName === $firstName);
        }
        if ($lastName !== null) {
            $users = array_filter($users, fn(User $user) => $user->lastName === $lastName);
        }
        if ($country !== Undefined::Undefined) {
            $users = array_filter($users, fn(User $user) => $user->address?->country === $country);
        }

        return $users;
    }
}

// ...

$userRepository->find(); // Retrieve all users
$userRepository->find(firstName: 'Gandalf'); // Retrieve users whose first name is Gandalf
$userRepository->find(country: 'UK'); // Retrieve users living in UK
$userRepository->find(country: null); // Retrieve users living in no known country (as far as we know)
$userRepository->find(country: null, lastName: 'Troy', firstName: 'Castor'); // Use all arguments you want

A vous de retrouvez dans cet échantillon de code les différentes nouveautés : null-safe operator, lambda function, union type, named arguments et enum !

Cahier des charges site internet : le guide complet pour réussir votre projet web

Vous souhaitez lancer un site, une plateforme ou une application et vous devez rédiger un cahier des charges web ? Véritable socle de votre projet, ce document doit décrire de façon claire et détaillée vos idées et vos objectifs, afin d’informer au mieux les prestataires qui pourraient intervenir dans le développement du projet.

Voici quelques conseils pour rédiger un cahier des charges web complet et efficace pour mener à bien votre projet.

Qu’est-ce qu’un cahier des charges pour site internet?

Définition et rôle dans la gestion de projet web

Le cahier des charges d’un projet web s’impose comme un document à la fois contractuel et opérationnel, dont la vocation est de décrire de manière exhaustive les attentes, les besoins et les contraintes liés à la création ou à la refonte d’un site internet. Il formalise avec précision le périmètre d’intervention du prestataire et sert de véritable feuille de route tout au long du cycle de développement logiciel.

Pourquoi est-il indispensable pour la réussite de votre site

L’absence de cadrage précis est reconnue comme la cause principale de l’échec des projets numériques. En effet, près de 45 % des initiatives informatiques explosent leurs budgets ou leurs délais à cause d’exigences mal définies ou instables dès le départ. La rédaction d’un cahier des charges est donc une démarche indispensable pour assurer la viabilité de l’entreprise.

  • Il oblige l’entreprise à s’interroger en profondeur sur sa réflexion stratégique, son modèle économique, les segments de clientèle visés et le retour sur investissement attendu du futur site.
  • La création de ce document exhaustif garantit une mise en concurrence loyale des prestataires. Grâce à un niveau de détail très élevé, il offre la possibilité de comparer de manière objective les devis de plusieurs agences en se basant sur un socle fonctionnel commun.
  • Le cahier des charges agit comme un garde-fou en définissant strictement le périmètre de l’application. Cela empêche le projet de s’étendre de manière incontrôlée avec l’ajout de fonctionnalités imprévues.
  • Il permet d’anticiper avec précision toutes les contraintes techniques liées à l’hébergement, à la cybersécurité et à la protection des données personnelles.

Comment rédiger un cahier des charges de site internet efficace?

Étapes clés et méthodologie de rédaction

Étape 1 : Présenter l’entreprise et le contexte

Cette première section est essentielle pour immerger le prestataire dans l’univers de l’entreprise.

Présentation de l’entreprise : Détaillez son histoire, son secteur d’activité, ses valeurs et ses avantages concurrentiels. L’objectif est que le prestataire comprenne la finalité métier du projet.

Définition du contexte du projet :

Nature du projet : S’agit-il d’une création de site web complète (ex nihilo) ou d’une refonte d’une infrastructure existante ?

Audit de l’existant (en cas de refonte) : Il est impératif de réaliser un audit rigoureux, incluant :

Les technologies actuellement utilisées.
L’analyse des statistiques (trafic, taux de conversion).
L’identification claire des points de friction majeurs motivant la refonte.

Ressources internes : Inventoriez les équipes internes disponibles pour piloter le projet (chefs de projet, responsables de la validation finale, contributeurs au contenu).

Étape 2 : Définir les objectifs du site

Les objectifs stratégiques définissent l’architecture technique du projet web. Un site internet moderne est un levier d’acquisition et un outil de croissance. Les objectifs doivent suivre la méthode SMART : Spécifiques, Mesurables, Atteignables, Réalistes et Temporellement définis.

Le document doit clairement établir la vocation principale de la plateforme : site vitrine (investisseurs), e-commerce (chiffre d’affaires), génération de leads (formulaires), ou espace client sécurisé (dématérialisation des processus, réduction des appels support). Cette caractérisation est essentielle pour le choix des fonctionnalités, l’ergonomie et les indicateurs de performance (KPIs) à suivre.

Étape 3 : Identifier les cibles et les parcours utilisateurs (Personas et User Stories)

La conception du site doit être centrée sur les utilisateurs finaux (approche empathique). Il est essentiel de définir des personas (représentations détaillées des clients idéaux). Pour chaque persona, le cahier des charges doit formaliser les parcours de navigation attendus via des User Stories (scénarios d’utilisation agiles).

Exemple de User Story : Au lieu de « Le site doit avoir un moteur de recherche », préférer : « En tant qu’acheteur B2B régulier, je souhaite rechercher un composant par sa référence technique exacte pour l’ajouter directement à mon bon de commande. »

L’intégration de critères d’acceptation précis (souvent en Gherkin) et la conformité aux directives d’accessibilité numérique sont impératives.

Étape 4 : Lister les besoins fonctionnels

Cette section détaille l’ensemble des capacités comportementales du futur site, divisées en zones d’interaction pour faciliter l’estimation de la charge de travail.

Architecture de l’information : Définir l’arborescence et la hiérarchie des pages pour optimiser la navigation et le SEO (éviter la profondeur excessive et la cannibalisation).

Fonctionnalités Front-office : Décrire les outils visibles par les visiteurs (moteurs de recherche à facettes, algorithmes de recommandation, calculateurs, flux médiatiques).

Tunnel de conversion : Cartographier précisément les processus d’achat/inscription, y compris la gestion des paiements sécurisés et les mécanismes de relance des paniers abandonnés.

Fonctionnalités Back-office : Spécifier les besoins des gestionnaires internes : gestion des rôles (CRUD), gestion des stocks, modération des avis, et capacités d’exportation de données analytiques.

Étape 5 : Définir la charte graphique et l’ergonomie

L’identité visuelle est cruciale : elle véhicule la promesse et le positionnement de la marque. Le document doit intégrer la charte graphique existante (logos vectoriels, codes couleurs hexadécimaux, polices) pour définir l’Interface Utilisateur (UI) et l’Expérience Utilisateur (UX).

Précisez également :

Le ton de la communication (institutionnel, ludique, etc.).

Des références visuelles (sites appréciés) et des « anti-références » (sites à éviter) pour guider la direction artistique.

Les exigences d’éco-conception numérique (ex. : score Écoindex ciblé) pour affirmer une responsabilité sociétale.

Étape 6 : Préciser les Contraintes Techniques

Un socle technique robuste est indispensable pour la pérennité de l’investissement.

Architecture logicielle

Statuer sur l’architecture : CMS traditionnel (gestion simplifiée) ou architecture découplée (Headless CMS + frameworks comme Vue.js/React) pour des performances accrues.

Interopérabilité

Pour les projets d’envergure, décrire la topologie des échanges avec les systèmes existants (ERP, CRM) : protocoles API (REST, GraphQL), fréquence de synchronisation.

Sécurité et Conformité

Exiger des protocoles de chiffrement, la protection contre les vulnérabilités OWASP (injections SQL, XSS) et l’application stricte des principes de Privacy by Design pour la conformité RGPD.

Collecte de données (Taggage)

Définir un plan de taggage exhaustif documentant comment les événements de conversion seront collectés (DataLayer) et gérés (Google Tag Manager) pour alimenter les plateformes analytiques (GA4, Matomo), assurant une base fiable pour les optimisations marketing.

Etape 7 : fixer le budget, le planning et les livrables attendus

Cette dernière étape fixe les contraintes logistiques, temporelles et financières du projet.

Budget : L’enveloppe budgétaire globale (même estimée ou sous forme de fourchette) doit être précisée pour permettre aux prestataires de proposer des solutions techniques adaptées à l’investissement (« cost-to-design »).

Planning : Un rétroplanning détaillé est essentiel, incluant les dates clés : réception des devis, ateliers de conception, livraisons itératives (maquettes), phase de recettage (UAT) et la date limite de mise en production.

Livrables : Définir contractuellement la nature exacte des livrables finaux : exécutables, code source, manuels de formation administrateurs et documentation complète de l’architecture serveur.

Les erreurs à éviter lors de la rédaction du cahier des charges

Manque de précision fonctionnelle : Le flou dans la description des processus métiers (ex: l’intelligence d’un moteur de recherche) mène à des interprétations minimalistes par le prestataire et à une insatisfaction client.

Obsession esthétique au détriment de l’efficacité : Se focaliser excessivement sur le design (l’esthétisme) et négliger l’ergonomie, la valeur applicative et les temps de réponse nuit à l’efficacité du site. L’oubli de la dimension « marque employeur » est également une erreur courante.

Sous-estimation de la migration de données : Omettre de détailler la méthode d’extraction, de nettoyage et de réintégration des données historiques (commandes, clients, contenu éditorial) lors d’une refonte est une cause garantie de dépassement de coûts.

Exemple de cahier des charges site internet : modèle à télécharger

Page de garde d'un modèle de cahier des charges web, TCM: The Coding Machine.

Se faire accompagner dans la rédaction de son cahier des charges

Pourquoi se faire aider par des experts dès la première phase

C’est normalement l’entreprise (le donneur d’ordre) qui définit le projet, car elle en a la vision. Mais aujourd’hui, créer un site web ou une plateforme est devenu très compliqué à cause de la multitude de technologies disponibles. Un client qui n’est pas du métier se retrouve vite bloqué par les aspects techniques. Faire appel à une agence spécialisée dans la création de plateformes web dès le début donne un avantage essentiel.

Faire intervenir des experts externes (en Assistance à Maîtrise d’Ouvrage ou AMOA) permet de remettre en question l’idée de départ avec une analyse rigoureuse. Ces consultants conseillent l’entreprise en se concentrant sur le Produit Minimum Viable (MVP). Cela signifie qu’ils aident à choisir uniquement les fonctionnalités qui apporteront immédiatement de la valeur sur le marché. Ils écartent ainsi les développements trop complexes et risqués. De plus, seul un expert peut anticiper la complexité des échanges de données entre différents systèmes, ce qui permet de régler les problèmes de structure du projet avant même de commencer la production.

Comment TheCodingMachine vous accompagne dès la conception de votre projet

Forte d’une expertise reconnue sur la réalisation de systèmes d’information complexes, TheCodingMachine ne se contente pas d’être un exécutant de code. L’agence vous accompagne pendant la phase de conception à travers le déploiement d’ateliers d’idéation et de modélisation itérative.

Selon le degré de certitude du client, les experts déploient des méthodologies adaptées. Dans le cas d’un périmètre d’exigences parfaitement stabilisé, une approche au forfait permet de figer l’architecture logicielle et de contractualiser un engagement forfaitaire sécurisant pour le budget.

Si le projet nécessite en revanche des ajustements continus face aux retours utilisateurs, le cadrage adoptera une approche en régie, transformant le cahier des charges en un Product Backlog vivant et hiérarchisé. Cet accompagnement de haut niveau aboutit systématiquement à la livraison de spécifications technico-fonctionnelles d’une granularité extrême, assorties d’estimations budgétaires unitaires, garantissant que le futur site ou la plateforme métier s’appuiera sur un socle performant, sécurisé et totalement scalable.

Questions fréquentes sur le cahier des charges d’un site internet :

Quelles différences entre cahier des charges fonctionnel et technique?

Le cahier des charges fonctionnel traduit les besoins de l’entreprise et modélise ce que l’application doit réaliser pour l’utilisateur. Il se concentre sur les règles de gestion métier, les parcours de navigation et le comportement des interfaces. Le cahier des charges technique, en revanche, détermine rigoureusement comment ces comportements seront programmés. Il édicte les règles d’architecture serveur, sélectionne les langages et frameworks autorisés, spécifie les modèles conceptuels de bases de données, et impose les protocoles de chiffrement et de sécurité informatique.

Peut-on créer un site internet sans cahier des charges?

D’un point de vue purement opérationnel, il est possible de coder sans spécifications, mais stratégiquement, c’est très risqué. Engager des développements sans document de cadrage formel engendre invariablement une divergence fatale entre les attentes implicites du client et la production empirique de l’équipe technique. L’absence d’un tel référentiel détruit toute capacité de contrôle budgétaire et rend la planification des livraisons illusoire.

Qui doit rédiger le cahier des charges?

La responsabilité initiale de la rédaction du cahier des charges incombe au client (donneur d’ordre), qui définit la vision stratégique, les objectifs et les besoins métier (avec la participation des départements métier, du marketing et de la direction informatique).

Cependant, en raison de la complexité technique, la rédaction finale et la précision des spécifications sont souvent réalisées en collaboration étroite avec des consultants spécialisés ou l’agence web sélectionnée.

Combien de temps prévoir pour la rédaction ?

L’investissement temporel requis pour finaliser cette documentation est strictement proportionnel à la criticité et à la complexité de l’écosystème numérique envisagé. La formalisation des besoins pour un site vitrine corporatif classique peut être achevée en l’espace d’une à deux semaines de travail concentré. 

En revanche, le travail de spécification pour une plateforme web sur-mesure, impliquant la modélisation de tunnels de vente conditionnels, la sécurisation de portails clients sensibles, et l’orchestration de multiples intégrations API avec des systèmes d’information tiers, peut s’étaler sur plusieurs mois de cycles d’ateliers et de validation technique.

Faut-il faire valider le cahier des charges par des experts?

Il est crucial de soumettre le cahier des charges à un collège d’experts pluridisciplinaires (architectes logiciels, spécialistes en cybersécurité, experts en acquisition organique) pour une validation finale.

Cette étape est indispensable pour atténuer les risques en :

Confirmant l’alignement total entre les objectifs numériques et la faisabilité technique.
Identifiant les angles morts stratégiques du projet.
Garantissant la robustesse de l’architecture des données (résistance à la montée en charge).
Assurant la pertinence des technologies choisies (éviter l’obsolescence).

Projets NFT : 5 applications concrètes de l’art au gaming

NFT, blockchain, crypto-monnaies

NFT, Blockchain, Crypto-monnaies sont aujourd’hui souvent des buzzwords qu’on retrouve dans toutes les conversations ou articles tech. Mais que se cache t-il derrière ces mots ? Dans cet article, nous vous proposons d’expliquer (rapidement) ces concepts mais surtout d’illustrer les réalisations pratiques que ces technologies permettent. 

Par ailleurs, de nombreux fournisseurs ont émergé et simplifient beaucoup la mise en oeuvre des projets qui exploitent ces technologies.

Au cours des derniers mois, les équipes de TCM ont été appelées sur de nombreux projets impliquant ces technologies… spécialement à Hong-Kong où le marché est très actif.

Nous allons donc vous présenter les projets réalisés ou en cours afin d’illustrer les idée, les business-model et les défis technologiques.

NFT, Blockchain et crypto-monnaies… Quelques explications

Schématiquement, la blockchain permet de sécuriser et de certifier des transactions grâce à la cryptographie. Cette sécurisation permet de faire quelque chose qui était jusqu’à présent impossible : certifier l’unicité, la véracité et l’origine d’un actif entièrement digital qu’il s’agisse d’une crypto-monnaie ou d’un NFT (autrement dit, un actif digital).

La blockchain, réputée infalsifiable, a apporté la confiance qu’il manquait pour avoir la notion de propriété autour d’un actif 100 % digital. Cette propriété se traduit par l’émission d’un jeton unique, une crypto-monnaie ou un NFT (Non Fungible Token), dont la légitimité en matière de propriété repose sur la blockchain. 

En bref, ce qu’il faut retenir c’est qu’un NFT, une sorte de “certificat de propriété digital”, ne peut exister sans une blockchain pour le certifier. Heureusement, aujourd’hui de nombreuses technologies blockchain, comme Hyperledger Fabric ou Ethereum,  sont devenues accessibles et utilisables librement pour de nombreux projets ce qui explique l’essor des applications potentielles et l’effervescence autour du secteur. Il n’y a plus besoin de développer sa propre blockchain.

Note : évidemment, nous ne pouvons pas tout vous révéler mais nous allons tenté de vous faire découvrir par des exemples de projets l’étendue de la lame de fond que représentent ces technologies !

Quelques exemples concrets d’application : découvrez la diversité des projets NFT et Blockchain !

1 – Plateforme d’enchères d’énergie

TCM a développé une plateforme d’enchères d’énergie qui permet aux fournisseurs de proposer des enchères et de recevoir les contrats associés en cas de succès. 

Afin d’améliorer la transparence des enchères, nous avons permis au client la mise en place une blockchain privée pour héberger l’enchère et numériser son processus d’approvisionnement.

Défis

  • Intégration de Hyperledger Fabric 
  • Conception de smart contracts

2 – Plateforme de prédiction en ligne

TCM développe une plateforme de prédiction peer-to-peer décentralisée qui permet à la communauté de soumettre de nouveaux événements et de placer des paris sur tout résultat d’événements futurs. Les utilisateurs peuvent placer leurs paris en connectant directement leur portefeuille de crypto-monnaies. Les gains sont immédiatement perçus sans aucun délai.

Les avantages résident dans la sécurité de la transaction et la rapidité de la collecte des gains.

Défis

  • Construire un MVP pour mettre en ligne rapidement et recueillir les commentaires de la communauté.
  • Mise en œuvre d’un smart contract
  • Connexion au portefeuille crypto-monnaies

3 – Portefeuille crypto-monnaies

Le premier portefeuille de crypto-monnaies disponible pour les utilisateurs de KaiOS, principalement situés dans les marchés émergents. KaiOS est le troisième système d’exploitation après Android et iOS, il est supporté par les populaires téléphones Nokia. Téléchargeable depuis l’app store, tout utilisateur de KaiOS a accès à son portefeuille de crypto-monnaies.

Alors que dans les pays émergents – ouvrir un compte bancaire n’est pas accessible à tous, ce portefeuille décentralisé permet aux utilisateurs de stocker de la valeur et d’effectuer facilement des transactions entre portefeuilles. En outre, les pays émergents comptent également sur les envois de fonds. Les proches travaillant à l’étranger ont tendance à envoyer une somme d’argent à leur famille restée au pays. Cependant, des frais administratifs s’appliquent aux services d’envoi de fonds, en plus des longs délais de traitement.

Ce porte-monnaie cryptographique vise à réduire les frais de transaction tout en augmentant la vitesse de transaction. De plus, les monnaies des pays émergents ont tendance à être plus touchées par l’hyperinflation qui – à son tour – a un impact négatif sur le pouvoir d’achat des gens.

Des pays comme le Salvador ont donc décidé d’adopter les crypto-monnaies comme monnaie nationale.

Défis :

  • Construire un MVP en un mois
  • Etude technique des solutions tierces disponibles
  • Connexion aux réseaux blockchain ERC-20 et Bitcoin

4 – Place de marché NFT à enchères en direct 

Une place de marché virtuelle qui permet aux artistes de transformer leurs œuvres en NFT et de les vendre lors de ventes aux enchères en ligne, sans qu’il soit nécessaire de faire confiance aux parties ou à une autorité centralisée.

Pendant le concours de dessin, les équipes travaillent ensemble pour dessiner leur propre œuvre d’art. À la fin de la session, les créations sont exposées, permettant aux gens de voter pour leurs œuvres préférées. Elles sont ensuite transformées en NFT en étant téléchargées sur la place de marché dédiée, afin que les enchères puissent avoir lieu. Grâce à la NFT et à la technologie blockchain sous-jacente, les droits de propriété sont transférés en quelques secondes et enregistrés sur la blockchain peer-to-peer.

Défis :

  • Concevoir une expérience utilisateur transparente, du téléchargement de la collection à la gestion des actifs.
  • Étude technique des solutions tierces disponibles
  • Connexion à la Polygon chain

5 – Plateforme d’investissement immobilier tokenisée

Une plateforme d’investissement immobilier où les acheteurs peuvent acheter une fraction de la propriété et recevoir des loyers au prorata. Pour les vendeurs, cela leur donne accès à plus de liquidités puisque les tickets d’investissement sont considérablement abaissés. La blockchain accélère la vitesse de transaction grâce à l’utilisation de jetons tout en garantissant l’enregistrement des documents juridiques.

Alors, si vous réfléchissez à un projet sur ces technologies, n’hésitez pas à nous contacter !

6 bonnes raisons de recruter des stagiaires

Le statut de stagiaire au sein d’une entreprise peut être vu de manière négative : « de la main d’œuvre pas chère », leur attribuer uniquement des tâches non intéressantes/stimulantes (« on a tous ces dossiers à archiver ! »), ne pas les intégrer pleinement à la vie de l’entreprise, l’idée reçue d’étudiants pas très motivés, … 

Et pourtant, chez TheCodingMachine, nous faisons le pari chaque année de recruter des stagiaires que nous embauchons dans 90% des cas en CDI par la suite. 

Face à la difficulté de recrutement de collaborateurs expérimentés dans notre domaine d’activité, ce modèle s’est inscrit très rapidement dans la croissance de nos effectifs et nous sommes depuis bien longtemps convaincu que leur embauche est efficace : nous accueillons chaque année des étudiants intégrés, formés, motivés et investis dans la vie quotidienne de l’entreprise. 

À travers cet article, nous allons challenger votre vision du stagiaire et vous démontrer pourquoi les recruter apporte de la valeur ajoutée à votre structure.

Les points forts du recrutement de stagiaires

  • Vous êtes leur première entreprise (ou presque !) et avez la possibilité de les former à vos processus et méthodologies sans qu’ils soient “pollués” par d’autres manières de faire. 
  • Recruter un stagiaire permet également de profiter de leur œil neuf sur vos sujets internes, que ce soit sur vos projets ou sur votre fonctionnement d’entreprise !
  • À la fin du stage, vous pourrez intégrer des CDI déjà formés sur les projets menés mais également sur les outils/technologies utilisés au quotidien.
  • Lorsque vous recruterez un stagiaire, vous aurez déjà eu l’opportunité de tester leur adéquation avec la culture d’entreprise en amont de leur arrivée en CDI. En effet, il ne faut pas oublier que le stage va prendre la place à votre « période d’essai » (sauf si l’embauche en CDI se fait sur un poste différent) : dans un sens comme dans l’autre, vous saurez donc rapidement si ça colle ou pas avec l’esprit de votre entreprise et si vous vous projetez ensemble dans le futur. 
  • Recruter vos stagiaires va avoir un impact direct sur leur fidélisation pour les années à venir ! On s’en souvient tous, la première entreprise dans laquelle vous vous épanouissez professionnellement devient un peu comme votre premier amour : vous n’avez certainement pas envie de la quitter tout de suite (lorsque tout se passe bien, bien entendu). De plus, leur ancienneté démarrant au premier jour de leur stage (et non pas au premier jour de leur CDI), ils auront déjà accès à une bonne partie des bénéfices réservés aux collaborateurs plus anciens (ex : les accords de participation, l’accès au comité d’entreprise, …) et ça c’est aussi super bénéfique pour eux !
  • Recruter vos stagiaire ou comment rester jeune à tout âge 😉 
    Chez TheCodingMachine, notre moyenne d’âge est de 28 ans : un vrai élixir de jeunesse pour notre entreprise et qui fait pleinement partie de notre dynamisme et de notre envie de nous renouveler sans cesse. 

Malgré tous les avantages du recrutement de vos stagiaires, il faut savoir anticiper les éventuels risques qui y sont liés et mettre en place des solutions : 

  • Gérez en amont une éventuelle fuite des cerveaux/des connaissances lors du départ de vos “seniors”
    Chez TheCodingMachine, dès leur arrivée nos stagiaires suivent un cycle de formation complet d’une vingtaine de modules en présentiel (ou à distance cette année avec le confinement), et sont ensuite formés au quotidien notamment grâce à notre Direction Technique ou via l’intervention d’organismes de formation externe pour la certification de certaines compétences.  Nous suivons également l’évolution des compétences de chacun et de l’entreprise de manière plus globale via notre carte des compétences. Celle-ci est complétée lors des bilans annuels et de mi-année : ce système nous permet d’être dynamiques dans notre gestion et de trouver des solutions rapidement en cas de départ.
  • Gérez les potentielles inquiétudes de vos clients sur la jeunesse de vos collaborateurs concernant la gestion de leurs projets
    Chez TheCodingMachine nous composons toutes nos équipes de la manière suivante : un Directeur de projet, un ou deux Chef de projets (en CDI ou en stage) et un ou deux Coders. En effet, mettre en place une équipe solide permettra de rassurer vos clients même les plus réticents.

    C’est aussi pour cela que nos équipes sont encadrées au quotidien par la présence de notre Direction technique, et nous renforçons également le suivi des projets avec des QA (Quality Assessment) : évaluation des risques à un instant T par un Chef de projet expérimenté et externe au projet. 

Avoir le point de vue de l’entreprise est important, mais si vous voulez également connaître l’avis de nos stagiaires sur leur intégration au sein de nos équipes et que vous n’êtes pas encore tout à fait convaincu de pourquoi recruter un stagiaire ? Foncez regarder l’interview de Yassine HADARI ! Intégré début 2019 en stage, il est depuis maintenant un an en CDI et nous raconte son parcours et sa vision depuis son arrivée chez TheCodingMachine.

N’hésitez pas à nous suivre au quotidien sur nos réseaux sociaux pour découvrir la vie chez TCM et ne louper aucune actualité !

Et pour échanger plus amplement sur le sujet, écrivez-nous sur recrutement@thecodingmachine.com 

Posted in TCM

Peer-coding : Guide pour la montée en compétence de vos développeurs

Que nous soyons en présentiel ou en télétravail comme depuis un an, l’intégration de nos collaborateurs est un élément clé au sein de votre entreprise. Les premières semaines lui permettront rapidement de savoir s’il se projette ou non chez vous. De manière naturelle, les premières heures sont souvent celles sur lesquelles nous nous concentrons le plus pour soigner son arrivée… Mais tout ça peut vite retomber comme un soufflé si vous n’avez rien prévu d’autre pour le projeter dans la durée. 

C’est pourquoi, nous avons mis en place un système d’accompagnement de nos nouveaux collaborateurs allant au-delà de l’accueil dit “classique”. Celui-ci se fait directement sur le cœur de métier technique de nos collaborateurs , passe notamment par le suivi de plusieurs sessions de peer-coding aussi appelé peer-programming.  

Posons les bases : d’où vient le terme peer-coding ?

La traduction française de peer-coding est “programmation en binôme” (programmation par pair ou également binômage). Vous pourrez cependant retrouver le terme aussi sous peer-programming ou bien encore le pair- programming. 

Comment ça marche ?

Selon les entreprises et leurs besoins, le peer-coding ne va pas se traduire tout à fait de la même manière. Il existe 3 grands types de peer-coding : 

  • Le jumelage conducteur / observateur : le conducteur exécute une tâche en autonomie pendant que l’observateur observe pour lui faire ensuite ses retours, 
  • Le jumelage traditionnel : avant d’exécuter son idée, le conducteur doit attendre l’avis et l’accord de l’observateur pour pouvoir lancer la tâche. Dans ce cas de figure, les rôles peuvent être inversés. L’objectif étant de laisser développer la personne ayant eu une idée au départ.
  • Le jumelage “ping pong” : ici le conducteur et l’observateur vont se challenger à tour de rôle. Le conducteur va demander un test de comportement et c’est l’observateur qui a le rôle de développer le code. Une fois que cela est fait, on inverse les rôles !

Chez TheCodingMachine, nous optons pour le jumelage “conducteur / observateur”. Nos nouveaux entrants seront conducteurs du code, et un Chef de projet senior sera observateur. L’objectif est simple : pouvoir observer nos noobs en conditions réelles, afin de leur donner des axes de progression à la fin de la session.

Qui y participe ?

Nous avons déterminés 2 cibles principales pour ces peer-codings :

  • Nos nouveaux entrants, autrement appelés “Noobs”,
  • Nos Coders (cf. article de notre Captain Coders Sophie). Ce peer-coding ne se fait pas de manière systématique, mais uniquement lorsque qu’un besoin se fait sentir. 

Mais que vous soyez un Noob ou un Coder, le principe restera le même !

Comment se déroule une session de peer-coding ?

Une demie journée est dédiée à la session de peer-coding entre le Noob et le Chef de projet plus expérimenté. 

Pendant la session de peer-coding, le Chef de projet expérimenté va compléter une fiche d’évaluation, pour se concentrer sur :

  • les compétences techniques de manière générale,
  • l’algorithmie et la logique qui en découle,
  • l’adaptation du code au projet.

Chaque point est noté sur 5, et des axes d’amélioration sont donnés par le Chef de projet à la fin du peer-coding pour synthétiser son retour. 

Et ensuite, qu’est-ce qu’il se passe ?

La fiche de notation est à la fois communiquée au nouvel entrant, mais également à son tuteur de projet. L’objectif est de pouvoir s’appuyer sur ces retours, pour mettre en place des actions permettant la montée en compétence. Celle-ci va en effet être à la fois de la responsabilité du nouvel entrant par son investissement personnel mais aussi de son tuteur, de par son accompagnement quotidien. 

À savoir que deux sessions de peer coding sont prévues pour chaque nouvel entrant. La première a lieu 2 semaines environ après son arrivée, et la seconde après 3 mois de présence au sein de l’entreprise. Cela permet de constater l’évolution et d’aider à s’améliorer si certains points sont encore à travailler par la suite. 

Concrètement, quels sont les objectifs du peer-coding ?

Le peer coding s’intègre dans un parcours complet au sein de TheCodingMachine dès l’arrivée du nouvel entrant :  

  • C’est un complément aux formations noobs : on allie la théorie à la pratique,
  • Il permet d’avoir un retour concret et précis sur le travail effectué, 
  • Il permet également de se projeter sur son évolution professionnelle et sa montée en compétences sur les semaines à venir,
  • Et c’est un bon moyen d’évaluer la performance au niveau du code de la personne tout au long de son intégration.

Quels sont les vrais « plus » cachés du peer-coding ?

  • Le peer coding permet de mettre l’accent sur le travail d’équipe. L’objectif est d’avancer ensemble vers de meilleures performances techniques. Une fois que votre nouvel entrant est évalué, il s’agira de l’accompagner pour lui permettre d’avancer et de progresser. 
  • Il vous permet également d’appuyer sur la responsabilisation des seniors. L’autonomie et la responsabilisation de chacun font partie des facteurs clés qui encouragent vos salariés à rester chez vous ! Leur montrer votre confiance, en s’appuyant sur eux pour intégrer les nouveaux entrants est un vrai plus. 
  • Dans la prolongation de cette idée, le peer coding permet de vous assurer que vos compétences internes restent en interne. Et ce, même si certains collaborateurs seniors finissent par vous quitter ! La passation des savoirs est un sujet phare à ne pas négliger pour assurer la gestion optimale de vos compétences internes.  
  • Je vous ai parlé ici du peer coding sur la partie technique, mais ce système peut être appliqué à tous les métiers ! Il vous suffit de faire travailler en binôme un junior et quelqu’un de plus senior sur le même métier. L’un et l’autre pourront alors se donner des feedbacks et progresser par la suite. Un système auquel on ne pense pas assez et qui peut faire toute la différence !

Et si on allait au-delà du peer-coding ? Voici la TCM Academy !

Bien entendu pour être efficace, cette notion de peer-coding doit s’inscrire dans une démarche complète de montée en compétences de vos collaborateurs. C’est pourquoi, pour répondre à ce besoin en interne, nous avons créé la TCM Academy

La TCM Academy ce sont des formations bien sûr, des points hebdomadaires communs pour la veille (nos fameux “points du vendredi”) et le peer-coding. Grâce à ce parcours à 360 degrés, nos collaborateurs sont accompagnés au quotidien pour évoluer et avancer dans leur développement professionnel. 

Pour rejoindre l’aventure chez TCM, envoie-nous ton CV sur recrutement@thecodingmachine.com. On recrute tout au long de l’année sur des postes techniques, en stage de pré-embauche ou en CDI pour les profils expérimentés !

Et pour recevoir des contenus exclusifs de la TCM Academy, inscris-toi ici.

Index égalité femmes/hommes 2021

Avec un score de 80/100 à l’index d’égalité femmes / hommes pour l’année 2021, nous sommes ravis de ce résultat pour notre secteur, représenté majoritairement par des hommes.

L’égalité professionnelle entre les hommes et les femmes est au cœur de nos priorités, c’est pour cela que TheCodingMachine ne crée aucune distinction.
C’est également avec fierté que notre indicateur d’écart de rémunération de 38/40 démontre un résultat en faveur des femmes. 🎉

TheCodingMachine s’engage pour l’égalité de traitement entre l’ensemble de ses collaborateurs.🦾

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

Posted in TCM

MVP SAAS Pourquoi et comment le développer rapidement

Faire un MVP (Minimum Viable Product) permet de tester très vite un marché. Comme nos clients, nous avons toujours beaucoup d’idées à tester ! Par exemple, depuis que nous existons, nous avons lancé différents projets de MVP SAAS : 

  • Apideo (2008): API pour permettre la diffusion de flux vidéo en temps réel sur des sites web (imaginez un vendeur qui puisse vous parler directement sur le site internet que vous visitez), 
  • Butterflive (2010): calcul de votre appétence pour un site, interagir sur le site en fonction de votre navigation (pensez à un site qui se transforme au fur et à mesure que vous naviguez), 
  • Domyplaylist (2014): outil pour gérer des playlists depuis Soundcloud ou Youtube pour streamer de la musique gratuitement, 
  • Workadventure (2020): univers que vous pouvez adapter permettant de faire des rencontres en Visio (vous pouvez faire la map de votre bureau, inviter l’ensemble des collaborateurs et interagir comme si vous y étiez). 

Et je dois en oublier ! J’aime encore toutes ces idées même si certaines commencent à dater et nous avons beaucoup appris. Mais je dois avouer que seuls quelques-uns de ces projets ont été commercialisés. Nous ne leur avons pas donné toutes les chances de réussir. Beaucoup de raisons nous ont fait abandonner certains de ces projets : manque de temps et/ou de ressources pour s’en occuper, investissement nécessaire… 

Retour d’expérience : développer un MVP SAAS avec Laravel Spark

Alors, pour tenter de réduire le coût de commercialisation de nos MVP SAAS, nous avons trouvé une solution qui a des limites mais sur laquelle nous pouvons vous faire un retour d’expérience : Laravel Spark

Laravel Spark est un boilerplate payant (99$) qui permet de démarrer très rapidement le développement d’un MVP SAAS. Il fournit de base une gestion des utilisateurs, des logins, des équipes. Il supporte la notion d’abonnement et est fourni avec une intégration à la plateforme de paiement Stripe.

La prise en main n’est pas complètement immédiate. Peut être parce que nous l’avons testé au moment de la migration de Laravel 7 à Laravel 8. Nous avons rencontré quelques problèmes à l’installation que nous avons surmontés. Une fois installé, le produit fait le job. L’écosystème Laravel a évolué très vite récemment (notamment avec des solutions comme Laravel Livewire qui changent complètement la manière de faire du front). Laravel Spark ne bénéficie hélas pas encore de ces évolutions (il reste basé sur l’ancienne manière de gérer le front avec VueJS et le paquet « Laravel UI »).

En bref, ça fonctionne, ce n’est pas forcément « state of the art », mais ça nous a permis d’économiser 2 à 4 semaines de travail et de nous focaliser sur ce qui fait la différence : notre produit.

Faire un MVP SAAS ne doit pas vous faire oublier que de nombreuses autres tâches sont associées au lancement d’une telle plateforme : 

  • en faire parler sur les réseaux,
  • développer une stratégie commerciale, 
  • chercher à satisfaire les premiers clients, 
  • définir une roadmap produit,
  • construire un business model.

Beaucoup d’éléments qui nécessitent de nombreux efforts ! Et des efforts qui doivent être tenus dans le temps (c’est comme cela que nous avons réussi TheCodingMachine). C’est en général là où l’on pèche et que le projet s’arrête. C’est compliqué de gérer un projet de MVP SAAS en parallèle d’une activité qui marche. Mais nous sommes incorrigibles, notre dernier bébé Workadventure nous plaît tellement qu’encore une fois, nous allons le lancer. Nous avons déjà d’ailleurs des premiers succès : organisation du forum PHP 2020 de l’AFUP, événement de recrutement pour la Société Générale ou encore le festival du digital de Nuremberg. 

En résumé :

Étapes de déploiement d'un MVP SAAS : idée, test marché, plateforme. Guide visuel MVP SAAS.

Si vous souhaitez partager avec nous la manière dont vous gérez vos “side-business”et votre propre retour sur vos projets de MVP SAAS c’est par ici : contact@thecodingmachine.com !

Jean-Guillaume DUJARDIN (CEO)

12 bonnes raisons de rejoindre TheCodingMachine

Parfois trouver une entreprise dans laquelle on se sent bien et épanoui peut devenir un vrai casse-tête… Les promesses employeurs ne sont pas toujours faciles à appréhender, pas toujours assumées aux yeux du grand public ou tout simplement pas exposées par les entreprises. En tant que candidat, il n’est pas si simple de s’y retrouver !

Chez TCM, peu importe ton contrat, notre objectif reste le même : que ton job et ta boîte te fassent vibrer au quotidien. Alors si tu es curieux(se), motivé(e), que tu veux apprendre des meilleurs et faire décoller ta carrière professionnelle : tu es au bon endroit 🚀

  1. Suis notre programme de formation “NOOBS” dès les premières semaines

Dès ton arrivée chez TheCodingMachine, tu suivras un programme de formation d’une vingtaine de modules sur des sujets techniques et sur le savoir être. L’objectif : voir ou revoir des notions indispensables à chacun pour ton épanouissement au sein de la structure. 

En parallèle, tu feras au moins une session de peer-coding : un Chef de projet expérimenté ou un Directeur de projet passe une demi journée avec toi pour étudier ta manière de travailler afin de te faire des feedbacks et te donner des conseils pour te permettre de progresser.

Tu l’auras compris, dès le premier jour nous n’avons qu’un seul mot d’ordre : t’accompagner au maximum pour assurer ta montée en compétences. 

  1. Intègre une communauté d’experts et apprends au quotidien

Suivre des formations c’est bien mais s’instruire au quotidien au contact d’experts dans leur domaine c’est encore mieux ! Nous avons par ailleurs la chance d’avoir une Direction Technique très présente au sein de nos équipes, te permettant de t’enrichir chaque jour directement sur tes projets en t’assurant une progression rapide. 

  1. Travaille sur des projets techniques challengeants

Tous les projets que nous élaborons sont faits sur-mesure pour chacun de nos clients, et nous ne nous enfermons pas dans un domaine d’activité : tout au long de ton aventure chez nous tu auras donc la possibilité de monter en compétences sur différents aspects fonctionnels et techniques. Ici l’ennui n’existe pas !

« Si quelqu’un a envie de mener une action, il peut prendre l’initiative, même si ce n’est pas forcément dans son périmètre de base. On ne nous met pas de frein ! »

Donatien Lefranc
  1. Créé un poste à ton image 

Chez TheCodingMachine, l’autonomie et la responsabilité de chacun sont deux qualités essentielles que nous sollicitons au quotidien. Plus nos collaborateurs sont proactifs et cherchent à faire évoluer leur propre poste pour s’épanouir (tout en étant en adéquation avec les projets de l’entreprise) et plus tu sors du lot. 

  1. Participe et anime nos points du vendredi 

Toutes les semaines, nous avons des “points du vendredi” à 10h sur divers sujets : techniques, RH, coders, business, interventions clients, … L’éveil de ta curiosité, ta formation continue et l’esprit de partage sont au rendez-vous tous les vendredis matins sans exception (sauf pendant les vacances d’été) ! 

La plupart de ces points du vendredi sont animés par des collaborateurs internes : dès ton arrivée tu peux donc te proposer pour être intervenant et nous présenter un sujet qui te tient à coeur. Et si tu veux en savoir plus sur nos points du vendredi, suis notre compte Instagram on y publie les sujets toutes les semaines.

  1. Participe au rayonnement de TheCodingMachine

Travailler sur son poste c’est bien, mais participer à l’évolution de ton entreprise en même temps c’est mieux ! Nous encourageons chacun à s’impliquer autant que possible dans la structure pour participer à son développement en interne mais aussi à l’externe. Tu pourras donc participer à l’organisation d’évènements, à la rédaction d’articles, à la mise en place de modules de formations, ou à tout autre sujet qui te paraît intéressant et pertinent pour toutes et tous.

Deux collaboratrices souriantes de TheCodingMachine lors d'un événement professionnel.
  1. Rejoins des équipes soudées dès le premier jour

S’il y a bien quelque chose dont nous sommes fiers chez TheCodingMachine c’est de la qualité de notre intégration au sein des équipes et ce, dès le premier jour ! On le sait c’est essentiel : travailler dans une bonne ambiance et avec des équipes soudées ça fait toute la différence et ça motive pour aller travailler tous les matins. 

  1. Travaille dans un cadre sain et stimulant

On ne va pas se le cacher, avoir un bel environnement sain et stimulant dans lequel on se sent bien, ça stimule la productivité et ça motive pour se mettre au travail. Nous avons la chance de travailler dans un hôtel particulier derrière la gare Saint-Lazare, avec une grande “chill zone” et une cuisine toujours pleine de thés et de cafés !

Le midi pour couper c’est : jeux de société, jeux vidéos dans notre bel amphithéâtre, tournoi de babyfoot ou juste sieste dans nos canapés. 

Dernièrement, nous avons également mis l’accent sur le télétravail pour le bien être de tous, mais il reste quand même important pour nous de nous voir et nous rassembler régulièrement pour ne pas perdre cet esprit de cohésion et de partage qui nous est cher. 

  1. Développe ton management interculturel

Nous avons la chance de voir au-delà de nos frontières TCM, en travaillant au quotidien avec notre communauté internationale de Coders. Tu auras comme responsabilité de les manager, en t’adaptant à leurs rythmes de travail, à leurs cultures et à leurs manières de travailler tout en pratiquant ton anglais. 

Un vrai moyen pour toi de monter en compétence sur le management interculturel mais aussi sur tes responsabilités vis-à-vis des projets sur lesquels tu seras positionné.

Collaborateurs souriants, ambiance de travail positive. Opportunités de carrière.
  1. Manage ta carrière dès ton arrivée

Chez TheCodingMachine, il est important que tu puisses évoluer et aller vers un chemin de carrière qui te ressemble. C’est pourquoi dès ton arrivée chez nous en stage, nous faisons 2 bilans RH : à mi-parcours pour voir où tu en es et comment se passe ton stage et en fin de stage pour faire le bilan de tes 6 mois passés chez TCM. 

Ensuite, dès ton intégration en CDI et tous les ans, nous te demandons de faire un bilan de ton année écoulée. Dans un premier temps à travers une autoévaluation, puis par un feedback à 360 de tes collègues et enfin à travers un bilan annuel effectué avec ton manager. 

L’objectif pour toi est de pouvoir prendre du recul sur les évènements clés de ton année (qu’ils soient positifs ou négatifs !), de connaître l’avis des personnes avec qui tu travailles au quotidien, et de conclure par la vision de ton manager et la fixation de tes objectifs pour l’année à venir.  

Pour terminer, tous les deux ans tu seras amené à faire un entretien professionnel avec la Responsable RH (coucou c’est moi !). L’objectif est de faire un point d’avancement sur ta carrière, déterminer tes besoins en formations/certifications et voir si tu progresses dans la direction que tu souhaites, professionnellement parlant. 

  1. Partage tes passions avec tes collègues

Que tu sois passionné par la culture geek, bibliovore, fan incontesté de karaoké, cinéphile ou bien même sportif en compétition de sabre laser : tu trouveras toujours un TCMien ou une TCMienne. Nous avons la chance d’avoir des collègues curieux de découvrir tous les sujets, les échanges sont d’autant plus riches et on en apprend tous les jours !

  1. Participe à nos évènements internes

Même si nous ne pouvons pas le nier, cette année a été très compliquée face à la situation sanitaire dans l’organisation d’évènements internes, nous avons l’habitude tout au long de l’année de nous réunir tous ensemble pour cultiver notre cohésion d’équipe. 

En janvier nous avons la galette des rois et/ou une crêpe party, en juin la kermesse des stagiaires, en septembre notre War night et en décembre notre fameuse Secret Raclette (un secret santa autour d’une raclette vous l’aurez compris !). Dans la mesure du possible, nous organisons aussi chaque année un séminaire où nous essayons cette fois de réunir toutes nos filiales, pour mélanger travail et activités diverses (jeux de société, activités sportives, soirées, …). 

Et si tu te sens l’âme d’un organisateur événementiel, nous prenons tous volontaires pour nous aider à mettre tous ces évènements en place !

Si tu es curieux(se) de rejoindre nos équipes, que tu as encore des questions sur ton futur environnement de travail ou que tu souhaites nous envoyer ton CV ; contacte-moi directement sur : recrutement@thecodingmachine.com !

Et pour être au plus proche de la vie de TheCodingMachine, suis-nous sur Linkedin, Twitter et Instagram.