↩ Accueil

Vue normale

Hier — 14 janvier 2025Programmez!

Mecha Comet : un PC portable sous Linux modulaire 100 % geek

14 janvier 2025 à 18:43

Mecha Comet a l'ambition de créer un device portable dédié à programmatioon sous Linux. La plateforme se présente comme une grosse GameBoy. Elle peut être console, ordinateur, poste de développement, etc. On dispose d'une plateforme de base et de modules que l'on ajoute facilement via un connecteur dédié. On disposera ainsi d'une gamepad, d'un module GPIO ou encore d'un clavier. Mecha Comet peut être un téléphone, un drone, un nano satellite, un ordinateur embarqué ou tricoder à la Star Trek :-)

Le bus d'extension est open source. Il sera possible de proposer des modules tiers. Il sera même possible d'utiliser une carte Hat de la Raspberry Pi. 

La plateforme matérielle inclut un processeur ARM 64, Ethernet 1 Gb/s, 32 Go de stockage Flash, 4 Go de RAM, un module de cryptographie, un port M.2 (via un bus PCIe), un écran 3,5'', un gyroscope 6 axes. Il se veut facilement réparable. 

Le tout est animé par un Mechanix OS, un Linux packagé. Le shell est codé en Rust. Il supporte Wayland. La partie développement est partiellement accessible sur le GitHub mecha-org. 

Bref, beaucoup de promesses pour un projet qui n'est pas encore lancé. Une campagne kickstarter devrait démarrer d'ici mars 2025. La première série pourrait être disponible vers avril / mai. Le prix serait de 159 $ pour la version de base. 

Pour en savoir plus : https://mecha.so/

Catégorie actualité: 
Image actualité AMP: 

Sigil 2.4.0 : créer rapidement vos ePub

14 janvier 2025 à 11:26

Sigil est un logiciel open source pour créer et éditer vos ebooks. Il se veut le plus simple possible avec une interface complète. L'outil est disponible en version 2.4.0. Elle apporte de nombreuses évolutions et corrections de bug :

- nouveau menu contextel pour les options XHTML

- sémantique multiple par un même fichier XHTML

- debug plus simple avec un IDE

- installateur à jour sur Windows et fonctionne aussi sur Windows ARM

- intégration de Qt 6.7.3 et PySide 6

L'outil est gratuit et les sources sont sur GitHub, sous licence GPLv3. Il supporte les formats ePub 2 et ePub 3. Deux outils sont disponibles : Sigil pour la partie ePub et PageEditor, un éditeur XHTML. Ce dernier vient en complémenter à Sigil. 

Sigil supporte UTF-16. On dispose aussi d'une double vue : code et prévisualisation. Pratique pour contrôler au fur et à mesure le rendu final. Il génère la table de contenus et il est localisé en plusieurs langues. 

Site : https://github.com/Sigil-Ebook/Sigil

Catégorie actualité: 
Image actualité AMP: 

JavaScript : vers une guerre de marques entre Deno et Oracle ?

14 janvier 2025 à 08:05

22 novembre 2024 : Deno, l'alternative à Node, lance une pétition pour annuler purement et simplement la marque JavaScript appartenant à Oracle. Selon Deno, cette annulation est importante : "This marks a pivotal step toward freeing “JavaScript” from legal entanglements and recognizing it as a shared public good.". 

Toujours selon Deno, cette propriété du nom de JavaScript limite l'utilisation du nom par la communauté avec les craintes d'une réaction d'Oracle. Des conférences pourraient s'appeler JavaScript Conference et non JSConf. Et la spécification du langage pourrait enfin arrêter de s'appeler ECMAScript. On rappelle que ECMAScript ne sert pas uniquement à JavaScript.

Les arguments de Deno sont :

- JavaScript est un terme générique

- Oracle aurait donné de fausses preuves à l'USPTO pour renouveler la marque en prétextant une utilisation commerciale du nom JavaScript par Node.js. 

- Oracle a abandonné la marque de facto par sa non utilisation.

Oracle a répondu qu'il n'allait pas se défaire de sa marque et qu'il allait répondre à cette requête. Deno a répliqué : nous montrerons que JavaScript est un terme générique et non contrôlé par Oracle. Si Oracle ne fait rien avant le 3 février, la propriété du nom JavaScript se tranchera dans un tribunal. Mais le processus sera long selon Infoworld : 

- début du processus juridique le 5 mars

- dépôt des éléments jusqu'au 1er septembre

- les arguments pourront être rendus publics à l'automne

- possibilité d'une audience peut être déposé le 8 juillet 2026

A l'origine, rappelons que JavaScript fut conçu par Sun dès 1995. L'implémentation est réalisée en 1996. Sun dépose la marque en mai 1997. Le rachat de Sun par Oracle fait que l'ensemble des marques appartenant à Sun appartiennent à Oracle. 

Catégorie actualité: 
Image actualité AMP: 
À partir d’avant-hierProgrammez!

Global Game Jam à l'ESIEE-IT de Pontoise du 24 au 26 janvier

13 janvier 2025 à 17:58

Le campus de l'ESIEE-IT de Pontoise accueillera du 24 au 26 février la Global Game Jam ! Créer un jeu vidéo en équipe et en un temps record, tout en découvrant les bases du code et de la programmation, c'est le défi que propose l'école. Cet événement international, qui se déroule simultanément dans plus de 100 pays et rassemble développeurs et créatifs autour d’un thème imposé, offre une opportunité de collaboration et de création. En parallèle, l’école organise des ateliers pour collégiens et lycéens, leur permettant de découvrir les coulisses de la création vidéoludique.

Durant 48h, le campus d’ESIEE-IT se transformera en un véritable laboratoire de création où les participants travailleront en collaboration pour donner vie à leurs idées. À partir du thème dévoilé le vendredi soir, chaque équipe concevra un jeu vidéo en respectant des contraintes précises et un temps limité.

Début de l'événement : le 24 janvier à 18h30. 

Détail de l'événement : https://globalgamejam.org/jam-sites/2025/global-game-jam-cergy-esiee-it

Catégorie actualité: 
Image actualité AMP: 

Cirq : le framework Python pour la programmation quantique de Google

13 janvier 2025 à 11:41

Google croit beaucoup à la technologie quantique. Les équipes travaillent sur l'ordinateur quantique mais aussi la partie logicielle et particulièrement sur les outils de développement. L'éditeur propose un framework open source Python dédié à programmation quantique : Cirq. 

"Cirq est une bibliothèque logicielle Python permettant d'écrire, de manipuler et d'optimiser des circuits quantiques, puis de les exécuter sur des ordinateurs quantiques et des simulateurs quantiques. Cirq fournit des abstractions utiles pour gérer les ordinateurs quantiques avec le niveau de bruits actuels, où les détails du matériel sont essentiels pour obtenir des résultats optimum." précise le site officiel. 

Basiquement, Cirq repose sur les fonctions suivantes :

- les circuits : apprendre à construire un circuit quantique avec des portes et des qubits

- le matériel : les programmes Cirq peuvent s'exécuter sur une vraie machine quantique

- la simulation : des simulateurs sont disponibles pour Cirq, Qsim et QVM

Des exemples sont disponibles les débutants et les développeurs expérimentés. 

Cirq est en Python. Il est disponible sur Linux, macOS et Windows. Il faut Python 3.10 minimum et un environnement virtuel. L'installation est simple : 

python -m pip install --upgrade pip
python -m pip install cirq

La syntaxe se veut claire et aussi simple que possible :

import cirq

# Pick a qubit.
qubit = cirq.GridQubit(0, 0)

# Create a circuit
circuit = cirq.Circuit(
cirq.X(qubit)**0.5, # Square root of NOT.
cirq.measure(qubit, key='m') # Measurement.
)
print("Circuit:")
print(circuit)

# Simulate the circuit several times.
simulator = cirq.Simulator()
result = simulator.run(circuit, repetitions=20)
print("Results:")
print(result)


Un bon moyen de découvrir la programmation quantique ?

Site : https://quantumai.google/cirq

Catégorie actualité: 
Image actualité AMP: 

Debian 13 : version alpha, Linux 6.12 LTS, RISC-V 64

13 janvier 2025 à 08:48

La distribution Debian continue d'évoluer. La mise à jour 12.9 corrige plusieurs de 110 bugs et failles de sécurité. Fin décembre, la 1ere version alpha de la future 13.0 (Trixie) a été distribuée.

Cette version annonce du lourd :

- noyau Linux 6.12 LTS : cette version devrait être la version par défaut

- 1er support de l'architecture RISCV64 : cette architecture est la version 64 bits du RISC-V

- retrait dans l'Alpha 1 des supports des architectures CPU ARMel et i386

- nouveau thème par défaut : Ceratopsian

- retrait des packages non free firmware

- mise à jour plus de 42 800 packages dont GNOME, KDE Plasma, MATe, LibreOffice, MariaDB, etc. 

- support du Secure Boot sur architecure ARM64

Documentation de Trixie : https://www.debian.org/releases/trixie/release-notes/whats-new.en.html

Catégorie actualité: 
Image actualité AMP: 

Kord : recréer un Nabaztag

13 janvier 2025 à 07:50

Il y a quelques jours, Sylvain Gougouzian auteur de l'excellent slidesk, a lancé un nouveau projet père/fils : créer un Nabaztag/tag de 0 utilisant une Arduino et tout ce qu'il faut pour animer le lapin. Le projet est ambitieux car il faut concevoir le form factor, intégrer l'ensemble des capteurs et de l'électronique, sans doute définir un PCB et concevoir les couches logicielles. 

Parmi les services attendus, on devrait bénéficier de l'horloge, du temps, des appels, de la notification des mails, etc. 

Nous sommes impatients de voir le projet évolué de mois en mois ! Site officiel : https://github.com/gouz/kord/tree/main

Catégorie actualité: 
Image actualité AMP: 

WordPress : Matt Mullenweg bloque des contributeurs pour rumeurs de fork !

13 janvier 2025 à 07:33

Nouvelle épisode dans la guerre Automattic - Matt Mullenweg - WP Engine. Après avoir réduit drastiquement les ressources d'Automattic dans le développement de WordPress, Matt Mullenweg s'attaque de nouveau aux contributeurs de la plateforme (Joost, Karim, Se Reed, Heather Burns, Morten). Ces contributeurs ont vu leur compte suspendu de force. La raison : Mullenweg évoque que ces contributeurs planifieraient un fork de WordPress. Il s'agit d'une mesure de rétorsion envers WP Engine et les critiques contre Automattic et lui-même dans la gestion de WordPress.

Joost de Valk parlait en décembre de mettre en place des sites miroirs pour les plugins et les templates. Il dément toute volonté de créer un fork, même réaction de Karim, l'autre contributeur suspendu. 

Depuis des mois, la gouvernance de Wordpress et l'attitude de Mullenweg sont critiqués. Cela ne va pas aider à apaiser la communauté. WordPress est finalement le grand perdant de cette guerre.

Catégorie actualité: 
Image actualité AMP: 

Supports of Chromium Based browsers : sauvons Chrome !

13 janvier 2025 à 07:13

C'était en novembre dernier, Google était reconnu comme un monopole sur le moteur de recherche. Chrome pourrait être la 1ere victime de cette opposition gouvernement américain et Google. Même si l'intérêt de forcer Google à se séparer de Chrome ne saute pas au yeux, cela est suffisant pour que le géant de la tech réagisse. 

C'est chose faite, au moins partiellement : la fondation Linux annonce la création des amis de Chromium. Cette initiative est là pour soutenir les navigateurs utilisant Chromium et développer l'écosystème. Il doit créer un environnemen neutre et indépendant. Les fondateurs de ce club sont Google, Meta, Microsoft et Opera. « Avec le soutien incroyable de la Linux Foundation, nous pensons que les Supporters of Chromium-Based Browsers constituent une opportunité importante de créer une plateforme durable pour soutenir les leaders de l'industrie, les universitaires, les développeurs et la communauté open source au sens large dans le développement et l'innovation continus de l'écosystème Chromium », a déclaré Parisa Tabriz, vice-présidente de Chrome.

Chromium était jusqu'à présent gouverné et développé par Google. Cette initiative doit garantir un indépendance des développements même si les fondateurs vont peser fortement sur les directions prises. C'est un moyen pour Google de dire que Chromium n'est plus lié directement à Google même si l'équipe Chrome continue à être la plus importante dans son développement. Cela permet aussi d'inciter les autres navigateurs basés sur Chromium de financer plus largement la plateforme et d'aider à son développement. Cela permet à terme de réduire l'important de Google. 

Catégorie actualité: 
Image actualité AMP: 

tiny11 : réduire la taille de l'image d'installation de Windows 11

10 janvier 2025 à 17:47

Les images systèmes de Windows sont très lourdes, plusieurs Go. NTDEV développe un outil capable de réduire la taille des images d'installation. Le développeur promet avec la toute dernière version de son tiny11 de réduire encore le poids de 20 %...Tiny11 supporte la version 24H2. 

tiny11 se compose de 2 outils : builder et core. Tiny11 builder permet de créer une image allégée en retirant tout ce qui n'est pas indispensable. Il s'agit d'un script Powershell. Tiny11 core va plus loin et va limiter le fonctionnement de Windows : il retire WindowsSxS, Windows Update, WinRE. Pour l'outil core, NTDEV prévient qu'il n'est pas possible de remettre une fonctionnalité retirée à la générer. Il faudra regénérer une nouvelle image. 

Site : https://ntdev.blog/2024/01/08/the-complete-tiny10-and-tiny11-list/

Petite démo :

Catégorie actualité: 
Image actualité AMP: 

Index TIOBE : Python consolide sa 1ere place

10 janvier 2025 à 14:20

Le dernier index TIOBE confirme la 1ere place de Python qui atteint 23,28 %. Rappelons que l'index est la popularité des langages dans les moteurs de recherche. Il ne reflète pas l'utilisation réelle du langage. L'index donne des tendances et une certaine importante du langage. 

Le top 10 a évolué sur 1 an :

1er Python =

2e C++ +1 place

3e Java + place

4 C - 2 places

5 C# =

6 JavaScript =

7 Go +4 places

8 SQL +1 place

9 Visual Basic -1 place

10 Fortran + 2 places

Go fait son apparition dans le top 10 même si se contente de 2,61 % des requêtes. PHP chute assez sévèrement - 6 places. Rust est 14e avec 5 places de mieux.  

Catégorie actualité: 
Image actualité AMP: 

WordPress : Automattic réduit son soutien et accuse WP Engine de la situation

10 janvier 2025 à 11:47

Nouvel épisode dans la guerre Automttic - WP Engine. Le 9 janvier, Automattic annonçait, à la surprise générale, sa volonté de réduire considérablement son soutien à WordPress. Cela signifie une réduction des ressources (financement, équipes, développements, etc.). "... nous devons consacrer beaucoup de temps et d’argent à nous défendre contre les attaques juridiques lancées par WP Engine et financées par Silver Lake, une grande société de capital-investissement. Nous avons également dû faire face à d’intenses critiques et même à des attaques personnelles contre un certain nombre d’Automatticiens de la part de membres de la « communauté » qui veulent que Matt et d’autres se retirent du projet." précise le communiqué.

L'argument a de quoi surprendre. Oui, WP Engine utilise WordPress et contribue bien moins, mais c'est Automattic, et son patron, qui a lancé les premiers affrontements et cherche depuis cette offensive à forcer la main à la communauté et aux contributeurs. 

"C'est le moment de se regrouper, de repenser et de planifier stratégiquement la manière dont les Automatticiens peuvent continuer à contribuer de manière à assurer l'avenir de WordPress pour les générations à venir." poursuite l'annonce. Automattic s'alignera sur le niveau des efforts de WP Engine et des autres contributeurs. Sous-entendu : les autres ne font pas grand chose, nous, nous faisons tout le travail. 

"Nous avons pris la décision de réaffecter des ressources en raison des poursuites judiciaires de WP Engine. Cette action en justice détourne beaucoup de temps et d’énergie qui pourraient autrement être consacrés au soutien de la croissance et de la santé de WordPress. Nous gardons l’espoir que WP Engine reconsidère cette attaque juridique, nous permettant de recentrer nos efforts sur des contributions qui profitent à l’écosystème WordPress dans son ensemble." explique le communiqué. Automattic oublie de dire qu'ils ont tout fait pour empêcher WP Engine à accéder à certaines ressources de WordPress. Oui, WP Engine a engagé une action en justice mais pour forcer Automattic à rétablir les accès.

Communiqué : https://automattic.com/2025/01/09/aligning-automattics-sponsored-contributions-to-wordpress/

Catégorie actualité: 
Image actualité AMP: 

VLC : 6 milliards de téléchargement et IA

10 janvier 2025 à 07:57

VLC est un des logiciels open source les plus populaires au monde. Au CES 2025, l'équipe de VLC a mis en avant le succès incroyable du lecteur vidéo : 6 milliards de téléchargement depuis sa création. L'outil montre aussi de nouvelles fonctionnalités sur la traduction et le sous-titrage. VLC mise sur le LLM et un traitement local pour générer automaniquement les sous-titres et pour les traductions dans une centaine de langues (à terme).

L'objectif est de réaliser le traitement uniquement local, sur la machine et non en utilisant un service cloud. On pouvait déjà réaliser le sous-titrage avec un plug-in tel que Whisper, là, l'avantage est une intégration native au logiciel.  

Pour le moment, aucune date de disponibilité n'est connue ni les LLM qui seront utilisés, ni les langues qui seront disponibles immédiatement. 

Catégorie actualité: 
Image actualité AMP: 

KDE Frameworks 6.10.0 est disponible

9 janvier 2025 à 18:23

Le projet KDE annonce la disponibilité de KDE Frameworks 6.10.0. Il s'agit de 72 addons pour les développeurs Qt. Cet ensemble doit faciliter le développement et l'intégration des apps Qt dans l'environnement KDE. 

Cette nouvelle version introduit de nombreuses évolutions et corrections de bugs sur l'ensemble des modules. Le code source complet est disponible sur le site officiel. 

Annonce : https://kde.org/announcements/frameworks/6/6.10.0/

Catégorie actualité: 
Image actualité AMP: 

Le bug de 2038 sur les systèmes Linux : petit point

9 janvier 2025 à 15:35

Après le bug de l'an 2000, le bug de 2028 (aussi appelé Y2038 bug) ? Peut-être en avez-vous déjà lu ou entendu parler. Il peut toucher certains systèmes Linux, Unix, macOS, Android, etc.. Le problème de l'an 2038 est un bug de formatage du format de date/heure après 03:14:08 le 19 janvier 2038. Sur les systèmes 32 bits, les entiers sont encodés en 32 bits, c'est le cas pour la valeur time_t.  A ce moment là, le système va comprendre autre chose et afficher : 20:45:52 le 13 décembre 1901 ou au 1er janvier 1970 comme le précise une note technique de ST Micro... C'est selon le système impacté. L'heure indiquée est l'heure universelle.

Ce problème n'existe pas sur les systèmes 64 bits. Il faut donc que les OS supportent les entiers 64 et non uniquement 32. Par exemple, sur Linux, le problème est fixé depuis le noyau 5.6. 

Le problème concerne uniquement les systèmes 32 bits. Les ancienns machines ou encore les systèmes embarqués sont directement impactés. 

Une note de gnu.org : https://www.gnu.org/software/gnulib/manual/html_node/Avoiding-the-year-2038-problem.html

Catégorie actualité: 
Image actualité AMP: 

Soirée ParisJUG Academy 2025 - 14 Janvier 2025

9 janvier 2025 à 15:11

Le ParisJUG propose le 14 janvier une grande soirée !

19h30 à 19h50 : Nous avons besoin de vous sur Quarkus Cucumber

Par Said Boudjelda

19h50 à 20h10 : De la modélisation à la mise en production : Automatisation des workflows avec Camunda et Spring Boot

Par Salah Eddine El Mamouni

20h10 à 20h30 : How to test asynchronous code

Par Yifang Dong

20h30 à 20h50 : JPMS - Nightmares and Awakening Java Platform Module System

Par Salathiel Genese Yimga Yimga

20h50 à 21h10 : Reprenez le contrôle de votre stack back !

Par Marc Guiot

21h10 à 21h30 : Apprenez votre IA à faire du TDD

Par Manuel Camargo

Où : Octo, 34 avenue de l'Opéra - Paris

Pour en savour : https://www.parisjug.org/events/2025/01-14-parisjug-academy/

Catégorie actualité: 
Image actualité AMP: 

RISC-V : Ubuntu 24.04 est disponible sur HiFive Premier P550

8 janvier 2025 à 16:21

C'est désormais officiel : Ubuntu 24.04 LTS est disponible sur la carte de développement HiFive Premier P550 conçue par SiFive et ESWIN. Cela fait presque 2 ans que Canonical s'active dans la communauté RISC-V. En décembre dernier, les trois partenaires annonçaient la disponibilité rapide de la distribution. La HiFive Premier P550 est une carte de développement utilisant un processeur RISC-V 4 coeurs. La carte est vendue à -400 $ (version 16 Go de RAM). 

Canonical confirme son intérêt pour l'architecture RISC-V et propose un environnement complet pour les développeurs. Aujourd'hui, RISC-V a besoin de logiciels adaptés et de matériels performants, notamment pour le desktop et le monde serveur. L'OS est pré-installé sur la carte.

Catégorie actualité: 
Image actualité AMP: 

NVIDIA Project DIGITS : un ordinateur IA surpuissant dans un barebone

8 janvier 2025 à 09:56

Il existe déjà des PC IA mais NVIDIA va bien au-delà en dévoilant le projet DIGITS. Le PC reprend le format barebone des Intel NUC et Mac Mini. DIGITS n'est pas un autre micro-ordinateur mais plutôt un HPC dédié à l'IA.

Il utilise un NVIDIA G10 Grace Blackweel, 128 Go de RAM, un stockage ultra rapide de 4 To. Le puce NVIDIA embarque une GPU de 1 petaflop de calculs et un CPU intégrant 20 coeurs ARM. DIGITS n'est pas là pour faire du jeu ou de la bureautique, il est taillé pour les LLM de 200 milliards de paramètres, faire de l'entrainement, développer des IA. Il sera possible de mettre en cluster plusieurs DIGITS pour pouvoir utiliser des LLM de 400 milliards de paramètres. La connexion entre les DIGITS pourra se faire via ConnectX qui sont des interfaces Ethernet hautes performantes (jusqu'à 400 Gb/s).

La machine utilise un OS dédié basé sur Linux : DGX OS. Il travaillera en transparence avec DGX Cloud. Tous les SDK et frameworks NVIDIA pourront être utilisés sur la machine. 

DIGITS devrait être disponible à partir de mai 2025 pour un prix de départ de 3 000 $. Reste à voir la configuration de base et les options proposées. DIGITS est un nom de code, peu de chance que ce soit le nom commercial de la machine. 

Catégorie actualité: 
Image actualité AMP: 

Réduire l’empreinte des vecteurs : la quantification vectorielle partie 2

8 janvier 2025 à 07:47

Dossier de Han HELOIR, EMEA Gen AI Solutions Architect (MongoDB)

La quantification vectorielle : Réduire pour mieux produire

1.   Pourquoi compresser les vecteurs ?

La quantification vectorielle est une méthode de compression des embeddings, qui consiste à réduire la précision des vecteurs pour diminuer leur taille en mémoire et leurs besoins en calcul. Cette approche s’inscrit dans une stratégie globale d’optimisation des systèmes d’IA générative, où chaque milliseconde et chaque octet comptent.

Sans quantification, les vecteurs sont généralement stockés en float32, un format numérique utilisant 32 bits par dimension. Cela garantit une précision élevée mais engendre des coûts de stockage exorbitants, une augmentation des latences, et des contraintes pour la scalabilité. La quantification répond à ces défis en réduisant la taille des vecteurs tout en maintenant une précision suffisante pour les tâches courantes.

2.   Les trois grandes méthodes de quantification

Chaque méthode de quantification propose un équilibre différent entre compressionprécision, et performance. Voici un tour d’horizon des principales approches :

a) Quantification scalaire (int8) : La solution universelle

La quantification scalaire réduit la précision de chaque élément d’un vecteur en le mappant à un ensemble pré-défini de niveaux, comme les 255 niveaux disponibles en format int8. Cette méthode divise la taille des vecteurs par 4x à 32x, tout en conservant une grande partie de leur précision.

Comment ça marche?

  1. Les valeurs maximales et minimales de chaque dimension sont identifiées dans l’ensemble de données.
  2. L’espace entre ces valeurs est divisé en niveaux équidistants (ex. : 255 pour int8).
  3. Chaque élément du vecteur est associé au niveau le plus proche, réduisant ainsi sa précision.

Exemple:

Un vecteur original avec des valeurs précises comme [0.456, 0.789, -0.123] pourrait être réduit à [46, 78, -12], tout en maintenant sa signification dans les recherches.

Bénéfices:

-        Réduction importante des coûts de stockage.

-        Compatible avec la majorité des cas d’usage, des moteurs de recherche aux systèmes de recommandations

-        Conservation d’une précision élevée (jusqu’à 96 % dans certains scénarios).

b) Quantification binaire : La compacité maximale

La quantification binaire pousse la compression encore plus loin en réduisant chaque élément à une valeur binaire (0 ou 1). Cela réduit drastiquement les besoins en stockage, mais au prix d’une perte de précision plus marquée.

Comment ça marche?

  1. Les vecteurs sont normalisés dans un espace restreint, souvent entre -1 et 1.
  2. Chaque élément est évalué : s’il est positif, il devient 1 ; sinon, 0.

Exemple :

Un vecteur [0.45, -0.23, 0.78] deviendrait [1, 0, 1].

Bénéfices :

-        Compression maximale, divisant les besoins de stockage par 32x à 64x.

-        Temps de calcul réduit grâce à des représentations simplifiées.

Risque de perte de précision, nécessitant des techniques complémentaires comme le rescoring ou l’oversampling.

c) Quantification par produit (PQ) : La solution modulaire

La quantification par produit (Product Quantization - PQ) divise un vecteur de haute dimension en sous-vecteurs de taille plus petite, chacun étant compressé indépendamment. Cette méthode offre un compromis idéal entre compressionprécision, et efficacité computationnelle.

Comment ça marche?

  1. Le vecteur est divisé en plusieurs segments (ou sous-vecteurs).
  2. Chaque sous-vecteur est associé à un centroïde préalablement calculé (via des algorithmes comme k-means).
  3. Au lieu de stocker les sous-vecteurs eux-mêmes, on ne conserve que les indices des centroïdes correspondants.

Exemple :

Un vecteur [0.45, -0.23, 0.78, -0.11] pourrait être divisé en deux sous-vecteurs [0.45, -0.23] et [0.78, -0.11], chacun étant compressé indépendamment.

Bénéfices:

-        Permet une compression adaptative selon les besoins.

-        Très efficace pour des systèmes traitant des milliards de vecteurs, comme FAISS (Facebook AI Similarity Search).

Performances légèrement inférieures pour les recherches en temps réel.

Cas d’usage recommandé :

-        Systèmes nécessitant une forte scalabilité, comme les plateformes de commerce électronique ou les moteurs de recherche visuelle.

4.   Pourquoi choisir la quantification vectorielle en production ?

a) Réduction des coûts

Selon une étude réalisée par HuggingFace, la quantification scalaire ou binaire peut réduire les coûts de stockage par un facteur de 20x à 30x, tout en maintenant une précision suffisante pour la majorité des cas d’usage. Par exemple : Une base contenant 250 millions de vecteurs passe de 7,5 To à 240 Go.

b) Amélioration des performances

Avec des vecteurs compressés, les recherches deviennent plus rapides car il y a moins de données à traiter. Cela se traduit par une réduction significative de la latence, essentielle pour les applications en temps réel.

Significant storage reduction + good recall and latency performance with quantization on different embedding models(Source: MongoDB blog)

c) Scalabilité accrue

La compression permet de gérer des bases de données volumineuses sans augmenter proportionnellement les coûts en matériel ou en infrastructure cloud. Cela ouvre la voie à une scalabilité durable, même avec une augmentation rapide des utilisateurs et des requêtes.

4.   Techniques avancées pour compenser la perte de précision

Oversampling : Récupère un plus grand nombre de résultats initiaux pour maximiser les chances d’inclure les éléments pertinents.

Rescoring : Affine les résultats en recalculant leur pertinence avec les vecteurs originaux (float32), garantissant des recommandations de haute qualité.

Conclusion : Construire une IA générative scalable

Grâce à des techniques comme la quantification vectorielle et l’indexation HNSW, les entreprises peuvent réduire leurs coûts, améliorer leurs performances, et garantir une scalabilité durable. Ces approches sont essentielles pour transformer les PoC prometteuses en solutions de production robustes et économiques.

Invitation à l’action : Explorez ces techniques dans vos projets et découvrez leur impact sur vos systèmes IA !

Références : 

  1. HuggingFace: Binary and Scalar Embedding Quantization for Significantly Faster & Cheaper Retrieval (https://huggingface.co/blog/embedding-quantization#quantization-experiments)
  2. MongoDB blog: Significant storage reduction + good recall and latency performance with quantization on different embedding models (https://www.mongodb.com/blog/post/vector-quantization-scale-search-generative-ai-applications)
Catégorie actualité: 
Image actualité AMP: 

Réduire l’empreinte des vecteurs : la quantification vectorielle partie 1

8 janvier 2025 à 07:22

Dossier de Han HELOIR, EMEA Gen AI Solutions Architect (MongoDB)

Introduction : la révolution des embeddings et ses défis cachés

L’intelligence artificielle générative, notamment à travers le Retrieval-Augmented Generation (RAG), révolutionne la gestion des données en combinant la puissance des modèles génératifs avec des bases de connaissances structurées. Cette approche permet d’automatiser des tâches complexes tout en accédant en temps réel à des informations précises et pertinentes provenant de multiples sources. 

Au cœur de ces systèmes se trouvent les embeddings, des vecteurs mathématiques capables de représenter des données non structurées telles que des textes, des images, ou des vidéos. Ces vecteurs permettent de réaliser des tâches avancées comme les recherches sémantiques, les recommandations, ou encore l’analyse de similarité.

Cependant, derrière l’innovation se cache une complexité technique. Lors de la phase de PoC (Proof of Concept), la gestion des embeddings peut sembler relativement simple. Mais une fois en production, ces vecteurs deviennent une source importante de coûts, de latence, et de problèmes d’évolutivité. En effet, leur stockage, leur traitement, et leur recherche à grande échelle exigent des infrastructures coûteuses et complexes.

Dans cet article, nous explorons comment la quantification vectorielle, associée à des techniques de l’indexation comme HNSW(Hierarchical Navigable Small World), peut réduire significativement ces obstacles. Ces approches permettent de maintenir des performances élevées tout en rendant la scalabilité plus accessible.

Les défis techniques des embeddings en production

1. Explosion des coûts de stockage

Chaque embedding est une représentation numérique haute dimension, souvent en format float32. Cela signifie que chaque élément du vecteur utilise 32 bits de mémoire. Multipliez cela par des millions, voire des milliards d’embeddings, et vous obtenez des volumes de données astronomiques.

Prenons un exemple concret : une base contenant 250 millions d’embeddings, chacun ayant 1 024 dimensions. En format float32, cette base occuperait 7,5 To d’espace et coûterait environ 3 600 $ par mois sur une plateforme comme AWS. À cela s’ajoutent les frais pour les sauvegardes, la redondance, et la haute disponibilité. Ces coûts deviennent rapidement prohibitifs, notamment pour des start-ups ou des projets avec des budgets limités.

Embeddings et le coût associé (Source: HuggingFace)

2. Latence accrue et surcharge computationnelle

Les embeddings ne se limitent pas au stockage ; ils doivent également être interrogés pour effectuer des recherches rapides et précises. Ces recherches, appelées recherches de voisins les plus proches (Nearest Neighbor Search), nécessitent des calculs dans des espaces vectoriels de haute dimension. Chaque vecteur doit être comparé à d’autres pour déterminer les éléments les plus similaires.

Plus les vecteurs sont longs (haute dimension) et plus la base de données est volumineuse, plus la recherche devient longue. Cela pose un problème critique dans les applications en temps réel, où les utilisateurs s’attendent à des réponses quasi instantanées. Par exemple, une application de recommandations doit répondre en moins de 300 millisecondes pour maintenir une expérience utilisateur satisfaisante. Une recherche trop lente peut entraîner une frustration des utilisateurs et une perte de clients.

3. Scalabilité limitée

À mesure que le nombre d’utilisateurs et de données augmente, les exigences en calcul et en mémoire explosent. Cela entraîne des frais supplémentaires en matériel (serveurs, RAM) et en infrastructure cloud, créant un goulot d’étranglement financier. Les entreprises sont alors confrontées à un dilemme : réduire la qualité du service ou augmenter leurs dépenses.

HNSW : Une indexation intelligente pour les recherches rapides

1. Une structure hiérarchique

HNSW (Hierarchical Navigable Small World) est une méthode d’indexation conçue pour accélérer les recherches dans des bases vectorielles. Contrairement à une recherche linéaire, qui comparerait chaque vecteur à l’ensemble des autres, HNSW construit un graphe multi-niveaux pour organiser les données de manière plus efficace.

Ce graphe hiérarchique fonctionne comme une carte routière :

-        Niveau supérieur : Les autoroutes, qui permettent de parcourir rapidement de grandes distances.

-        Niveaux intermédiaires : Les routes principales, qui affinent la recherche.

-        Niveau le plus bas : Les petites rues, qui mènent aux résultats finaux.

En utilisant cette approche, HNSW réduit drastiquement le nombre de comparaisons nécessaires pour trouver les voisins les plus proches d’un vecteur, tout en garantissant une recherche rapide et précise.

2. Avantages et limitations

HNSW est particulièrement efficace car il :

-        Réduit les temps de recherche, même dans des bases massives.

-        Permet des mises à jour incrémentielles (ajout de nouveaux vecteurs sans reconstruire tout l’index).

Cependant, cette méthode exige une grande quantité de RAM, car le graphe doit être entièrement chargé en mémoire pour offrir des performances optimales. C’est ici que la quantification vectorielle devient essentielle, car elle réduit la taille des vecteurs et, par conséquent, les besoins en mémoire.

Catégorie actualité: 
Image actualité AMP: 

Accident de robots à Los Angeles

7 janvier 2025 à 09:38

Ce n'est pas un film de S-F mais la réalité : le 27 décembre 2024, dans les rues de Los Angeles, un robotaxi de Waymo est entré en collision avec un robot de livraison de Serve Robotics. Selon les vidéos et les commentaires, le robot livreur de Serve traversait une rue alors que le robotaxi tournait au même moment. Qui est à causer l'accident ? 

TechCrunch a voulu en savoir plus et a posé la question à Waymo : comment le système Waymo détecte-t-il un autre robot ? Selon le constructeur, le système (Waymo Driver) a correctement analysé son environnement. Le robot livreur a été vu comme un objet inanimé dans le sens non vivant (humain ou animal). Le système a donc considéré qu'il pouvait continuer sa route sans freiner ni contourner l'obstacle. 

Waymo Drive analyse les objets animés ou non sur sa route et doit pouvoir détecter en temps réel ce qui ne passe sur le route et autour. Si le système doit agir pour sauver un objet animé (= vivant) ce n'est pas pour autant qu'il doit "oublier" les objets inaminé (= non vivant). Ces objets peuvent bouger, tomber sur la chaussée, etc. L'accident de décembre dernier en est la preuve.

Quand on regarde la vidéo de l'accident : le robot livreur traverse la route sur un passage piéton et ralentit quand une voiture passe. Il tente ensuite de monter sur le trottoir, mais fait marche arrière pour se repositionner. C'est à ce moment-là que le taxirobot arrive et heurte le robot. Le robotaxi freine assez fortement mais cela ne suffit pas à éviter le choc frontal. Après quelques secondes, le robot livreur se dégage et reprend visiblement son trajet. Waymo précise que le robotaxi était vide au moment du choc. 

Serve Robotics a répondu à TechCrunch que le robot livreur était contrôlé à distance par un opérateur. Pour les carrefours, c'est la procédure standard. Nos confrères précisent qu'aucun des deux constructeurs n'a répondu sur les causes précises de l'accident ni sur les responsabilités (qui est à l'origine de l'accident ?). Cela pose tout de même des questions sur les futurs accidents : comment définir les responsabilités, rédiger un constat d'accident, etc.

Source : https://techcrunch.com/2024/12/31/a-waymo-robotaxi-and-a-serve-delivery-robot-collided-in-los-angeles/

Catégorie actualité: 
Image actualité AMP: 

Java : Vaadin ou JavaFX pour sa GUI ?

7 janvier 2025 à 08:41

Java Code Geeks publie une liste des frameworks UI pour Java. Ces frameworks permettent de créer des interfaces "modernes". Ces outils permettent de créer des apps graphiques pour les desktop.

Les frameworks les plus récentes :

- Vaadin : orienté interface web app, nécessite un serveur Java, richesse des objets graphiques

- Apache Pivot : basé sur un XML, permet de faire du data binding et de créer rapidement des animations. Popularité limitée.

Les frameworks historiques :

- JavaFX : il reste une référence et offre une grande richesse UI, accélération matérielle

- Swing : framework historique, léger mais dépassé. Pour les apps legacy

- SWT : framework historique, dépendance sur les plateformes. 

Sauf à maintenir les apps historiques, l'usage de SWT et Swing n'est plus d'actualité depuis longtemps. JavaFX est un choix efficace et intégré à la plateforme Java. Il est taillé pour les interfaces modernes, propose une approche déclarative mais attention à l'apprentissage. Vaadin représente une alternative intéressante à JavaFX : pas besoin de CSS ou HTML, propose une collection de composants, typage fort pour limiter les erreurs de runtime. Vaalin propose aussi une approche déclarative avec des templates intégrés. 

A vous de voir si vous optez pour un framework GUI côté client ou côté serveur. 

Le choix de Java Code Geeks : https://www.javacodegeeks.com/2025/01/top-java-gui-frameworks-for-modern-ui-development.html

Présentation de Vaalin : https://vaadin.com/blog/comparing-java-gui-frameworks-vaadin-javafx-and-swing

Catégorie actualité: 
Image actualité AMP: 

Syncfusion 2024 volume 4 : un nouveau composant de Chat disponible

7 janvier 2025 à 07:58

Syncfusion propose dans le dernier pack de composants pour Angular / JS un nouveau composant pour construire un Chat : Angular Chat UI. Il permet aux développeurs de créer un service de chat dans ces apps. Le Chat UI permet de créer des échanges entre utilisateurs, pour créer un chat sur une boutique en ligne.

Le composant intègre :

- une barre d'outils

- chargement des messages à la demande

- affichage des utilisateurs actifs

- personnalisation du composant

Ce composant est disponible sur JS, Angular, React, ASP.Net, Blazor.

Site : https://www.syncfusion.com/blogs/post/new-angular-chat-ui-component

Catégorie actualité: 
Image actualité AMP: 

QNX veut aider les développeurs à créer des apps embarqués

6 janvier 2025 à 15:10

Les systèmes embarqués sont parfois vus comme des objets curieux et difficiles à programmer. L'éditeur QNX veut démocratiser le développement embarqué en proposant des ressources pour des projets non commerciaux : QNX Everywhere. Ce programme permet d'accéder à QNX SDP 8, la plateforme de développement QNX. Des formations et des tutoriels sont également accessibles. 

« L'ingénierie logicielle est le pilier de notre avenir. Elle nous permet de relever les défis les plus complexes de la société, allant de la conduite autonome à la chirurgie robotisée », a déclaré Grant Courville, SVP, Product and Strategy, QNX. « Alors que notre dépendance aux technologies intelligentes et connectées augmente, les initiatives telles que QNX Everywhere, sont essentielles pour rendre l'apprentissage plus accessible. Cette dernière fournit aux développeurs des outils et des technologies de pointe afin de nourrir l'exploration et la créativité, tout en les aidant à résoudre des problématiques comme jamais auparavant. Nous sommes ravis d'élargir l'accès aux solutions QNX, pour une utilisation non commerciale à grande échelle, et nous sommes impatients de voir les innombrables innovations qu'elles susciteront. »

Cette initiative donne accès à :

  • Une licence de développement QNX SDP 8 non commerciale pour un seul utilisateur ;
  • Un kit de démarrage rapide pour Raspberry Pi 4 ainsi que les composants complémentaires associés (applications de rendu, graphiques, écran tactile, caméra, support réseau câblé et Wi-Fi, stockage USB et plus encore).
  • Des accès à des portages open-source QNX supplémentaires et à un code source optimisé.
  • Des accès à des tutoriels dirigés par des ingénieurs, tels que des vidéos accessibles expliquant le développement de logiciels de systèmes embarqués et les concepts de systèmes d'exploitation.

Vous devrez créer un compte QNX : https://www.qnx.com/products/everywhere/

Catégorie actualité: 
Image actualité AMP: 

IPv6 et Java : BigInteger pour faciliter la manipulation

6 janvier 2025 à 12:56

IPv6 est la nouvelle norme IP dans le monde réseau suite à la pénurie d'adresses IPv4. Les deux protocoles sont supportés par Java. IPv4 utilise un adressage 32 bits alors que IPv6 est en 128 bits. 

Comme le précise Oracle : "IPv6 dans Java est transparent et automique. Un portage n'est pas nécessaire et il n'y a pas de recompilation à faire.". Bref, tout est fait pour être le plus transparent possible et ce, depuis plusieurs années. Si vous avez besoin impérativement d'IPv4, vous pouvez configurer java.net.preferIPv4Stack en true. Il est false par défaut. 

Vous pouvez aussi avoir besoin de stocker ou de manipuler simplement les adresses IPv6. Pour ce faire, vous pouvez utiliser BigInteger pour convertir. BigInteger est une classe Java immutable ce qui est particulièrement pratique pour maniper des adresses IP sans risquer de les modifier. Bien entendu, vous pouvez convertir d'IPv6 vers BigInteger et inversement

Présentation d'Oracle : https://docs.oracle.com/javase/8/docs/technotes/guides/net/ipv6_guide/

Configuration réseau : https://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html

Tutoriel pour utiliser BigInteger : https://www.javacodegeeks.com/convert-ipv6-to-biginteger-in-java.html

Catégorie actualité: 
Image actualité AMP: 

OpenJDK 24 et 25 : point de situation

6 janvier 2025 à 07:46

OpenJDK 24 commence à accélérer son développement. La build 30 a été livrée le 3 janvier. La 1ere version RC est attendue fin février. La build 30 apporte surtout des corrections de bugs. La version 24 s'annonce comme une mise à jour importante. 

Lien : https://github.com/openjdk/jdk/releases/tag/jdk-24%2B30

Liste des JEP :

404:Generational Shenandoah (Experimental)

450:Compact Object Headers (Experimental)

472:Prepare to Restrict the Use of JNI

475:Late Barrier Expansion for G1

478:Key Derivation Function API (Preview)

479:Remove the Windows 32-bit x86 Port

483:Ahead-of-Time Class Loading & Linking

484:Class-File API

485:Stream Gatherers

486:Permanently Disable the Security Manager

487:Scoped Values (Fourth Preview)

488:Primitive Types in Patterns, instanceof, and switch (Second Preview)

489:Vector API (Ninth Incubator)490:ZGC: Remove the Non-Generational Mode

491:Synchronize Virtual Threads without Pinning

492:Flexible Constructor Bodies (Third Preview)

493:Linking Run-Time Images without JMODs

494:Module Import Declarations (Second Preview)

495:Simple Source Files and Instance Main Methods (Fourth Preview)

496:Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism

497:Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm

498:Warn upon Use of Memory-Access Methods in sun.misc.Unsafe

499:Structured Concurrency (Fourth Preview)

501:Deprecate the 32-bit x86 Port for Removal

Les équipes travaillent déjà sur la JDK 25 prévue pour l'automne ! Pour le moment, il s'agit surtout de la mise en place du projet. Aucune JEP n'est annoncée. Page officielle : https://jdk.java.net/25/

Catégorie actualité: 
Image actualité AMP: 

Raspberry Pi 5 : le tunning SDRAM fait gagner 20 % de performances

6 janvier 2025 à 07:27

Jeff Geerling a publié un post particulièrement intéressant sur le tuning de la SDRAM sur la Pi 2. Le résultat est sans appel : jusqu'à 20 % de performances en plus à fréquence processeur identique ! Jeff a tenté l'expérence en overclokant le SoC. Résultat : +32 % sur sa configuration. 

Par défaut, ces optimisations ne sont pas activées. Jeff explique que ces gains se font en faisant du tuning de la mémoire SDRAM. Bref, ces réglages sont prévus par design. La Pi 5 possède une SDRAM plus rapide que la Pi 4 et elle possède un meilleur accès aux composants via un bus interne plus rapide. Merci le NUMA.

Pour améliorer le rendement de le SDRAM, il faut :

1 installer le dernier firmware

2 éditer le bootloader config

3 ajouter l'option SDRAM_BANKLOW=1 

4 Redémarrer

Jeff précise que le noyau de Raspberry Pi OS possède désormais les patchs nécessaires pour l'émulation NUMA. 

Pour l'overclock du SoC, c'est simple. On ouvre le config.txt et on ajoute : 

over_voltage_delta=72000
arm_freq=3200
gpu_freq=1000

Attention : il faut impérativement un système de refroidissement sur la Pi pour éviter une surchauffe. Forcez l'utilisation du ventilateur.

Pour Jeff, ce tuning de la rémoire pourrait être activé par défaut dans les prochains mois. 

Post source : https://www.jeffgeerling.com/blog/2024/raspberry-pi-boosts-pi-5-performance-sdram-tuning

Framboise314 a publié une traduction complète du post : https://www.framboise314.fr/boostez-votre-raspberry-pi-4-ou-5-en-affinant-lacces-a-la-sram/

Catégorie actualité: 
Image actualité AMP: 

GenIA : tabnine veut trouver les licences d'utilisation des codes générés

3 janvier 2025 à 08:55

Retour vers le passé : un des objectifs des scanneurs de code était de découvrir l'origine des codes utilisés pour déterminer les licences d'utilisation et éventuellement les conflits inter-licences et les risques légaux de ces codes pour les entreprises. L'éditeur tabnine veut aider les développeurs et les entreprises à déterminer les licences des codes générés par la GenIA. N'oublions pas que la GenIA ne génère pas du code par pur magie. Derrière, nous avons des LLM ou SLM qui eux-mêmes s'appuient sur des données pour entraîner les modèles et donc pouvoir répondre à nos prompts.

Problème 1 : les codes utilisés pour l'inférence peuvent être mis sous une licence précise, par exemple licence GPL, MIT, Apache, etc. 

Problème 2 : les licences ne sont pas identiques et peuvent rentrer en conflit quand des codes / librairies d'un projet sont sous différentes licences

Problème 3 : comment les répérer dans du code fourni par la GenIA ?

"(...)ces modèles sont entraînés sur de vastes quantités de données collectées sur internet, y compris du code soumis à des restrictions d'utilisation, ce qui introduit un risque d'infraction à la propriété intellectuelle. Étant donné que la législation sur l'utilisation du contenu généré par l'IA reste incertaine, les équipes d'ingénierie des entreprises cherchent à trouver un équilibre : profiter des gains de performance offerts par ces modèles tout en minimisant le risque d'intégrer du code sous licence copyleft dans leur base de code." précise Tabnine

"Pour répondre à ces objectifs, Tabnine est ravi d'annoncer Provenance et Attribution, une nouvelle fonctionnalité qui réduit le risque d'infraction à la propriété intellectuelle lors de l'utilisation de modèles tels que Claude d'Anthropic, GPT-4o d'OpenAI(...) Tabnine vérifie désormais le code généré dans notre chat IA par rapport au code publiquement visible sur GitHub, signale toute correspondance trouvée et référence le dépôt source ainsi que le type de licence associé. Ces informations essentielles facilitent la révision des suggestions de code et permettent de décider si elles répondent à vos exigences et politiques spécifiques." poursuit l'annonce de l'éditeur.

Bref : n'oubliez jamais de vérifier l'origine des codes snippets ou des libs que vous utilisez. Les conflits inter-licences sont réels et sont parfois très complexes à gérer. 

Post source : https://www.tabnine.com/blog/introducing-provenance-and-attribution-minimize-ip-liability-for-genai-output/

Catégorie actualité: 
Image actualité AMP: 

FOSDEM 2025 : l'événement européen du monde Open Source

2 janvier 2025 à 17:43

C'est LE rendez-vous incontournable du monde Open Source depuis 25 ans. Plus de 7 000 développeurs sont attendus pour l'édition 2025. Plus de 930 sessions et ateliers sont planifiés sur 74 thèmes. L'événement se déroule dans plus de 40 salles de l'université libre de Bruxelles !

Les Developer rooms sont thématiques. Impossible de tout lister, voici quelques tracks à suivre : Android Open Source Project, APIS, Confidential Computing, Containers, Declarative and Minimalistic Computing, Free Java, GCC, Go, HPC, LLVM, Kernel, WebAssembly, Quantique, RISC-V, sécurité, embarqué & automobile.

Quand : les 1er et 2 février 2025 à Bruxelles

Site officiel : https://fosdem.org/2025/

Catégorie actualité: 
Image actualité AMP: 

Gemini Code Assist : Google veut aider les développeurs

24 décembre 2024 à 15:03

C'est un peu la promesse de tous les assistants de codage et de la GenIA : nous aider au quotidien et générer du code pertinent. Google Code Assist peut être utilisé dans les principaux IDE du marché (Visual Studio Code, IntelliJ, PyCharm, etc.). Il supporte plus de 20 langages. Comme les autres solutions, tout passe par le prompt / chat en langage naturel. 

Code Assist utilise les dernières générations de LLM : Gemini 2.0 Flash. Il affiche beaucoup de promesses :

- un flux constat disponible dans son IDE

- un toolkit pour étendre les possibilités

- apporter une qualité de réponse et minimiser la latence

- personnalisation du fonctionnement avec nos propres données

- prise en compte du contexte et du code utilisé

Deux versions sont disponibles :

- Code Assist Standard : complétion du code, génération de code, support des données locales, Firebase, Colab Enterprise, à partir de 22,80 $ / mois ou 19 $ en annuel

- Code Assist Enterprise : pour les entreprises et les équipes, plus de technologies Google supportées, à partir de 54 $

Les tarifs sont globalement plus élevés que ceux de GitHub Copilot. L'outil n'a pas le droit à l'erreur. 

Présentation complète : https://cloud.google.com/products/gemini/code-assist

Catégorie actualité: 
Image actualité AMP: 

ANSSI met en open source son système d'échange de fichiers par diode

24 décembre 2024 à 09:14

L'ANSSI met en open source sa solution de transfert d'information entre 2 réseaux distincts avec des niveaux de sécurité différents via... une diode physique. Ce système a pour nom Eurydice (émetteur unidirectionnel redondant de yottabit pour le dialogue intergiciel avec correction d'erreur). 

A quoi sert Eurydice ? "Pour les utilisateurs, Eurydice propose une interface web intuitive et ergonomique (fonctionnalités d’upload drag-n-drop, visualisation rapide des fichiers, etc.) ainsi qu’une API pour scripter les actions, avec la possibilité d’ajouter des métadonnées supplémentaires aux fichiers transférés. Ce guichet de diodes élaboré par l’ANSSI facilite également la prise en mains des administrateurs en mettant à disposition des fonctionnalités multiples (gestion des comptes utilisateurs, authentification par Kerberos, endpoint de métrics, etc.)." explique la page officielle.

Les deux réseaux fonctionnent chacun de leur côté, le transfert se fait donc physiquement par une diode. Pour assurer ce transfert et ce lien physique, Euridyce utilise Lidi. Lidi permet de copier des flux et des fichiers en TCP ou via Unix sur un lien unidirectionnel. La diode n'est pas obligatoire. Le réseau unidirectionnel par diode a été développé dès les années 1980. Attention, il faut que chaque réseau puisse communiquer, il faut installer un module réseau identique (ou compatible). 

Opswat présente ainsi cette approche : "Une passerelle de sécurité unidirectionnelle est une solution matérielle de cybersécurité qui assure un transfert d'informations unidirectionnel entre deux réseaux. S'appuyant traditionnellement sur une connexion par fibre optique pour assurer des transferts de données unidirectionnels, les diodes de données peuvent rencontrer des problèmes de fiabilité de transmission et de dépassement de données, alors que les passerelles de sécurité unidirectionnelles modernes incluent des mécanismes de livraison assurée pour surmonter ces défis. Les passerelles unidirectionnelles et les diodes de données sont courantes depuis des décennies dans les environnements de haute sécurité, tels que les installations des agences de défense et de renseignement."

Qui dit unidirectionnel, dit une circulation des informations que dans un sens. Il n'est pas possible de faire des transferts dans les 2 sens. Cette approche permet par exemple de transférer des données d'un système critique et sécurité vers un système plus ouvert. On peut assimiler la diode de données comme une valve que l'on ouvre et que l'on ferme. 

Ce principe de direction unique est le fonctionnement de la diode. Une diode est un composant qui fonctionne que dans un unique sens. Il existe de multiples de solutions sur le marché. 

Eurydice est disponible sur GitHub : https://github.com/ANSSI-FR/eurydice. Une API facilite la mise en place de ce réseau et pour réaliser les transferts. 

Catégorie actualité: 
Image actualité AMP: 

Puppet : vers un fork pour contourner les limitations à venir ?

23 décembre 2024 à 16:32

Depuis que l'outil open source Puppet est passé sous le giron de l'éditeur Perforce, la communauté observait. La modification de licence est sans doute l'affront de trop. En effet, les versions modifiées directement par les équipes Perforce ne sont plus intégrées à la version open source. L'accès à ces codes "privés" se fera par un accord spécifique... et ce, même si Perforce maintient la licence Apache 2.

Depuis quelques jours, la communauté s'agite et un fork est de plus en plus évoqué. Pour Antoine Beaupré, Perforce arrête de rendre publique les packages et le code Puppet modifié par Perforce n'est plus disponible publiquement. Selon Beaupré, Perforce encourage une version totalement open source. Source : https://devops.com/perforce-forks-puppet-community-considers-muppet/

La question n'est pas de savoir si un fork de Puppet sera fait mais quand et sous quel nom. Le nom de Muppet pourrait être une des appelations... Le projet OpenPuppetProject a été créé même si aucun code n'est disponible... pour le moment. 

A suivre

Catégorie actualité: 
Image actualité AMP: 

Apache Struts 7 : Jakarta EE, Java 17, sécurité, modernité

23 décembre 2024 à 16:13

Struts est un framework bien connu des développeurs (web) Java. Le framework est disponible en version 7. Cette version est une évolution majeure .

Les évolutions les plus marquantes :

- transition vers Jakarta EE : performances, sécurité, plus moderne que Java EE, namespace jakarta

- Java 17 est la version par défaut de Structs 7

- focus sur la sécurité : les paramètres par défaut se veulent mieux sécurisés, invocation méthode dynamique désactivée par défaut, meilleure protection CSRF (cross-site request forgery)

- meilleure gestion des erreurs des exceptions

- dépréciation des fonctionnalités trop anciennes (voir la release note), retrait de 9 plugins (attention à vérifier leur présence et gérer leur retrait)

Note de version : https://cwiki.apache.org/confluence/display/WW/Version+Notes+7.0.0#VersionNotes7.0.0-Bug

Catégorie actualité: 
Image actualité AMP: 

Installer un SSD NVMe sur sa Raspberry Pi 5

23 décembre 2024 à 11:32

La Raspberry Pi 5 permet d'installer facilement un stockage externe de type SSD NVMe au format M.2 via une HAT dédiée et le port PCIe disponible sur la Pi 5. Sur la Pi 4, il fallait passer par le port USB autorisant le boot car la ligne PCIe nétait pas accessible via un connecteur. 

Matériel nécessaire

- Raspberry Pi 5 avec une carte SD avec Raspberry Pi OS

- HAT PCIe M.2 avec son ruban pour connecter la HAT à la Pi 5

- SSD NVMe format M.2 128 Go (ou plus) 

Coût du matériel (hors Pi 5, écran, clavier, souris) : env. 30 €

Etape 1 : on monte la HAT M.2, on connecte le ruban et on installe la barrette NVMe

Etape 2 : mise à jour 

Dans le Terminal du Pi OS, on met à jour l'OS et le firmware : 

sudo apt update && sudo apt upgrade -y

sudo rpi-eeprom-update puis sudo rpi-eeprom-update -a

La dernière commande permet de mettre à jour le firmware de la carte.

Etape 3 : Raspi-config

Ouvrez rapsi-config (depuis le menu). On va vérifier dans Advanced Option -> Bootload version -> Latest : use the latest version boot ROM software. On valide et on redémarrage pour mettre à jour le firmware et valider la configuration

Etape 4 : NVMe es-tu là ?

La commande ls /dev/nvme permet de vérifier la présence du SSD et qu'il soit bien reconnu par le système. Si ce n'est pas le cas, vérifiez l'installation matérielle et refaite les étapes 2 et 3

Etape 5 : Raspberry Pi Imager

Ouvrez l'outil Pi Imager. Sélectionnez dans l'odre : 

Choose device : Pi 5

Choose OS : Raspberry Pi OS 64 bits

Choose storage : SSD NVMe 128 Go

Cliquez sur NEXT. Pour effacer le contenu du SSD, vous devez confirmer avec votre mot de passe admin / root. L'installation prend environ 15 minutes, selon la rapidité de votre connexion réseau

Avec la dernière version de l'OS, nous n'avons pas besoin de configurer le boot order mais si vous garder une SD sur la Pi, vous devrez le configurer. 

Quand tout est prêt, l'installateur vous invite à retirer la carte SD. Redémarrez.

Etape 6 : configuration de l'OS

La Pi 5 va redémarrer plusieurs fois avant d'afficher la configuration système : nom de la Pi, mot de passe, wifi, etc. Il va automatiquement mettre à jour l'OS et le firmware. Après un dernier redémarrage, votre Pi 5 avec SSD NVMe est prête à être utilisée. 

Quelques éléments de performances

Attention, cette solution ne rivalise pas avec les NVMe USB C / Thunderbolt mais c'est une solution plus pratique que la carte SD et bien plus performante. 

Boot à froid : 22,8s sur la SD, 16,36s sur le SSD NVme

Lecture / écriture aléatoire sur la SD (IOPS) : 4066 / 647

Lecture / écriture aléatoire sur le NVMe (IOPS) : 105 703 / 95 672

Lecture / écriture séquentielle sur la SD (IOPS) : 91 851 / 10 574

Lecture / écriture séquentielle sur le NVMe (IOPS) : 431 157 / 388 361

Le SSD NVMe est incontestablement un avantage et les performances sont largement supérieures. Plusieurs tests montrent des performances multipliées par 3 ou 4 en mo/s.

Si vous faites de l'inférence LLM sur votre Pi, il est vivement conseillé d'utiliser cette configuration ou même en moder serveur.

Catégorie actualité: 
Image actualité AMP: 

Go Survey 2024 H2 : 93 % des dévs sont contents du langage

23 décembre 2024 à 09:45

Que retenir de la dernière étude du monde Go menée en septembre dernier ? 4 points clés sont à retenir :

- 93 % des répondants se disent très contents du langage et de la manière de travailler avec Go

- 70 % utilisent de la GenIA pour créer des assets Go

- le déploiement des API et SDK est simple et rapide

- la maintenance du code existant est LE défi technique (à nuancer)

Deux OS sont les plus utilisés pour coder en Go : Linux et macOS. Windows et WSL arrivent loin derrière. Les IDE de référence sont sans surprises : Visual Studio Code et JetBrains GoLand. Il est intéressant de constanter que 96 % disent déployer les environnements Go sur Linux en cloud ou dans des conteneurs. L'architecture de référence reste x86 (92 %). L'architecture ARM est tout de même présente pour la moitié des répondants. Dans le cas d'un déploiement en Web Assembly, JS est le langage de référence. 

Parmi les autres IDE utilisés : nous trouvons Vim. Les autres éditeurs sont ultra minoritaires. Par contre, l'IDE préfére n'est pas tranché : VS Code est légèrement devant GoLand. 

Les autres outils :

- analyse de codes : gopls, golandcilint

- AWS est le cloud le plus utilisé 

- AWS EKS / EC2 sont les plus utilisés pour les conteneurs

- les LLM / GenIA sont souvent utilisés pour générer du code Go : code complétion, écrire des tests, générer du code depuis une description. ChatGPT, Copilot sont les modèles les plus utilisés

Quels sont les usages de Go ? 75 % disent créer des API et des services RPC, 62 % évoquent créer des CLI, 45 % l'utilisent pour des sites web ou pour créer des frameworks / librairies.

La maintenance du code est le plus grand défi pour les développeurs Go pour 23 % mais 35 % disent que cela n'est pas un défi. Il est à noté que 33 % des répondants au survey ont -2 ans d'expérience en Go. Ce ne sont pas pour autant des débutants en développement. Seuls 11 % sont nouveaux (-2 ans). Ils sont surtout dans des ESN et des entreprises. 19 % travaillent aux USA, 10 % en Allemagne. Seulement 4 % sont en France. 

Catégorie actualité: 
Image actualité AMP: 

Programmez hors série 17 spécial IA est disponible

20 décembre 2024 à 18:22

Pour terminer en beauté 2024, notre hors série IA est disponible dès maintenant. Dans ce numéro, nous vous proposons un panorama très complet de l'IA et de la GenIA :

- éthique et sécurité

- les brevets dans l'IA : une question sensible

- Retour d'expérience 

- Comment la GenIA peut nous aider au quotidien ?

- Utiliser et découvrir LangChain4j

- Apple Intelligence : côté usage et plomberie

- Découvrir le tout nouveau GitLab Duo

- Coder Fibonacci avec ChatGPT !

- Créer une GenIA avec OLLAMA et Go sur une Rapsberry Pi !

- Utiliser la Pi Camera AI

Ce numéro est disponible en kiosque, sur abonnement, en version papier et en PDF : https://www.programmez.com/magazine.php

Catégorie actualité: 
Image actualité AMP: 

MongoDB profite de son événement annuel en France pour présenter sa vision de l'IA

20 décembre 2024 à 15:28

par Joffray Anduze, DG France de MongoDB.

Le succès grandissant de MongoDB dans le secteur de l'IA s'est confirmé lors de son événement MongoDB.local Paris, qui a attiré plus de 1 000 développeurs et experts IT. Très riches en annonces, l'événement a également permis au public de découvrir les dernières innovations technologiques de MongoDB et leur potentiel de transformation. Le public a pu bénéficier des retours d’expérience d’utilisateurs ayant exploité toute la richesse de MongoDB provenant de plus d’une quinzaine de clients de premier plan évoluant sur des secteurs variés (Adeo, Amadeus, Auchan Retail international, Axa, Boulanger, Carrefour, Crédit Agricole Technologies & services, Décathlon, KONE, L’Oreal, Michelin, Monoprix, TotalEnergies). 

Parmi ces témoignages, on peut notamment citer celui du Crédit Agricole Technologies & Services, qui a partagé son expérience de modernisation du SI de Crédit Agricole pour le transformer en un SI modulaire, avec un fort découplage produit. L’équipe a présenté la manière dont elle avait utilisé une base de données MongoDB pour développer un moteur de pilotage unifié, garantissant une cohérence de parcours quel que soit le canal utilisé et facilitant les évolutions de demain.

Démocratiser l'accès à l'intelligence artificielle

Face au constat que la plupart des entreprises peinent encore à concrétiser leurs ambitions en matière d'IA, MongoDB leur propose une stratégie globale d'accompagnement. Elle a identifié les principaux obstacles freinant la mise en œuvre des projets d’IA : la complexité croissante du paysage technologique, le manque de compétences internes et les préoccupations liées à la sécurité et aux performances.

Pour répondre à ces défis, MongoDB a lancé le MongoDB AI Applications Program (MAAP), qui sera disponible en accès anticipé dès juillet. Ce programme apporte aux organisations les architectures de référence nécessaires pour développer leurs applications IA, tout en garantissant l'intégration avec des partenaires de premier plan tels qu’Anthropic, Cohere et Fireworks AI. 

Services professionnels et innovations techniques

L'entreprise renforce son offre avec deux nouveaux services professionnels stratégiques. Le premier aide les clients à identifier leurs opportunités prioritaires en matière d'IA, tandis que le second, l'AI Accelerator, accompagne le développement des projets de l'idée à la production.

« L’accueil plus que positif du public à l'annonce de l’intégration d'Atlas Vector Search et d’Atlas Edge Server dans MongoDB Community Edition, témoignent de l'enthousiasme des développeurs », commenteJoffray Anduze, DG France de MongoDB« Cela témoigne de l'appréciation des développeurs pour notre engagement continu à enrichir notre plateforme, pour leur permettre de développer des applications modernes plus rapidement et efficacement, en exploitant pleinement les capacités de l'IA. »

Une plateforme unifiée pour l'ère de l'IA 

Proposant une architecture unique pour l'ensemble de la stack IA, MongoDB s'impose comme la référence pour le RAG (Retrieval Augmented Generation) et les systèmes d'agents. La plateforme permet en effet d'unifier les différents types de données - sources, embeddings vectoriels, métadonnées et données générées - au sein d'un même environnement. 

De plus, d'importantes évolutions techniques sont annoncées pour la fin d'année, notamment l'intégration de la recherche plein texte et vectorielle au sein de MongoDB Community Edition. Ces fonctionnalités faciliteront l'expérimentation et le développement d'applications IA, y compris pour les déploiements edge et on-premise. 

Optimisation des performances et des coûts 

Pour répondre aux enjeux d'optimisation, MongoDB étend ses nœuds dédiés Atlas Search aux trois principaux fournisseurs cloud. Cette fonctionnalité, initialement disponible sur AWS, permet d'isoler les charges de travail des recherches vectorielles sans isoler les données, offrant une gestion plus efficace des ressources via l'Atlas CLI ou l'Infrastructure-as-Code.

Au-delà de l'IA : traitement temps réel et analyse prédictive 

Si l'IA était au cœur de l'événement, MongoDB renforce également ses capacités dans d'autres domaines essentiels. La disponibilité générale d'Atlas Stream Processing, la preview d'Atlas Edge Server et les améliorations de performance pour les séries temporelles dans MongoDB 8.0 permettent de répondre à des besoins variés, de la détection de fraude à la maintenance prédictive.

Vision stratégique et écosystème MongoDB positionne sa plateforme, son réseau de partenaires et ses solutions sectorielles comme des atouts majeurs dans un marché en pleine mutation. Cette approche vise tant les organisations qui débutent dans l'IA générative que celles déjà engagées dans cette transformation.

En simplifiant constamment le travail avec les données, MongoDB poursuit sa mission d'accompagnement des développeurs, de l'expérimentation à l'impact concret. L'entreprise démontre ainsi sa capacité à transformer "le bruit de l'IA" en solutions tangibles pour ses clients.

Catégorie actualité: 
Image actualité AMP: 

PyCharm : 11 (bonnes) raisons d'utiliser dbt Core

20 décembre 2024 à 11:39

L'équipe PyCharm veut nous aider à mieux coder en Python et à optimiser nos codes et couches techniques. Un post mérite une lecture attentive : les bonnes raisons pour utiliser dbt Core dans PyCharm. dbt Core est un frameworks de transformation des données. Il ne fonctionne pas comme un ETL classique, il se concentre uniquement sur le T (T pour transformation). Le E correspond à extraire et le L à chargement. Le framework permet de se connecter à son data warehouse (ou tout autre source de données) et nous aide à préparer les données pour être ensuite transformer pour traitement et analyse. 

Les arguments pour son utilisation dans les projets PyCharm (version Professional) sont :

- modularité et réutilisation du code

- versioning des projets dbt dans Git / GitHub

- tests

- documentation : dbt génère la documentation pour les modèls de données

- l'IDE permet une intégration fluide de dbt

- espace de travail unifié pour les bases de données et le framework

- intégration depuis l'IDE entre Git et dbt

- autocomplétion des fichers yml et SQL

- historique des modifications

- assistance IA

- explorateur de projet dbt complet

Le post et les démos : https://blog.jetbrains.com/pycharm/2024/12/dbt/

Catégorie actualité: 
Image actualité AMP: 

LG ouvre son API ThinQ pour faciliter la domotique

20 décembre 2024 à 08:57

Le constructeur LG a annoncé l'ouverture de son API ThinQ. ThinQ est une plateforme domotique supportée par les matériels du constructeur. Pour faciliter la diffusion de son API et de sa plateforme, LG a ouvert un portail dédié : https://smartsolution.developer.lge.com/ko/cloud/landing

LG propose deux API distinctes : 1 pour les utilisateurs, 1 pour les partenaires. L'API fournit un accès distant aux matériels compatibles. Elle facilite le contrôle de l'appareil et son monitoring. "Pour les utilisateurs individuels, l’API ThinQ offre la possibilité de piloter et de surveiller les appareils électroménagers enregistrés dans l’application LG ThinQ depuis différentes plateformes de maison intelligente. Grâce à cette API, n’importe qui peut créer facilement une maison intelligente personnalisée correspondant à son mode de vie." précise l'annonce.

Les matériels compatibles sont nombreux : électroménager, machine à laver, ventilateur, qualité de l'air, etc. Attention, les scénarii avec l'API standard sont plus limités que l'API Business. Dans les cas d'usage proposés, seule la partie maison intelligente utilise l'API standard. 

A noter que le site développeur ThinQ Cloud est remplacé par le portail API. 

Catégorie actualité: 
Image actualité AMP: 

BADBOX : 192 000 terminaux Android infectés

20 décembre 2024 à 08:07

Il y a quelques jours, l'ANSSI allemande, la BSI, avait alerté sur l'infection de plus de 30 000 terminaux Android par un malware pré-installé en Allemange : BADBOX. Il permet de créer des portes dérobées au coeur du système et déployer des Bot. La criticité est élevée. La BSI avait même décidé de bloquer l'accès à ces 30 000 terminaux. Elle précise que BADBOX touche des versions obsolètes d'Android.

Au-delà de l'Allemagne, BADBOX se diffuse. Plus de 192 000 terminaux sont considérés comme touchés. Mais visiblement, il se propage régulièrement. Les pays les plus touchés : Chine, Russie, Inde

BADBOX appartient à la famille des Triada. L'infection se fait majoritairement par des terminaux provenant de constructeurs peu connus / obscurs. Les hackers piratent alors la chaine de production ou la logistique pour injecter le malware. La première trace de BADBOX remonte à 2023. Le but principal de BADBOX est financier. 

Schéma de fonctionnement du malware (Source: BitSight) :

Catégorie actualité: 
Image actualité AMP: 
❌
❌