Pong propulsé par l'IA : commentaires en temps réel grâce à un LLM

2025-05-04
Pong propulsé par l'IA : commentaires en temps réel grâce à un LLM

xPong est un jeu de Pong avec une particularité : des commentaires d'IA en temps réel grâce à un LLM. Après cinq ans de développement, le créateur a utilisé gpt-4o-mini-tts d'OpenAI pour concrétiser cette vision. Le jeu simule 15 ans de tournois, présente des joueurs IA avec différents niveaux de compétences et possède un système de commentaires à trois niveaux (introduction, pendant le jeu et conclusion) qui s'adapte dynamiquement aux événements du match. Il établit même des parallèles avec des matchs précédents et ajoute des éléments humoristiques. xPong montre le potentiel passionnant des LLM dans le jeu vidéo.

Lire plus
Jeux

Ensemble de données de rebondissement d'interrupteur open source : une solution robuste de débruitage

2025-05-04
Ensemble de données de rebondissement d'interrupteur open source : une solution robuste de débruitage

Ce projet open source fournit une collection de traces d'oscilloscope illustrant le comportement de rebondissement des interrupteurs. Il inclut différents types d'interrupteurs (interrupteurs à bascule, boutons-poussoirs, etc.) testés sous différentes forces et vitesses d'actionnement. Les données sont disponibles aux formats CSV et PWL pour une utilisation dans la conception et la simulation d'algorithmes de débruitage pour les circuits et les micrologiciels. L'ensemble de données inclut des descriptions détaillées de la méthodologie de test et des équipements, ce qui en fait une ressource précieuse pour les ingénieurs.

Lire plus

Elvish : Un puissant langage de script statiquement lié

2025-05-04
Elvish : Un puissant langage de script statiquement lié

Elvish est un puissant langage de script avec des fonctionnalités interactives de shell. Il est disponible sous forme de binaire statiquement lié pour Linux, BSD, macOS et Windows. Bien qu'il soit antérieur à la version 1.0, ce qui signifie que des changements importants peuvent encore survenir, il est suffisamment stable pour une utilisation en script et interactive. La documentation utilisateur, y compris l'installation, les tutoriels et les actualités, est hébergée sur elv.sh. La documentation de développement se trouve dans le répertoire ./docs. Il existe également un écosystème croissant de paquets et d'outils Elvish.

Lire plus
Développement

Création de ROMs SNES avec C# grâce à DotnetSnes

2025-05-04
Création de ROMs SNES avec C# grâce à DotnetSnes

DotnetSnes est un projet révolutionnaire permettant de créer des ROMs SNES fonctionnelles en utilisant C#! Il fournit une bibliothèque .NET qui abstrait les fonctions et les variables globales du développement de jeux SNES. Les DLL compilées sont transpilées en C, puis compilées en ROM à l'aide du SDK PvSnesLib. Bien que les limitations du SNES (comme l'absence d'allocation dynamique de mémoire) nécessitent des compromis sur le style de codage C# idiomatique, des jeux entièrement fonctionnels sont possibles. L'article détaille le processus de développement, l'installation des dépendances, la configuration du projet et les étapes de compilation, en présentant deux exemples : HelloWorld (affichage de texte basique) et LikeMario (jeu plus complexe basé sur une carte de tuiles).

Lire plus

Améliorez votre chargeur de démarrage GRUB : Une liste de thèmes triés sur le volet et un guide de personnalisation

2025-05-04
Améliorez votre chargeur de démarrage GRUB : Une liste de thèmes triés sur le volet et un guide de personnalisation

Fatigué du même vieux chargeur de démarrage GRUB ? Cet article propose une liste de thèmes GRUB de haute qualité et un guide pour les personnaliser facilement. Du changement d'images de fond et de polices à l'ajustement des palettes de couleurs et même à la création d'un fond cyclique, vous pouvez personnaliser votre expérience de démarrage. Des outils utiles sont également recommandés, tels que ceux permettant de télécharger des fichiers GitHub et de modifier les paramètres GRUB.

Lire plus

Un Tour d'Horizon Express du Langage de Programmation J

2025-05-03
Un Tour d'Horizon Express du Langage de Programmation J

Cette introduction concise au langage de programmation J s'adresse aux programmeurs ayant une certaine expérience. Elle couvre les concepts de base tels que les types de données, les fonctions, les modificateurs, les tableaux, les structures de contrôle et la gestion des erreurs, le tout dans une approche pratique. Les lecteurs sont encouragés à exécuter les exemples fournis et à lire les commentaires. Des liens et des ressources essentielles sont inclus pour faciliter l'apprentissage rapide.

Lire plus
Développement programmation matricielle

Résolveur DNS sans serveur : serverless-dns prend son envol

2025-05-03
Résolveur DNS sans serveur : serverless-dns prend son envol

serverless-dns est un résolveur DNS stub sans serveur de type Pi-Hole, prenant en charge DNS-over-HTTPS (DoH) et DNS-over-TLS (DoT). Il fonctionne sur les plateformes Cloudflare Workers, Deno Deploy, Fastly Compute@Edge et Fly.io, en tirant parti des niveaux gratuits pour les cas d'utilisation à faible trafic. Avec des temps de réponse de l'ordre de la milliseconde, il gère efficacement ~13 millions d'entrées provenant de plus de 190 listes de blocage à l'aide d'un trie de radix succinct. Ce projet open source permet des configurations personnalisées, le chargement des journaux et offre une solution DNS légère et performante.

Lire plus

ANEMLL : Accélération des LLMs sur le Neural Engine d'Apple

2025-05-03
ANEMLL : Accélération des LLMs sur le Neural Engine d'Apple

ANEMLL est un projet open source axé sur l'accélération des grands modèles de langage (LLM) sur les processeurs tensoriels, en commençant par le Neural Engine d'Apple (ANE). Il fournit un pipeline open source complet, de la conversion du modèle (à partir de Hugging Face) à l'inférence sur ANE, permettant une inférence transparente sur l'appareil pour les applications de faible puissance en périphérie, maximisant ainsi la confidentialité et la sécurité. Il prend actuellement en charge des modèles tels que LLaMA 3.1 et propose des exemples de code Swift et Python, ainsi que des applications iOS/macOS. Il s'agit d'une version alpha, donc des améliorations de la quantification sont attendues.

Lire plus
Développement Neural Engine Apple

Publication du code source : QModem 4.51, un programme de communication MS-DOS classique

2025-05-03
Publication du code source : QModem 4.51, un programme de communication MS-DOS classique

Le code source de QModem 4.51, un programme de télécommunications MS-DOS créé par John Friel III (1960-2024), a été publié. Cette édition « Test-Drive » de 1992 offre des fonctionnalités telles que la prise en charge de divers protocoles modem, des scripts, la personnalisation, la configuration automatique et même un mode hôte. Un artefact historique précieux pour les passionnés de télécommunications, les amateurs de rétro-informatique et toute personne intéressée par les logiciels DOS classiques. Cependant, la compilation nécessite Turbo Pascal 5.x/6.0 et diverses dépendances, ainsi que la gestion des superpositions : une tâche difficile.

Lire plus
Développement

pipask : Installation sécurisée de paquets Python

2025-05-03
pipask : Installation sécurisée de paquets Python

pipask est une alternative plus sûre à pip, ajoutant des vérifications de sécurité avant l'installation de paquets Python. Il privilégie l'utilisation des métadonnées PyPI, évitant le téléchargement et l'exécution de code autant que possible. Si l'exécution de code tiers est nécessaire, pipask demande le consentement de l'utilisateur. Après avoir effectué les vérifications, notamment la popularité du dépôt, l'âge du paquet, les vulnérabilités connues, le nombre de téléchargements PyPI et la vérification des métadonnées, il présente un rapport formaté et demande l'approbation. Après approbation, il transfère l'installation à pip standard.

Lire plus
Développement

Proxy LLM distant comme modèle local en Kotlin : une aubaine pour l’assistant IA de JetBrains

2025-05-03
Proxy LLM distant comme modèle local en Kotlin : une aubaine pour l’assistant IA de JetBrains

En raison de la limitation du quota gratuit de l’assistant IA de JetBrains, l’auteur a développé une application Kotlin/Ktor qui agit comme proxy pour plusieurs API LLM, telles qu’OpenAI, Claude et Gemini, en tant qu’API LM Studio et Ollama, permettant leur utilisation dans les IDE JetBrains. Tirant parti de fonctionnalités sans réflexion, elle est construite comme une image native GraalVM pour une compatibilité multiplateforme et un démarrage rapide. Elle prend en charge le chat en streaming, une configuration simple et le rechargement à chaud.

Lire plus
Développement Assistant IA JetBrains

Émulation cycle-exacte du Commodore 64 sur microcontrôleurs bon marché

2025-05-03
Émulation cycle-exacte du Commodore 64 sur microcontrôleurs bon marché

Connomore64 est un projet qui réalise une émulation cycle-exacte du Commodore 64 à l'aide de multiples microcontrôleurs RP2040/RP2350 bon marché et parallèles. Initialement un projet de vacances visant à explorer les capacités des PIOs du RP2040, il a évolué en un émulateur précis exécutant la plupart des jeux et une partie des démos, et interagissant même avec du matériel C64 original comme les lecteurs de disquettes. Bien qu'il soit encore en développement, il démontre le potentiel d'exécution de logiciels gourmands en calcul sur du matériel peu coûteux et fournit une infrastructure pour l'émulation parallèle utilisant plusieurs RP2040/RP2350.

Lire plus
Matériel

Entraîner des robots avec Pi0, Lerobot et Rerun : une approche de reciblage du mouvement de pose humaine

2025-05-02
Entraîner des robots avec Pi0, Lerobot et Rerun : une approche de reciblage du mouvement de pose humaine

Ce projet explore l’entraînement de robots à l’aide de Pi0, Lerobot et Rerun. Il est compatible avec Linux et utilise le gestionnaire de paquets Pixi. Le projet comprend l’étalonnage de la caméra, l’analyse de la pose et de la cinématique humaine, et l’extraction des positions et des angles des articulations 3D à partir d’images multivues. L’objectif final est de convertir des séquences vidéo multi-caméras synchronisées en paramètres d’articulation angle-axe et en positions 3D utilisables par les robots pour le reciblage du mouvement et l’apprentissage de compétences motrices fines. Des tutoriels Jupyter Notebook sont fournis, couvrant la pose et la cinématique humaines, le reciblage de la pose du corps et de la main, et l’apprentissage par imitation et la téléopération.

Lire plus

BLAST : Un moteur de service hautes performances pour l'IA de navigation web

2025-05-02
BLAST : Un moteur de service hautes performances pour l'IA de navigation web

BLAST est un moteur de service hautes performances pour l'IA de navigation web, offrant une API compatible avec OpenAI avec concurrence et streaming intégrés. Il met automatiquement en cache et parallélise les tâches pour réduire les coûts et permettre des latences interactives. Une simple commande `pip install blastai && blastai serve` permet de l'utiliser localement, sans se soucier du budget ou de la consommation excessive de mémoire. Son API compatible avec OpenAI facilite l'intégration, diffusant en temps réel la sortie du LLM enrichie par le navigateur.

Lire plus
Développement

Démo d'inférence GPT-2 dans le navigateur avec WebGL2

2025-05-02
Démo d'inférence GPT-2 dans le navigateur avec WebGL2

Ce projet impressionnant apporte la passe en avant complète du modèle GPT-2 small (117M de paramètres) au navigateur à l'aide de WebGL2. En tirant parti des shaders WebGL2 pour le calcul sur GPU et de js-tiktoken pour la tokenisation BPE (pas besoin de WASM), il exécute GPT-2 directement dans le navigateur. Un script Python télécharge les poids pré-entraînés, et le front-end est construit avec Vite pour le remplacement de modules à chaud. C'est un excellent exemple de l'apport de modèles d'IA avancés au navigateur, montrant les capacités de pointe des technologies web.

Lire plus
IA

OSle : Un système d'exploitation de 510 octets pour le secteur de démarrage

2025-05-02
OSle : Un système d'exploitation de 510 octets pour le secteur de démarrage

OSle est un système d'exploitation minuscule (510 octets) en mode réel, résidant entièrement dans le secteur de démarrage. Écrit en assembleur x86, il possède étonnamment un shell, un système de fichiers, une gestion des processus, des logiciels pré-construits et un SDK pour développer vos propres programmes. L'article fournit des instructions détaillées pour l'installation, la compilation, l'exécution d'OSle localement (à l'aide de Bochs ou QEMU) et même son exécution sur un véritable périphérique (avec un avertissement important !). Une démo en ligne et un tutoriel sont également disponibles. Il s'agit d'un projet fascinant pour ceux qui s'intéressent aux systèmes d'exploitation et à la programmation de bas niveau.

Lire plus
Développement assembleur x86

Kubetail : Tableau de bord de journalisation Kubernetes en temps réel

2025-05-01
Kubetail : Tableau de bord de journalisation Kubernetes en temps réel

Kubetail est un tableau de bord de journalisation en temps réel pour Kubernetes, optimisé pour suivre les journaux des charges de travail multiconteneurs. Avec Kubetail, vous pouvez afficher les journaux de tous les conteneurs d'une charge de travail (par exemple, Deployment ou DaemonSet) fusionnés en une seule chronologie, livrée à votre navigateur ou terminal. Le principal point d'entrée de Kubetail est l'outil CLI kubetail, qui peut lancer un tableau de bord web local sur votre bureau ou streamer les journaux bruts directement sur votre terminal. En coulisses, Kubetail utilise l'API Kubernetes de votre cluster pour récupérer les journaux directement de votre cluster, il fonctionne donc immédiatement sans avoir besoin de transférer vos journaux vers un service externe au préalable. Kubetail utilise également votre API Kubernetes pour suivre les événements du cycle de vie des conteneurs afin de maintenir votre chronologie de journaux synchronisée à mesure que les conteneurs démarrent, s'arrêtent ou sont remplacés. Cela facilite le suivi continu des journaux à mesure que les demandes des utilisateurs passent d'un conteneur éphémère à un autre à travers les services.

Lire plus

Changesets : simplification de la gestion des versions et des journaux de modifications pour les dépôts multi-paquets

2025-05-01
Changesets : simplification de la gestion des versions et des journaux de modifications pour les dépôts multi-paquets

Changesets est un outil conçu pour simplifier la gestion des versions et des journaux de modifications, en particulier pour les dépôts multi-paquets. Il permet aux contributeurs de déclarer comment leurs modifications doivent être publiées, puis automatise la mise à jour des versions des paquets, des journaux de modifications et la publication de nouvelles versions en fonction de ces informations. Changesets excelle dans la résolution des complexités de la gestion des versions dans les dépôts multi-paquets, en maintenant les paquets interdépendants à jour et en simplifiant les modifications sur des groupes de paquets. Il utilise des fichiers changeset pour définir les intentions de publication, et un outil CLI combine plusieurs changesets en une seule publication, gère les dépendances internes, met à jour les journaux de modifications et publie tous les paquets mis à jour à partir d'un monorepository avec une seule commande. Une documentation complète, des recommandations d'intégration CI et une action GitHub pour automatiser les demandes d'extraction de versionnement et la publication sont également fournies.

Lire plus

ART : Amélioration des performances des LLM avec des modifications de code minimales grâce au RL

2025-04-30
ART : Amélioration des performances des LLM avec des modifications de code minimales grâce au RL

Agent Reinforcement Trainer (ART) est une bibliothèque d'apprentissage par renforcement open source conçue pour améliorer les performances des grands modèles de langage (LLM) dans les workflows d'agents. Utilisant le puissant algorithme GRPO, ART entraîne les modèles à partir de leurs propres expériences. Contrairement à la plupart des bibliothèques RL, ART s'intègre parfaitement aux bases de code existantes, déchargeant la complexité de la boucle d'entraînement RL sur son backend. ART se compose d'un client (pour interagir avec votre code) et d'un serveur (gérant l'inférence et l'entraînement). La boucle d'entraînement implique l'inférence (collecte de données et attribution de récompenses) et l'entraînement (utilisation de GRPO pour entraîner le modèle et mettre à jour les LoRAs). ART prend en charge la plupart des modèles de langage causal compatibles avec vLLM/HuggingFace Transformers. Actuellement en version alpha, ART accepte les contributions.

Lire plus
Développement

DeepSeek-Prover-V2 : Faire progresser le raisonnement mathématique formel grâce à l'apprentissage par renforcement

2025-04-30
DeepSeek-Prover-V2 : Faire progresser le raisonnement mathématique formel grâce à l'apprentissage par renforcement

DeepSeek-Prover-V2 est un grand modèle de langage open source conçu pour la démonstration formelle de théorèmes en Lean 4. Il utilise un pipeline de démonstration de théorèmes récursif alimenté par DeepSeek-V3 et l'apprentissage par renforcement pour intégrer le raisonnement mathématique informel et formel. Le modèle commence par décomposer les problèmes complexes en sous-objectifs à l'aide de DeepSeek-V3, synthétisant les preuves de ces sous-objectifs pour créer des données initiales pour l'apprentissage par renforcement. DeepSeek-Prover-V2-671B atteint des performances de pointe, atteignant un taux de réussite de 88,9 % sur MiniF2F-test et résolvant 49 problèmes de PutnamBench. Un nouvel ensemble de données de référence, ProverBench, contenant 325 problèmes formalisés issus de compétitions de lycée et de manuels scolaires, est également présenté.

Lire plus

Raven : le nouvel écosystème d'apprentissage automatique d'OCaml

2025-04-30
Raven : le nouvel écosystème d'apprentissage automatique d'OCaml

Raven est un écosystème complet qui apporte l'apprentissage automatique et la science des données à OCaml. Il offre des bibliothèques qui reflètent les outils populaires de Python, tels que NumPy (avec Ndarray), Jupyter (avec Quill) et JAX (avec Rune), en visant la facilité d'utilisation de Python tout en tirant parti de la sécurité des types et des performances d'OCaml. Actuellement en pré-alpha, Raven dispose d'un ensemble croissant d'outils pour le calcul numérique, la visualisation (Hugin) et plus encore, promettant une alternative convaincante pour les scientifiques des données à la recherche d'un langage plus sûr et plus rapide.

Lire plus
Développement

L'art de dire non : une API légère pour des refus élégants

2025-04-30
L'art de dire non : une API légère pour des refus élégants

Fatigué de lutter pour refuser poliment les demandes ? Cette API légère, "No as a Service", offre des milliers de raisons créatives et humoristiques pour un refus dans n'importe quelle situation. Facile à intégrer dans les applications, les bots, les pages d'atterrissage, etc., elle aide même à rédiger des lettres de refus spirituelles. Le code open source est simple à exécuter, ce qui en fait un outil amusant et efficace pour dire "non" avec style.

Lire plus
Développement Raisons de refus Léger

MiMo-7B : Un modèle de langage de 7 milliards de paramètres pour le raisonnement surpasse les modèles de 32 milliards de paramètres

2025-04-30
MiMo-7B : Un modèle de langage de 7 milliards de paramètres pour le raisonnement surpasse les modèles de 32 milliards de paramètres

Xiaomi présente MiMo-7B, un modèle linguistique de 7 milliards de paramètres conçu pour le raisonnement. Grâce à des données et des stratégies de pré-entraînement optimisées, ainsi qu'à des techniques innovantes d'apprentissage par renforcement, MiMo-7B démontre des performances exceptionnelles sur les tâches de raisonnement mathématique et de codage, surpassant même les modèles de 32 milliards de paramètres plus importants. Le modèle open source inclut des points de contrôle pour le modèle de base, le modèle SFT et les modèles entraînés par RL, offrant des ressources précieuses pour le développement de LLM de raisonnement puissants.

Lire plus

Exécuter Linux dans Excel : Un hack amusant

2025-04-30
Exécuter Linux dans Excel : Un hack amusant

Un développeur a réussi à exécuter un système Linux dans Microsoft Excel ! En utilisant un émulateur léger appelé mini-rv32ima, compilé en tant que DLL et appelé via des macros VBA, le développeur a réussi à afficher la sortie de Linux directement dans les cellules Excel. Bien que le projet soit avéré bogué et que l'auteur admette avoir utilisé une DLL externe au lieu de réécrire l'émulateur en VBA ou en formules Excel, il s'agit d'une expérience créative et amusante qui met en évidence l'ingéniosité et les compétences en programmation.

Lire plus
Développement

AgenticSeek : Une alternative privée et locale à Manus AI

2025-04-29
AgenticSeek : Une alternative privée et locale à Manus AI

AgenticSeek est un assistant IA entièrement local et à commande vocale qui navigue sur le web, écrit du code et planifie des tâches de manière autonome, tout en conservant toutes les données sur votre appareil. Conçu pour les modèles de raisonnement locaux, il assure une confidentialité totale et aucune dépendance au cloud. Il prend en charge plusieurs langages de programmation et sélectionne automatiquement le meilleur agent IA pour chaque tâche. Le projet est open source et recherche activement des contributeurs.

Lire plus
IA

Neurox : Simplifier la surveillance des charges de travail IA avec un graphique Helm

2025-04-29
Neurox : Simplifier la surveillance des charges de travail IA avec un graphique Helm

Neurox simplifie la surveillance des charges de travail d'IA sur votre cluster Kubernetes GPU. Son graphique Helm automatise l'installation, en provisionnant un sous-domaine, des identifiants de registre d'images, un IdP et des certificats TLS. Des tableaux de bord et des rapports pré-construits combinent des métriques et des données en temps réel de l'exécution Kubernetes pour les administrateurs, les développeurs, les chercheurs et les auditeurs. Gratuit pour jusqu'à 64 GPU (GPU NVIDIA uniquement), avec des licences d'entreprise disponibles. Les prérequis incluent un cluster Kubernetes, cert-manager, ingress-nginx, l'opérateur NVIDIA GPU et Kube Prometheus Stack.

Lire plus

Beatsync : Un lecteur audio web haute précision pour plusieurs appareils

2025-04-29
Beatsync : Un lecteur audio web haute précision pour plusieurs appareils

Beatsync est un lecteur audio web haute précision conçu pour la lecture sur plusieurs appareils. Il offre une synchronisation précise à la milliseconde utilisant des primitives inspirées de NTP, une compatibilité multiplateforme (Chrome recommandé), des capacités audio spatiales pour des effets sonores uniques via des sources d'écoute virtuelles et une interface soignée. Il est également auto-hébergeable avec une configuration minimale. Actuellement en développement initial, le support complet est limité aux navigateurs Chrome de bureau, tandis que la synchronisation mobile est expérimentale et peut être instable.

Lire plus

CoRT : Faire réfléchir l'IA de manière récursive pour des performances supérieures

2025-04-29
CoRT : Faire réfléchir l'IA de manière récursive pour des performances supérieures

CoRT (Chain of Recursive Thoughts) améliore considérablement les performances de l'IA en forçant le modèle à affiner ses réponses de manière répétée. Le modèle génère plusieurs réponses alternatives, les évalue et sélectionne la meilleure, imitant l'autodoute et l'amélioration itérative. Des tests avec Mistral 3.1 24B ont montré une amélioration spectaculaire des tâches de programmation. La magie réside dans l'auto-évaluation, la génération d'alternatives compétitives, le raffinement itératif et la profondeur de pensée dynamique. Le projet est open-source et accepte les contributions.

Lire plus

ArkFlow : Moteur de traitement de flux Rust hautes performances

2025-04-29
ArkFlow : Moteur de traitement de flux Rust hautes performances

ArkFlow est un moteur de traitement de flux hautes performances basé sur Rust et Tokio, offrant de puissantes capacités de traitement de flux de données. Il prend en charge plusieurs sources d'entrée/sortie (Kafka, MQTT, HTTP, fichiers, etc.) et processeurs (JSON, SQL, Protobuf, etc.), avec une configuration YAML flexible. Les fonctionnalités intégrées incluent les requêtes SQL, le traitement JSON et l'encodage/décodage Protobuf. ArkFlow est hautement extensible et inclut la mise en mémoire tampon pour la gestion de la contre-pression et diverses options de sortie d'erreur. Commencez par cloner le référentiel et suivez les instructions simples de compilation et d'exécution.

Lire plus
Développement Traitement de données

ROSplat : Visualiseur en ligne basé sur ROS2 et Gaussian Splatting

2025-04-29
ROSplat : Visualiseur en ligne basé sur ROS2 et Gaussian Splatting

ROSplat est le premier visualiseur en ligne basé sur ROS2 utilisant le Gaussian splatting pour rendre des scènes 3D complexes en temps réel. Il gère efficacement des millions de gaussiennes grâce à des messages ROS2 personnalisés et des techniques de tri et de rendu accélérées par GPU. Il prend en charge le chargement de données à partir de fichiers PLY et s'intègre aux outils ROS2 tels que l'enregistrement de bags. Une carte graphique NVIDIA est recommandée pour des performances optimales. Les options d'installation incluent pip ou Docker. Développé par Shady Gmir avec les remerciements à Qihao Yuan et Kailai Li pour leurs conseils.

Lire plus
Développement
1 2 20 21 22 24 26 27 28 50 51