Vous envoyez une demande de devis
Dites-nous quel processus couvrir, ce que vous utilisez aujourd’hui et où cela bloque. Un brief court suffit.
Nous utilisons Google Analytics 4 pour mesurer les visites, et seulement si vous acceptez. Tant que vous n’avez pas accepté, rien n’est envoyé à Google. Vous pouvez changer d’avis à tout moment depuis le pied de page. Politique relative aux cookies
Développement web sur mesure
Quand un site vitrine ne suffit pas, nous construisons la pièce qui manque : une intégration, une extension, une application. Chaque élément part de ce dont le client a besoin, comme un costume coupé à ses mesures et non pris sur un portant.
Nous écrivons du code spécifique à votre besoin : extensions WordPress et WooCommerce, intégrations avec des ERP, des transporteurs et d’autres services, API, imports de produits et applications web. Les formules IMCode sont faites en série, le même type de site en trois tailles. Les solutions sur mesure partent d’un processus concret de votre activité, qu’une extension toute faite couvre à moitié ou pas du tout.
Voici de vraies réalisations : des projets pour des clients et quelques outils que nous utilisons nous-mêmes. Chaque carte dit ce qu’il y avait à résoudre et ce que nous avons construit. Les noms des clients n’apparaissent pas.
Intégrations avec des ERP et des services externes
La boutique devait suivre le stock et le prix de l’ERP du client, sans mise à jour manuelle.
Un script PHP s’exécute toutes les 5 minutes. Il lit le stock et le prix dans le service web de l’ERP et les écrit dans WooCommerce, y compris sur chaque variante des produits variables. Si l’export arrive vide, le script ne met pas le stock à zéro. Le cache n’est vidé que pour les produits modifiés, et quand l’ERP ne répond pas plusieurs vérifications de suite, un e-mail part.
PHP · SOAP · WooCommerce · cron
Intégrations avec des ERP et des services externes
L’envoi des commandes à une API externe se trouvait dans le thème et pouvait casser lors d’un changement de design.
Nous avons déplacé l’envoi dans une extension. Le formulaire transmet la commande et, si l’API ne répond pas, l’extension la relance toute seule toutes les 5 minutes, trois fois au maximum. Les points de collecte sont mis en cache par județ (département roumain), et les identifiants d’accès ont quitté le code pour des constantes de configuration.
WordPress · Contact Form 7 · API REST
Intégrations avec des ERP et des services externes
Un site d’hôtel devait envoyer le visiteur vers le moteur de réservation hébergé à l’extérieur, avec la recherche déjà remplie.
Une extension reprend le formulaire de recherche et les boutons de réservation de l’extension d’hôtel. Elle convertit les dates et le nombre de clients au format du moteur, puis ouvre la réservation dans un nouvel onglet, dans la langue de la page.
WordPress · WPML
Intégrations avec des ERP et des services externes
Un checkout roumain a besoin de localités et de codes postaux que les transporteurs reconnaissent.
Une API de localités et de codes postaux. À côté de chaque localité figurent les identifiants utilisés par FanCourier, Cargus et Sameday et les valeurs de kilomètres supplémentaires.
API · données
Catalogue, imports et flux
Un distributeur voulait un catalogue en ligne, pas une boutique, et le prix ne devait apparaître nulle part dans la sortie publique.
Une extension retire le prix du HTML, du JSON-LD, de l’API REST et de la Store API. Un importeur lancé en ligne de commande lit le fichier Excel du distributeur. Il peut d’abord faire un essai à blanc et peut être relancé sans dupliquer les produits.
WordPress · WooCommerce · WP-CLI
Catalogue, imports et flux
Le flux XML ou CSV d’un fournisseur change souvent, et le client voulait voir ce qui avait changé.
Deux applications PHP comparent le flux produit par produit, à intervalle fixe. Elles gardent l’historique des changements de prix et de stock, ont un tableau de bord et envoient un e-mail quand un changement dépasse un seuil.
PHP · cron
Boutique : checkout, produits, configurateurs
Les boutiques roumaines ont besoin que l’acheteur choisisse particulier ou entreprise et fournisse des données fiscales valides.
Une extension WooCommerce valide le CNP (numéro personnel), le CUI (numéro fiscal de l’entreprise) et l’IBAN. Les localités sont dans une liste par județ, avec un champ libre pour les adresses à l’étranger.
WooCommerce
Boutique : checkout, produits, configurateurs
La boutique vend le même modèle neuf et reconditionné, avec des degrés d’usure, et voulait les relier, pas les dupliquer.
Un module WooCommerce relie le produit neuf au produit reconditionné par un modèle commun. Le degré d’usure devient une variante. La page affiche l’économie par rapport au neuf et, quand celui-ci sort du stock, le canonical change.
WooCommerce · REST · Rank Math
Boutique : checkout, produits, configurateurs
Une boutique vendait des unités reconditionnées uniques à côté du produit d’origine, masquées dans le catalogue, avec les défauts de chaque unité décrits.
Un assistant dans l’administration crée l’unité à partir d’un produit ou d’une variante existante : il copie son titre, sa description et ses images et la relie au produit parent. L’unité n’apparaît ni dans la boutique, ni dans la recherche, ni parmi les produits similaires. Ses défauts sont écrits sur la page du parent.
WooCommerce · WoodMart
Boutique : checkout, produits, configurateurs
Les clients personnalisent des boîtes sur la page produit, puis les ajoutent au panier ou demandent un devis.
Le modèle 3D montre la couleur, le texte et l’image de chaque face de la boîte. Le prix est recalculé sur le serveur. L’équipe reçoit un tableau de production, avec une feuille A4 et une archive ZIP.
WooCommerce · React Three Fiber
Plateformes et sites à logique propre
Un site professionnel avait 12 types de contenu, chacun avec ses champs, ses filtres, son import et son administration.
Une extension avec ORM, routeur, schéma versionné et moteur de filtres écrits de zéro. Les données sont dans des tables propres, pas dans des articles, et l’extension expose 52 endpoints REST.
PHP · WordPress
Plateformes et sites à logique propre
Un service événementiel voulait un site rapide, avec des formules différentes par leur menu et par leur prix.
Les pages sont générées par des scripts Node, sans framework. Le sélecteur de formules est rendu côté serveur, et chaque page existe aussi en version Markdown et en version JSON. Google Analytics ne démarre qu’après accord. Le projet a cinq jeux de tests.
Node · HTML · JSON-LD
Plateformes et sites à logique propre
Une école de formation voulait plus qu’une liste : des cours en direct et en vidéo vendus via WooCommerce, avec des éditions par ville.
Chaque édition a ses dates. Les sessions Zoom ont un lien personnel pour chaque acheteur, et les cours vidéo se regardent depuis une page « mes cours ». Le paiement peut se faire en plusieurs fois, avec calendrier et rappels, et la réduction early bird est créée automatiquement sous forme de coupon.
WordPress · WooCommerce · Zoom · Bunny CDN
Plateformes et sites à logique propre
Un site publie de nouvelles offres chaque mois, et les anciennes devaient disparaître.
Chaque offre a une date d’expiration et des procédures liées. Une tâche cron passe en brouillon les offres expirées et supprime les produits créés automatiquement pour elles.
WordPress · WooCommerce · cron
Outils avec IA
Une boutique de produits reconditionnés recevait des lots CSV et voulait des pages produit en roumain, sans écrire chaque produit à la main.
Une application importe les lots et récupère les données du produit. En un seul appel, un modèle d’IA traduit en roumain, propose l’état et un prix. Un opérateur valide chaque produit avant son arrivée dans la boutique.
Next.js · Supabase · OpenRouter · WooCommerce
Outils avec IA
Un site de podcast importe des épisodes, des transcriptions et des images de couverture depuis un flux RSS et les présente par thème.
Une extension récupère les épisodes du RSS selon un planning et dessine une carte des thèmes à partir des étiquettes et des transcriptions. Un assistant IA propose de fusionner les thèmes en double, et une personne les valide dans l’administration.
WordPress · D3 · Gemini
Administration et maintenance
La base de données d’une boutique WooCommerce grossissait sans que personne le remarque.
Une extension vérifie chaque jour la taille de la base et envoie par e-mail les cinq plus grosses tables. Une seconde empêche l’écriture des compteurs de filtres dans le cache quand la requête arrive avec des paramètres de filtrage.
WordPress · mu-plugin
Interface et effets dans la page
Un site d’entreprise voulait une vidéo en boucle sur la première section, sans ralentir le chargement.
Au chargement, seule l’affiche apparaît, et la vidéo démarre quand la page est libre. Elle s’arrête hors de l’écran et respecte les réglages de réduction des animations et d’économie de données.
Elementor · Bunny Stream
Administration et maintenance
Lors d’une migration, les anciennes adresses qui n’existaient plus devaient être redirigées vers les nouvelles.
Un outil local lit l’ancien sitemap et un CSV de la Search Console, vérifie les codes de réponse et associe les adresses mortes au nouveau sitemap. Il produit un CSV pour Rank Math, Yoast ou Redirection.
Node · TypeScript
Catalogue, imports et flux
Une boutique de pièces auto recevait des produits de plusieurs fournisseurs, dans des flux différents, et avait besoin de fiches produit en roumain.
Un script par flux : un CSV en Windows-1250 et deux XML, dont l’un contenait parfois des caractères de contrôle illégaux. Les scripts convertissent le texte en UTF-8 et retirent les caractères qui cassent le parseur. Un traducteur appelle OpenAI avec un glossaire de termes techniques auto, pour que « coilover » ou « front lip » ne restent pas en anglais. Si la traduction d’un produit échoue, le produit est exporté avec le texte d’origine et repris à l’exécution suivante.
PHP · OpenAI · flux XML et CSV
Catalogue, imports et flux
Le tableau d’alimentation de chaque produit était conservé en JSON et devait apparaître sur la page du produit.
Une petite extension ajoute un onglet « Tableau d’alimentation » et lit le champ JSON du produit. Sur ordinateur, c’est un tableau complet, sur tablette il défile à l’horizontale, et sur téléphone chaque ligne devient une carte. Cela marche sans JavaScript, uniquement en CSS, et utilise les variables de couleur du thème WoodMart.
WordPress · WoodMart · CSS
Boutique : checkout, produits, configurateurs
Une boutique avait des produits vendus sur devis ou depuis le stock du fournisseur, alors que WooCommerce ne connaît que trois états de stock.
Un module du thème enfant ajoute les deux états et les traite comme « en stock », sinon le produit disparaîtrait de la boutique. « Demander un devis » bloque l’achat et affiche un bouton qui ouvre le formulaire de devis. WoodMart a les états standard écrits en dur dans le code, donc nous avons réécrit la grille de produits, le filtre de stock, la colonne de l’administration et les conditions de livraison estimée pour qu’ils les reconnaissent.
WooCommerce · WoodMart · PHP
Boutique : checkout, produits, configurateurs
L’ERP d’une boutique envoie le prix TTC mais pas le taux, et les produits alimentaires et les autres ont des taux différents.
Un script a mis la classe à taux réduit sur les catégories alimentaires et la classe standard sur le reste des produits, variantes comprises. Il a aussi défini le taux sur la nouvelle classe, qui n’en avait aucun jusque-là. Les anciennes commandes n’ont pas été touchées, car la facture est émise depuis l’ERP, et le script peut être relancé pour les nouveaux produits.
WooCommerce · PHP
Boutique : checkout, produits, configurateurs
Une boutique voulait des « modèles » qui regroupent plusieurs produits, et la commande devait ressembler à une commande de produits achetés séparément, pour la facturation, le transporteur et les flux.
Un « modèle » est un type de contenu de présentation, pas un produit à vendre. Quand il est ajouté au panier, l’extension crée une vraie ligne pour chaque composant, reliées par un identifiant commun, et le stock reste celui de WooCommerce. La remise de pack et le coût de personnalisation sont des frais de panier calculés sur le serveur, pas des coupons.
WooCommerce · WoodMart · PHP
Boutique : checkout, produits, configurateurs
Une boutique offre des cadeaux à certains seuils de valeur du panier, et l’acheteur ne pouvait pas voir ce qu’il lui restait à ajouter pour atteindre le suivant.
Une barre dans le panier, le mini-panier et au checkout montre les paliers : verrouillé, suivant, gagné. Le seuil se mesure sur le sous-total après coupons, hors livraison, c’est-à-dire sur la même valeur que celle qu’utilise l’extension de cadeaux ; la barre et l’attribution du cadeau montrent donc la même chose. Les textes sont en roumain et en anglais.
WooCommerce · Free Gifts for WooCommerce · WPML
Boutique : checkout, produits, configurateurs
Les fichiers AWB des commandes étaient dans un répertoire d’upload qui pouvait être parcouru et n’avait aucun contrôle d’accès.
À la première utilisation, l’extension place dans le répertoire un .htaccess et un index.php qui bloquent l’accès direct et l’exécution de scripts. Les fichiers se téléchargent par un lien avec nonce, après vérification que le demandeur est administrateur ou propriétaire de la commande. La liste des commandes a une colonne « Fichiers AWB », et l’écran de la commande a un bouton qui copie le lien.
WooCommerce · PHP
Intégrations avec des ERP et des services externes
Une boutique avec WPML Multicurrency vendait en dollars et en soles péruviens, et les deux prix devaient suivre le cours.
Une extension s’exécute chaque jour à 08:00, récupère le cours depuis une API publique et met à jour les prix des produits simples et variables. L’administration garde les cinq dernières exécutions. Pour les produits variables, le prix dans la seconde devise apparaît sous forme de fourchette, et un e-mail part à chaque changement de cours ou de prix.
WooCommerce · WPML Multicurrency · cron
Plateformes et sites à logique propre
Une pension avec événements avait besoin de pages d’événement avec détails, programme, galerie et menu PDF, plus des chambres regroupées par type.
Une extension ajoute le type « événement » et des shortcodes pour les détails, le programme, la galerie, les extras et la vidéo. Le menu PDF, qui peut peser des dizaines de Mo, ne se charge qu’au clic. Les chambres ont deux taxonomies, le type de bâtiment et la catégorie de chambre. Les événements de l’ancien site ont été déplacés, et des redirections permanentes conservent les anciennes adresses.
WordPress · Elementor · Rank Math
Plateformes et sites à logique propre
Une académie voulait des cours vidéo vendus via WooCommerce, auxquels puisse aussi accéder quelqu’un qui n’est pas connecté.
Chaque leçon a sa vidéo sur Bunny CDN. Après le paiement, l’acheteur reçoit un e-mail avec le lien vers la page « Mes cours ». Quelqu’un qui n’est pas connecté saisit son adresse e-mail, reçoit un code à 6 chiffres valable 10 minutes et voit, pendant 24 heures, les cours des commandes de cette adresse. L’administrateur peut aussi donner accès à une liste d’adresses sans commande, en permanence ou pour un nombre de jours.
WordPress · WooCommerce · Bunny CDN
Plateformes et sites à logique propre
Les cours en direct avaient des sessions Zoom sur plusieurs jours, et les liens vers les enregistrements Zoom expirent.
Les sessions sont créées via l’API Zoom, avec une authentification de serveur à serveur, et les rappels partent d’une tâche cron. Chaque acheteur ne voit que les sessions de la formule qu’il a achetée. L’administration a un tableau des participants avec un bouton de renvoi. Les enregistrements sont copiés sur Bunny CDN et se regardent dans un lecteur maison.
WordPress · WooCommerce · Zoom API · Bunny CDN
Plateformes et sites à logique propre
Un nouveau type de contenu, construit dans Elementor, s’affichait comme un article de blog, avec titre, auteur et image à la une au-dessus, et non comme une page.
Le thème WoodMart a les vérifications du type « page » écrites en dur, sans filtres. Nous avons copié le modèle de la page pour le nouveau type et ajouté le type dans la metabox du thème par Reflection, car sa liste est une propriété privée. Tout le code est dans le thème enfant, sans modification des fichiers du thème.
WordPress · Elementor · WoodMart
Outils avec IA
Chaque nouveau cours a beaucoup de champs de texte à remplir : description, bénéfices, questions fréquentes et d’autres.
Un assistant dans l’administration reçoit le titre, le type de cours, la ville et le formateur, et demande à un modèle OpenAI de rédiger la description, les bénéfices, ce que l’élève apprend, les questions fréquentes et le public cible. Le résultat arrive dans les champs du cours.
WordPress · OpenAI
Outils avec IA
Chaque épisode de podcast devait avoir une couverture carrée, dans le même style, à partir de la photo de l’intervenant.
Un script Python envoie chaque photo à Gemini, avec un prompt qui fixe le format 1:1, demande de garder les traits et interdit le texte, le logo ou les objets ajoutés. Le résultat est un PNG de 1024 × 1024, et les couvertures sont ensuite posées comme image à la une des épisodes. Le filtre de sécurité rejette encore certaines photos, surtout les très petites, qui sont alors reprises avec une autre photo de la même personne.
Python · Gemini API · WordPress
Administration et maintenance
Quand un cours est annulé, tous ceux qui l’ont acheté doivent être prévenus.
Sur l’écran du cours, une metabox a un champ pour le motif et un bouton « Envoyer l’e-mail d’annulation ». L’extension cherche les commandes terminées ou en cours de traitement du cours, retire les adresses en double et envoie le message dans le modèle d’e-mail WooCommerce, avec le motif s’il a été rempli.
WordPress · WooCommerce
Administration et maintenance
Les images de la médiathèque d’un site WordPress devaient être allégées en masse, sans dépendances externes.
Un seul fichier PHP, protégé par une clé, parcourt le répertoire d’upload et saute les miniatures WordPress. Il recompresse les JPEG et crée un WebP à côté de chaque PNG, sans supprimer l’original. Il a un essai à blanc et travaille par lots pour ne pas dépasser le temps maximal de PHP. Un journal indique ce qui a été économisé sur chaque image.
PHP · GD · AJAX
Administration et maintenance
Dans une boutique WPML en 15 langues, certains attributs de produit étaient arrivés dans le mauvais groupe de traductions.
Nous avons scanné tout le catalogue, relié les termes allemands erronés à leur groupe de traductions et supprimé les termes orphelins. Le scan final a donné zéro orphelin et zéro différence avec la sauvegarde. Un terme qui ressemblait à un orphelin mais avait la bonne langue est resté tel quel.
WPML · WooCommerce
Interface et effets dans la page
Un méga-menu de catégories, fait en shortcode, ne s’affichait pas sur téléphone, car WoodMart masque le contenu des menus déroulants dans le panneau mobile.
Sur téléphone, le shortcode affiche une liste qui descend par niveaux, avec une animation de glissement. Il prend les données dans les panneaux de bureau, déjà présents dans la page, pour ne pas répéter les requêtes de catégories. Les sous-catégories s’ouvrent en accordéon, pour réduire le nombre de touches.
WoodMart · JavaScript · WooCommerce
Interface et effets dans la page
Un site de conseil voulait des fonds animés dans la section hero, qu’un éditeur puisse poser sans écrire de code.
Trois animations sur canvas, « Capital Flow », « Network Connections » et « Layered Depth ». Chacune vient en deux fichiers : une page d’aperçu et un fichier à coller dans un widget HTML d’Elementor. Elles utilisent la palette de la marque et ont quatre palettes alternatives. Une page de démo les montre toutes, pour l’approbation du client.
Elementor · Canvas · JavaScript
Interface et effets dans la page
Un site d’entreprise voulait des effets d’arrière-plan sur les sections, appliqués directement depuis Elementor.
Un fichier CSS et un fichier JS dans le thème enfant fournissent les effets sous forme de classes CSS que l’éditeur écrit dans Elementor : une aurore avec grille de points, un spotlight qui suit le curseur, une ligne de dégradé animée et une bande de texte défilante.
Elementor · CSS · JavaScript
Interface et effets dans la page
Sur la page d’un produit, la fenêtre « Acheter en plusieurs fois » se fermait toute seule au bout d’environ 2 secondes.
Le thème appelle la fermeture de tout popup à chaque changement de slide, et la page exécute deux carrousels en lecture automatique. Nous avons enveloppé la fonction du thème qui fait l’appel, avec un effet seulement pendant l’appel et seulement si un popup est ouvert. Ainsi, la fermeture par la croix, par ESC et par clic sur le fond fonctionne toujours.
JavaScript · WoodMart
Outils avec IA
Une marque de cosmétiques dermatologiques voulait un questionnaire guidé sur les affections de la peau, qui se termine par des produits recommandés.
Une extension WordPress avec des modules qui s’activent ou se désactivent dans les réglages. Elle a un questionnaire principal et un par affection, et les réponses passent d’un questionnaire à l’autre, avec un court délai d’expiration. L’analyse de selfie passe par un endpoint REST : elle demande l’accord du visiteur, vérifie l’âge et le fichier, limite les requêtes et appelle un modèle d’IA. Une matrice de compatibilité avec les produits s’affiche par shortcode.
WordPress · WooCommerce · REST · API d’IA
Intégrations avec des ERP et des services externes
Les résultats du questionnaire devaient arriver dans le CRM de la marque, mais seulement pour ceux qui acceptent le marketing.
Le contact est créé dans TheMarketer seulement après que le visiteur a coché l’accord marketing, avec une confirmation en deux étapes. Chaque résultat de questionnaire reçoit une étiquette, et les envois qui échouent sont relancés depuis une tâche cron.
WordPress · TheMarketer API · cron
Plateformes et sites à logique propre
Une clinique voulait des galeries de cas avant/après, que l’équipe puisse téléverser par lots, ordonner et corriger sans entrer dans WordPress.
Une extension WordPress affiche la galerie, avec chargement progressif et swipe. Un panneau PHP séparé reçoit des ZIP ou des dossiers, optimise les photos et les associe à la procédure. L’équipe déplace les cas entre procédures, les supprime ou les ordonne par glisser-déposer. Un cas téléversé de nouveau ne remplace l’ancien jeu qu’une fois le nouveau entièrement enregistré, et le cache de la page se vide et se réchauffe tout seul.
WordPress · Elementor · PHP
Catalogue, imports et flux
Les enregistrements PubMed devaient être transformés en un XML que WordPress peut importer, avec les auteurs correctement associés à leurs affiliations.
Le parseur lit sept champs de plus, dont le statut, les dates et l’ISSN. Une nouvelle routine regroupe les lignes d’auteurs avec les lignes d’affiliation et sépare les noms. Le générateur de XML et les pages de mappage et de prévisualisation utilisent les nouveaux champs.
PHP · XML · PubMed
Nous travaillons surtout avec WordPress et WooCommerce, avec des extensions et des intégrations écrites de zéro. Pour les applications séparées, nous utilisons PHP, Node et TypeScript, React et Next.js. Les fonctions d’IA appellent les API de fournisseurs ; nous n’entraînons pas de modèles propres.
Comme pour les sites IMCode, l’IA aide au développement, et une personne vérifie le résultat avant la livraison.
Dites-nous quel processus couvrir, ce que vous utilisez aujourd’hui et où cela bloque. Un brief court suffit.
Les développements sur mesure n’ont pas de prix catalogue. Le prix et le délai figurent dans le devis, une fois le brief lu.
Nous construisons la pièce et la relions à vos systèmes. Une personne vérifie le résultat avant de vous le remettre.
| Votre situation | Ce qui convient |
|---|---|
| Vous avez besoin d’un site vitrine ou d’une page pour une offre | Les formules IMCode |
| Votre site a aussi besoin d’une intégration, d’une extension ou d’une logique que vous ne trouvez pas toute faite | Solution sur mesure |
| Vous voulez un processus automatique entre le site, l’ERP, le transporteur ou un autre service | Solution sur mesure |
| Vous avez un problème, mais pas de cahier des charges | Dites-nous le problème et nous vous répondons avec la variante qui convient |
Nous écrivons du code spécifique à votre besoin, au lieu de partir d’un modèle : extensions WordPress et WooCommerce, intégrations, API, imports et applications web.
Elle n’a pas de prix catalogue. Vous envoyez une demande de devis, et le prix et le délai figurent dans le devis, une fois le brief lu.
Une extension toute faite arrive avec des fonctions pensées pour de nombreux utilisateurs. Une solution sur mesure ne contient que ce que demande votre processus et se relie aux systèmes que vous utilisez.
Oui, comme outil de développement, et une personne vérifie le résultat. Quand la solution comprend des fonctions d’IA, nous appelons les API de fournisseurs ; nous n’utilisons pas de modèles propres.
Nous ne publions pas les noms des clients. Ce que nous pouvons montrer publiquement se trouve dans la bibliothèque, sans noms.
Envoyez une demande de devis ou consultez les formules et les tarifs.
Décrivez le site dont vous avez besoin, et nous vous répondons avec un devis.
Récupérés automatiquement depuis notre profil Google.
Tous sur Google (s’ouvre dans un nouvel onglet)Laisser un avis (s’ouvre dans un nouvel onglet)