top of page

Les modèles IA PS5LM Plus tournent sur un GPU de PS5, mais la console n’est pas encore un PC IA

il y a 47 minutes
15 min de lecture

Les modèles IA PS5LM Plus tournent désormais directement sur le GPU d’une PlayStation 5 jailbreakée, remplaçant une approche précédente limitée au CPU qui produisait environ un token par minute. Le développeur annonce environ 20 tokens par seconde avec un modèle Qwen compressé de 27 milliards de paramètres. Des modèles plus petits atteindraient 61 ou 124 tokens par seconde.

Cette évolution fait passer le projet d’un portage logiciel atypique à une expérience d’inférence locale utilisable. PS5LM Plus peut charger un modèle à poids ouverts, afficher des données de performances sur un téléviseur et servir des réponses à d’autres appareils via un réseau local.

L’enjeu n’est pas PlayStation contre une entreprise d’IA spécifique. Il oppose du matériel grand public réutilisé à des ordinateurs dédiés à l’IA et à des services cloud. Le résultat obtenu sur PS5 montre comment l’accès logiciel peut révéler une puissance de calcul jusque-là inutilisée, mais il met également en évidence des limites strictes liées à la mémoire, à la compression des modèles, à l’installation et au support.

Les modèles IA PS5LM Plus passent du CPU au GPU

Le changement central est architectural : PS5LM Plus fonctionne comme une application PS5 native avec accès au GPU, plutôt que comme un payload CPU contraint.

PS5LM a commencé comme un portage non officiel de llama.cpp, un moteur d’inférence open source permettant d’exécuter des modèles de langage sur de nombreuses plateformes matérielles. Un payload est du code injecté dans un processus existant de la console. Cette voie a permis au premier projet de fonctionner, mais elle n’offrait pas au logiciel un accès complet au processeur graphique de la console.

Le payload devait également composer avec un plafond mémoire serré. Selon le développeur de PS5LM Plus, il disposait d’environ 6 GiB de mémoire utilisable et devait réserver suffisamment de capacité pour l’interface PS5 et les services système. Une allocation excessive pouvait bloquer l’écran d’accueil.

Cette restriction est importante, car les modèles de langage locaux ont besoin de mémoire pour leurs poids, leurs tampons de travail et leur cache KV. Le cache KV stocke les informations utilisées lors du traitement et de la génération d’une conversation. Des contextes plus longs nécessitent davantage de mémoire cache, laissant moins de place au modèle lui-même.

PS5LM Plus modifie cette architecture en empaquetant le serveur comme un titre natif. L’application GPU native du projet associe llama-server à un backend Vulkan et à un portage PS5 du pilote graphique RADV. Vulkan est une interface graphique et de calcul de bas niveau qui permet aux logiciels de soumettre des tâches à un GPU compatible.

Le développeur indique que le titre natif reçoit un tas mémoire de périphérique de 12 GiB, dont environ 11,4 GiB sont disponibles pour le modèle et son contexte pendant l’exécution. Il ne s’agit pas de toute la mémoire physique de la console. C’est la part que l’application peut utiliser dans cet environnement homebrew.

La liste de benchmarks publiée illustre les changements apportés par cet accès supplémentaire. Un modèle Qwen3.8-27B fortement compressé de 9,2 GiB a généré 20,3 tokens par seconde avec un contexte de 32 000 tokens. Une version de 6,8 GiB a atteint 20,7 tokens par seconde avec un contexte de 64 000 tokens.

Un modèle Gemma 4 E4B de 4,8 GiB aurait atteint 61 tokens par seconde. Un modèle Llama 3.2 3B de 1,9 GiB a atteint 124 tokens par seconde dans une autre configuration de test. Les tokens sont des fragments de texte ; leur rapport aux mots varie donc selon la langue et le contenu.

Ces résultats restent des benchmarks communiqués par le développeur, et non des tests standardisés menés par un laboratoire indépendant. Toutefois, le projet publie son code, ses configurations de modèles, ses paramètres de contexte et les débits de génération observés. Les affirmations sont ainsi plus vérifiables qu’une vidéo montrant la réponse inexpliquée d’un chatbot.

Le passage à l’exécution sur GPU importe davantage que le pic annoncé. L’inférence moderne des modèles de langage repose fortement sur des opérations matricielles répétées, que les GPU traitent plus efficacement que les CPU généralistes. La PS5 disposait déjà de ce matériel parallèle, mais le payload d’origine ne pouvait pas l’exploiter efficacement.

PS5LM Plus ajoute aussi un tableau de bord sur téléviseur. Il affiche la vitesse de génération, l’utilisation du processeur, la consommation électrique, les températures, le stockage et la répartition entre les poids du modèle et le cache. Les modèles peuvent résider sur le stockage interne, un disque M.2 ajouté ou un stockage USB externe.

L’application comprend un navigateur de modèles et une interface web. Un ordinateur portable ou un téléphone connecté au même réseau local peut envoyer des prompts à la console et recevoir du texte généré. La PS5 agit ainsi moins comme un appareil de chatbot que comme un petit serveur de modèles local.

Cette combinaison crée la véritable tension de l’histoire. La console n’a pas reçu de matériel plus rapide. Des développeurs homebrew ont changé la manière dont le matériel existant pouvait être adressé, transformant une capacité inaccessible en ressources d’inférence utilisables.

Pourquoi l’accès natif au GPU change l’économie

PS5LM Plus compte parce qu’il transforme du matériel de jeu déjà possédé en serveur d’inférence hors ligne, sans pour autant créer du jour au lendemain une alternative pratique pour le grand public.

Les systèmes d’IA locale dédiés exigent généralement que les acheteurs assemblent un PC de bureau, achètent une station de travail ou choisissent un ordinateur compact doté de suffisamment de mémoire. Les services cloud suppriment cette contrainte matérielle, mais ils envoient les prompts et les documents vers une infrastructure située hors du domicile de l’utilisateur.

Une PS5 compatible offre une autre possibilité. La console réunit un processeur AMD, un GPU de classe RDNA 2 et de la mémoire GDDR6 partagée dans un seul appareil grand public. Les jeux exploitent déjà cette architecture pour déplacer efficacement les données entre les ressources de traitement.

Les modèles de langage bénéficient du fait que leurs poids tiennent entièrement dans une mémoire rapide. Si le système doit transférer à répétition les données du modèle depuis un stockage plus lent, la vitesse de génération peut s’effondrer. C’est pourquoi l’écart entre le payload CPU et l’application GPU native est si important.

PS5LM Plus utilise la quantification pour faire tenir des modèles plus volumineux dans la mémoire disponible. La quantification stocke les poids du modèle avec moins de bits que leur représentation d’entraînement d’origine. Elle réduit l’utilisation mémoire et accélère souvent l’inférence, mais une compression agressive peut diminuer la qualité des résultats.

Le résultat obtenu avec 27 milliards de paramètres doit donc être replacé dans son contexte. Un modèle dense de 27B stocké sur quatre bits nécessiterait généralement davantage de mémoire pour ses poids que l’application ne peut en exposer. Les versions présentées utilisent une compression d’environ deux bits, ce qui leur permet de tenir avec leur contexte d’exécution.

Ce compromis n’invalide pas l’expérience. Il la définit. PS5LM Plus montre qu’une console peut exécuter un modèle de 27 milliards de paramètres, mais le nombre de paramètres ne décrit à lui seul ni la qualité, ni la précision, ni les besoins en mémoire.

Les chiffres des modèles plus petits illustrent l’autre extrémité de ce compromis. Un modèle 3B tient confortablement en mémoire et génère beaucoup plus vite. Ces modèles peuvent gérer des résumés, de la classification, de la réécriture, de l’extraction structurée et des réponses basiques aux questions, selon leur entraînement.

Un serveur local peut également conserver les prompts sensibles sur le réseau domestique. Cela peut compter lorsque les utilisateurs travaillent avec des notes inédites, du code source ou des documents privés. Le bénéfice dépend du maintien local de l’ensemble du flux de travail, y compris les interfaces, les systèmes de récupération d’informations ou les applications connectées.

Le projet fournit une API compatible avec OpenAI, qui imite les formats de requêtes utilisés par une interface de modèles largement adoptée. Les applications compatibles peuvent pointer vers l’adresse réseau de la PS5 plutôt que vers un service distant, à condition de prendre en charge un endpoint personnalisé.

La compatibilité n’équivaut pas au remplacement. Les systèmes cloud offrent des modèles plus grands, une disponibilité gérée, des mises à jour continues et une infrastructure de sécurité étendue. Une console domestique offre un contrôle physique et évite la dépendance par requête à un service externe, mais le propriétaire doit gérer chaque composant.

L’expérience PS5 diffère également d’un PC IA conventionnel, car le matériel reste verrouillé dans la plateforme de Sony. Sa valeur repose sur une voie logicielle non officielle. Les acheteurs ne peuvent pas considérer ce résultat comme une capacité produit annoncée ni s’attendre à ce que Sony le prenne en charge.

Malgré cela, l’expérience remet en question les hypothèses sur l’endroit où l’inférence locale a sa place. Si une console de jeu peut servir des petits modèles utiles, alors les téléviseurs, routeurs, stations de travail, appareils portables et autres appareils inactifs méritent un examen plus attentif.

La question économique pertinente n’est pas de savoir si les consommateurs devraient acheter une PlayStation uniquement pour l’IA. Elle est de savoir si les appareils qu’ils possèdent déjà disposent d’assez de bande passante mémoire et de capacité de calcul accessibles pour des charges de travail privées utiles.

Cette question devient plus importante à mesure que les modèles à poids ouverts progressent. Un meilleur entraînement, des architectures plus petites et une quantification plus performante peuvent accroître les capacités sans exiger une croissance matérielle proportionnelle. Les améliorations logicielles peuvent donc rendre le matériel de jeu d’hier plus utile pour les tâches d’inférence de demain.

Une application native transforme la PS5 en serveur de modèles local

Le projet réussit en combinant trois composants existants : llama.cpp, un pilote Vulkan pour PS5 et une application homebrew native offrant un accès mémoire plus large.

Le premier composant est llama.cpp, qui exécute des modèles distribués au format GGUF. GGUF est un format de fichier conçu pour empaqueter les poids des modèles et les métadonnées associées pour l’inférence locale. Il prend en charge plusieurs niveaux de quantification et backends matériels.

L’utilisation de llama.cpp évite au projet de devoir créer un runtime de modèle de langage à partir de zéro. Son composant serveur fournit déjà le chargement des modèles, la génération de tokens, l’accès par navigateur et les endpoints API. Le travail sur PS5 se concentre sur l’adaptation de cette pile à un environnement d’exploitation inhabituel.

Le deuxième composant est le pilote Vulkan pour PS5, qui apporte le pilote RADV open source aux configurations homebrew prises en charge. RADV sert normalement le matériel graphique AMD sous Linux et les plateformes ouvertes associées. Son adaptation à la PS5 permet aux applications homebrew de soumettre des tâches au GPU sans les outils de développement propriétaires de Sony.

Le troisième composant est le titre natif lui-même. Son exécution comme application homebrew installée donne à PS5LM Plus une allocation de mémoire utilisable plus grande que l’ancien payload injecté. Elle permet aussi une interface télévisuelle pensée pour une manette.

Ensemble, ces éléments permettent à l’application de placer chaque couche du modèle sur le GPU, selon la documentation du projet. Conserver le modèle sur un seul appareil évite les transferts répétés entre la mémoire CPU et GPU pendant la génération.

La PS5 utilise une mémoire physique unifiée, mais les autorisations logicielles et les règles d’allocation déterminent toujours ce qu’une application peut atteindre. Une mémoire unifiée ne signifie pas que chaque processus obtient automatiquement un accès sans restriction à l’ensemble du pool.

C’est pourquoi l’empaquetage natif compte autant que les spécifications matérielles. La même console a produit des résultats radicalement différents lorsque l’application est passée d’un payload limité à un titre bénéficiant d’un accès GPU et à davantage de mémoire.

L’application doit malgré tout gérer cette mémoire avec soin. Les poids du modèle partagent l’espace avec le cache KV, les tampons d’exécution et les ressources graphiques. Augmenter la fenêtre de contexte peut obliger les utilisateurs à choisir un modèle plus petit ou un cache davantage compressé.

Le développeur signale une autre limitation inhabituelle. L’environnement natif ne libère pas toujours proprement chaque allocation lors d’un changement de modèle sur place. PS5LM Plus redémarre donc l’application lors du changement de modèles, rétablissant le pool mémoire disponible avant de charger le fichier suivant.

Ce comportement semblerait maladroit dans un appareil grand public abouti. Dans le cadre d’un projet homebrew expérimental, il constitue une réponse raisonnable aux contraintes de la plateforme. Le redémarrage rend le comportement mémoire prévisible et évite de laisser plusieurs gigaoctets indisponibles.

Le stockage constitue un autre volet pratique de la conception. L’application peut charger des fichiers GGUF depuis le stockage interne, un disque d’extension M.2 ou un support USB. Son interface de modèles estime si un fichier sélectionné et une configuration de contexte tiendront en mémoire.

Le serveur expose ensuite le chat aux autres appareils du réseau. Un téléphone peut fournir le clavier et l’écran pendant que la PS5 exécute l’inférence. C’est utile, car saisir de longs prompts avec une manette nuirait à l’expérience.

Cette conception en réseau crée aussi des cas d’usage plus crédibles que l’exécution du chat uniquement sur le téléviseur. Un développeur pourrait connecter un éditeur de code, un chercheur pourrait utiliser un client de navigateur, ou un foyer pourrait partager un point d’inférence privé.

Aucun de ces scénarios n’a été validé à l’échelle de la production. L’importance du projet réside dans l’établissement d’une voie technique fonctionnelle, et non dans la démonstration qu’une console est l’appareil idéal pour chaque charge de travail d’IA locale.

Il existe également une continuité historique. Le projet PS5LM original a établi le premier portage et la charge utile CPU. PS5LM Plus l’a étendu avec l’application GPU native. Le projet original a depuis intégré le travail GPU natif à sa propre application distincte, comme le montrent ses versions de PS5LM.

Cette collaboration, puis cette divergence, sont typiques du homebrew open source. Un développeur établit un portage minimal fonctionnel, un autre explore une voie de packaging différente, et les améliorations circulent par le biais des forks et des pull requests.

Le résultat compte au-delà de ce dépôt particulier. Le homebrew sur consoles dépend de plus en plus de pilotes graphiques, d’interfaces, de chargeurs et de systèmes de compilation réutilisables. Une fois ces fondations en place, une nouvelle application peut les combiner au lieu de résoudre chaque problème matériel de façon indépendante.

Le titre à 124 tokens masque de sérieuses limites

Le chiffre le plus rapide concerne le plus petit modèle testé, tandis que le modèle 27B plus grand dépend d’une compression intensive et tourne à environ un sixième de cette vitesse.

Un titre annonçant plus de 100 tokens par seconde semble comparable à un système d’IA haut de gamme. Sans le nom du modèle et sa configuration, ce chiffre en dit toutefois peu sur les capacités pratiques.

PS5LM Plus annonce 124 tokens par seconde pour un modèle Llama 3B. Le modèle Qwen 27B atteint environ 20 tokens par seconde. Ces modèles diffèrent par leur taille, leur entraînement, leur compression, leurs paramètres de contexte et la qualité de réponse attendue.

Le traitement des prompts diffère également de la génération de sortie. Un modèle peut ingérer les entrées à une vitesse et produire de nouveaux tokens à une autre. Les longs documents peuvent demander un temps perceptible avant le premier mot généré, même lorsque la réponse suivante est diffusée de manière fluide.

Une couverture indépendante des tests GPU de la PS5 confirme les configurations annoncées, mais repose largement sur les résultats publiés par le développeur. Des tests comparatifs étendus face aux GPU de bureau, mini PC et processeurs d’IA actuels font toujours défaut.

La qualité représente l’inconnue la plus importante. La quantification à deux bits peut préserver des capacités étonnantes pour certains modèles, mais les résultats varient selon l’architecture et la tâche. Une démonstration de chat réussie n’établit pas la fiabilité pour le code, la recherche factuelle ou le raisonnement complexe.

Le projet ne publie pas d’évaluation complète de la précision selon les niveaux de quantification. Les lecteurs devraient donc considérer le résultat 27B comme la preuve que le modèle fonctionne, et non comme la preuve qu’il se comporte comme un déploiement 27B moins compressé.

Le jailbreak constitue une autre contrainte décisive. PS5LM Plus exige une console compatible, un firmware, une chaîne d’exploit et plusieurs composants homebrew. Une PS5 commerciale ordinaire ne peut pas installer l’application via la boutique Sony ou les menus système pris en charge.

La compatibilité des firmwares fragmente aussi le public. Les utilisateurs qui mettent à jour leur console pour les jeux, les correctifs de sécurité ou les fonctions réseau peuvent perdre l’accès à un exploit particulier. Maintenir un jailbreak entre souvent en conflit avec l’utilisation de la console exactement comme Sony l’a prévu.

Les logiciels non officiels introduisent un risque opérationnel. Une installation défaillante peut nécessiter du dépannage, et les mises à jour des pilotes, chargeurs ou du runtime de modèles peuvent rompre la compatibilité. Aucun service d’assistance commercial n’est chargé de restaurer le système.

Les utilisateurs devraient également prendre en compte les règles de la plateforme et la sécurité. Le jailbreak retire ou contourne les contrôles qui protègent l’environnement logiciel de la console. Installer du code provenant de sources non fiables peut exposer les données, les identifiants ou l’appareil lui-même.

PS5LM Plus est open source, ce qui permet son inspection, mais la plupart des utilisateurs n’auditeront ni le code ni chacune de ses dépendances. Le projet indique qu’il n’inclut ni firmware Sony, ni clés, ni fichiers SDK propriétaires, ni poids de modèles. Cette séparation réduit certaines préoccupations juridiques et de distribution sans éliminer tous les risques pour l’utilisateur.

L’efficacité énergétique n’a pas encore fait l’objet d’un examen comparatif suffisant. Le tableau de bord affiche la puissance système et l’énergie par token, mais le débat public sur les performances se concentre principalement sur la vitesse de génération. Une comparaison utile mesurerait le même modèle et les mêmes paramètres sur la PS5, un mini PC intégré et un GPU de bureau discret.

La fiabilité reste également à démontrer. Une session de jeu sollicite le matériel différemment d’un serveur de modèles fonctionnant pendant de nombreuses heures. La surveillance de la température aide, mais le temps de fonctionnement soutenu, les chargements répétés de modèles et les requêtes simultanées de clients nécessitent des tests plus larges.

La mémoire est le plafond inévitable. Environ 11,4 Gio peuvent accueillir des modèles compressés capables, mais pas les plus grands systèmes à poids ouverts. L’augmentation du contexte concurrence directement la taille du modèle, surtout lorsque les applications joignent de longs documents ou des historiques de conversation.

La console manque également de la flexibilité d’évolution d’un ordinateur de bureau. Les utilisateurs ne peuvent pas simplement installer un GPU plus grand ou ajouter de la mémoire système générale. Le stockage peut être étendu, mais sa capacité ne remplace pas la mémoire de travail à haute vitesse.

Les machines dédiées à l’IA locale conservent des avantages importants. Elles prennent en charge des systèmes d’exploitation standard, des outils de développement plus larges, des pilotes matures, des composants remplaçables et une automatisation plus simple. Nombre d’entre elles peuvent exécuter le même logiciel llama.cpp sans jailbreak.

Les services cloud conservent des avantages différents. Ils donnent accès à des modèles plus grands, à une montée en charge multi-utilisateur et à des mises à jour gérées. Leurs inconvénients incluent une dépendance récurrente au service, la latence réseau, les considérations de confidentialité et l’évolution des politiques d’utilisation.

PS5LM Plus occupe donc un espace étroit mais significatif. C’est une réutilisation inventive du matériel existant pour les développeurs à l’aise avec le homebrew. Ce n’est pas une fonctionnalité d’IA prise en charge pour les propriétaires PlayStation ordinaires.

Cette distinction évite d’exagérer l’histoire. Le projet est notable parce qu’il révèle ce que la machine peut faire dans des conditions logicielles différentes, et non parce qu’il transforme instantanément le fonctionnement de millions de consoles.

Trois signaux montreront si l’IA sur console compte vraiment

La prochaine étape n’est pas une autre capture d’écran de vitesse maximale. Le projet a désormais besoin de tests de qualité reproductibles, de logiciels stables et de preuves que des personnes utilisent le serveur pour de vraies tâches.

Le premier signal est le benchmarking indépendant. Les testeurs doivent exécuter des fichiers GGUF identiques, les mêmes paramètres de quantification, longueurs de contexte et prompts sur la PS5 et du matériel d’IA locale ordinaire.

Ces tests devraient enregistrer la vitesse de traitement des prompts, la vitesse de génération, la latence du premier token, l’utilisation énergétique, la température et la qualité des sorties. Ils devraient également distinguer les conversations courtes des charges de travail à long contexte.

Si des résultats indépendants reproduisent les performances publiées, l’argument en faveur des consoles réutilisées se renforcera. Si la qualité chute nettement sous la compression requise, le titre sur le 27B comptera moins que les résultats des modèles plus petits.

Le deuxième signal est la convergence logicielle. PS5LM et PS5LM Plus existent désormais comme applications natives distinctes aux racines techniques communes. Leur activité de publication montrera si la communauté peut maintenir le runtime, les correctifs de pilotes, le processus d’installation et l’interface utilisateur.

Un changement stable de modèle serait particulièrement significatif. Supprimer les exigences de redémarrage, améliorer le nettoyage de la mémoire et documenter les défaillances récupérables rapprocherait le logiciel d’un appareil fiable.

Une prise en charge plus large des firmwares et du matériel renforcerait également l’argument. Un projet limité à un groupe restreint de consoles déjà jailbreakées reste une vitrine homebrew. La prise en charge de davantage de configurations en ferait une plateforme d’inférence locale réutilisable.

Le troisième signal est l’adoption réelle. Des preuves utiles incluraient des intégrations avec des outils de code, des systèmes domotiques, la recherche documentaire, des interfaces vocales privées ou des applications domestiques. Ces tâches vérifieraient si la console peut rester disponible et réactive hors d’une démonstration contrôlée.

L’adoption révélerait aussi si les utilisateurs acceptent les compromis. Une PS5 réutilisée peut sembler attrayante lorsqu’elle reste déjà inactive. Le calcul change si la console doit rester hors ligne, éviter les mises à jour ou cesser de servir des modèles dès que quelqu’un veut jouer.

Les modèles plus petits pourraient finalement compter davantage que la démonstration 27B. Ils démarrent plus vite, laissent davantage de place au contexte et génèrent des réponses à des vitesses plus élevées. Les améliorations continues des modèles compacts renforceraient PS5LM Plus sans modifier la console elle-même.

Le projet apporte aussi une leçon aux fournisseurs de matériel d’IA. La puissance de calcul brute n’est qu’une partie d’un produit d’inférence locale. L’accès mémoire, la prise en charge du runtime, le packaging des modèles, l’observabilité et des connexions client simples déterminent si cette puissance devient utile.

Pour les développeurs, l’opportunité immédiate est l’expérimentation. Le code publié offre un exemple concret d’adaptation d’un moteur d’inférence grand public à un matériel grand public restreint. Ses limites fournissent des problèmes d’ingénierie utiles en allocation mémoire, comportement des pilotes et conception d’interfaces.

Pour les acheteurs ordinaires, attendre est la réponse raisonnable. PS5LM Plus n’est pas une raison de modifier une console de jeu principale sans comprendre les implications de sécurité, de compatibilité et de compte. C’est la preuve d’une possibilité technique, et non une recommandation générale d’achat.

Pour le marché plus large de l’IA, le résultat le plus intéressant serait l’émergence d’une catégorie d’appareils d’inférence entretenus par la communauté et construits à partir de matériel sous-utilisé. Les consoles ne sont qu’un candidat parmi d’autres. Les anciennes stations de travail, PC portables, boîtiers multimédias et systèmes intégrés peuvent offrir des possibilités similaires lorsque les logiciels déverrouillent leurs accélérateurs.

Les modèles d’IA PS5LM Plus ont déjà franchi le premier seuil : ils s’exécutent nativement sur le GPU de la PlayStation 5 à des vitesses annoncées utiles. Le prochain seuil est plus difficile. La communauté peut-elle transformer ce résultat en travail fiable et mesurable qui justifie la charge de configuration ?

Surveillez les benchmarks indépendants, l’historique des versions et les premières intégrations durables. Ces signaux détermineront si PS5LM Plus restera une réussite homebrew mémorable ou deviendra un modèle pratique de réutilisation du matériel grand public.

 
 

Commencez pour Gratuit

Un premier assistant IA local avec gestion des connaissances personnelles

Pour une meilleure expérience IA,

remio ne supporte que Windows 10+ (x64) et M-Chip Macs actuellement.

Votre partenaire IA au travail
Faites-en plus avec remio

Planifiez. Créez. Livrez.
Tout au même endroit.

bottom of page