# Mistral AI sort Codestral pour la génération de code 

par Olivier Beltramo-Martin 

Mistral AI, la licorne française de l’IA qui a récemment réussi une levée de fonds de 600 m€, vient de lancer le 29 mai Codestral, son premier modèle d’IA générative spécialisé dans la génération de code. Disponible sur Hugging Face, il peut notamment être déployé en local – via ollama – sous la nouvelle licence « Mistral AI Non-Production License » dédiée à la recherche et aux tests (des licences commerciales existent aussi).

Mistral AI annonce un modèle entraîné sur plus de 80 langages de programmation, en particulier C, C++, JavaScript, Python et Bash, pour exécuter plusieurs tâches comme la complétion de code ou encore l’écriture de tests.

Du haut de ses 22 milliards de paramètres et d’une fenêtre contextuelle de 32 000 tokens, quatre fois supérieure à celle du modèle Llama3:70B de Meta (mais qui possède 70 milliards de paramètres), Codetral dépasse l’état-de-l’art sur les tests standards comme HumanEval ou encore CRUXEval

Plusieurs moyens d’exploiter Codestral existent, soit gratuitement  sur Le Chat (modèle à sélectionner en bas à gauche de la barre du prompt) de Mistral ou via API au travers de  La Plateforme avec une facturation par jetons.

De plus, Codestral peut être directement intégré dans les environnements VSCode ou JetBrains en utilisant Continue.dev ou encore Tabnine. Le modèle est aussi disponible à travers les frameworks de création d’applications d’IA générative comme LlamaIndex et Langchain.

# Retour sur le PG Day France 2024 

par Aurélien Morlé et Julien Brissonnet 

Les 11 et 12 Juin derniers s’est tenu à Lille l’édition 2024 du PG Day France. Depuis maintenant plusieurs années, Atol CD est sponsor “supporter” de l’événement. Le PGDay France est un moment de rencontres et de conférences pour la communauté francophone de PostgreSQL.

Il se tient depuis 2008 et chaque édition a lieu dans une ville différente, avec pour ambition de faire naître ou faire grandir une communauté locale. Les précédentes éditions ont eu lieu à Toulouse, Lille, Toulon, Marseille, Lyon, Nantes, Montpellier, Strasbourg.

Cette édition fût riche en découvertes, grâce à ses présentations et à ses moments d’échanges avec d’autres utilisateurs de PostgreSQL et de son écosystème, qui ont permis de mettre en lumière la diversité des possibilités qu’offre cette solution, qui va aujourd’hui bien au-delà du simple SGBD relationnel.

Que ce soit suite aux conférences d’experts, ou aux lightning talk ( de courtes présentations de problématiques ou de cas d’utilisations novateurs ) , nous revenons avec de nombreux sujet en tête qui nous donnent toujours plus envie d’expérimenter et d’approfondir notre connaissance de PostgreSQL afin d’en améliorer notre usage. 

Nous pouvons par exemple citer le lightning talk de Matthieu Cornillon sur l’utilisation de PostgreSQL avec l’extension pgvector. Cette dernière permet de stocker des données sous forme de vecteurs et d’effectuer des calculs de proximité entre ces derniers… Matthieu nous a montré comment il s’en était servi afin de prédire son futur nouveau fromage préféré !

Notre intérêt a également été éveillé par la présentation du développement d’une extension Postgres en Rust par Damien Clochard, grâce à l’utilisation du framework pgrx qui permet de s’abstraire du code C, et d’améliorer l’expérience de développement et de maintenance des extensions, tout en conservant performances et stabilité.

On aura aussi noté précieusement les choses à ne pas faire en production grâce à la conférence “Postgres: des histoires qui font peur” par Jérémie Grauer. On retient notamment la possibilité d’utiliser la nouvelle collation C.UTF-8 qui va arriver avec pg17, afin de ne plus être dépendant de l’os (comportement de tri prédictible et toujours identique).

Et même si l’on fait tout pour éviter les problèmes en production, on a aussi envie d’essayer les sauvegardes incrémentales qui arrivent avec PostgreSQL 17, même si on a bien noté que le chouchou de Stefan Fercot reste pgBackrest, qui offre pour le moment plus de possibilités et de souplesses… mais pour combien de temps ? 😉 

En attendant PostgreSQL 17, on aurait aussi bien envie d’essayer de faire du sharding avec Citus Data comme nous l’a présenté Cédric Villemain dans sa conférence “Le sharding sans complexité”.

Il faudra aussi prendre le temps de bien revoir les fondamentaux avec l’ensemble de ce qui existe dans PostgreSQL pour “Gérer la sécurité dans PostgreSQL : De l’accès au serveur à la donnée” présenté par Stéphane Schildknecht… Une problématique à ne pas négliger.

Et puisqu’il faut continuer à faire vivre la communauté francophone PostrgreSQL, on a fini par imaginer l’organisation d’un Meetup PostgreSQL Dijon, suite au retour d’expérience de Florent Jardin qui fait vivre la communauté Lilloise…
On a d’ailleurs nous aussi joué avec l’IA dans bing afin de trouver des idées pour le logo 😉 

# Sortie de Keycloak en version 25 

par Thomas Broyer et Laurent Meunier 

C’est ce 10 juin que la dernière version majeure 25.0.0 de Keycloak est sortie, soit 3 mois après la version 24.0.0. L’équipe de développement continue les travaux sur la console utilisateur (la “account console v3”) avec pas mal de corrections de bugs et une migration vers PatternFly 5. Ce qui a conduit à la suppression définitive de la “account console v2”, thème qui a été marqué comme déprécié dans la version majeure précédente.

Au niveau des nouveautés intéressantes, on peut noter :

  • la simplification de la configuration du “hostname” (les options “KC_HOSTNAME_*”, désormais dépréciées) avec l’introduction du Hostname v2
  • la nouvelle fonctionnalité, en preview pour le moment, “Persistent user sessions” qui permet de stocker les sessions en base de données et ainsi de ne pas les perdre au redémarrage de Keycloak
  • l’algorithme de hachage du mot de passe évolue encore pour passer de PBKDF2 à Argon2 (toujours dans l’idée de suivre les recommandations de l’OWASP)
  • une nouvelle politique de mot de passe pour rejeter un mot de passe qui contiendrait le nom d’utilisateur
  • les endpoints /metrics et /health sont maintenant disponibles sur un port dédié (le port 9000)
  • la possibilité d’envoyer les logs vers un serveur Syslog
  • le support de PostgreSQL 16 (🎉) et la suppression du driver JDBC Oracle (👋)

Sans oublier l’ensemble des corrections et autres améliorations dont la liste exacte est disponible dans la note de version. Et comme d’habitude, un guide de migration vers la version 25.0.0 est disponible.

Et nous finissons avec la grosse nouveauté de cette version 25.0.0 : l’ajout de la prise en charge du “Customer Identity and Access Management” (CIAM) et du Multiy-tenancy, sous le nom Keycloak Organizations. Cette fonctionnalité, toujours au stade de preview, ajoute le concept d’organisation à un realm. Les organisations peuvent être vues comme du multy-tenancy à l’intérieur d’un realm, plusieurs organisations pouvant être présentes dans un même realm.

Cela ouvre de nouvelles possibilités dans la gestion d’un realm, notamment pour fédérer des utilisateurs provenant de tiers extérieurs (comme des clients ou des partenaires). Chaque tiers étant vu comme une organisation dans un realm Keycloak, et chaque organisation vient avec sa propre gestion : administrateurs de l’organisation, gestion des utilisateurs de l’organisation, IDP spécifiques, etc.