veilletech.fr
8 sept. Feed du jour
#04 DEVOPS Article

Appwrite 2.0 ouvre un accès direct à Postgres

Une plateforme qui vous rend le port 5432 vous rend aussi la sortie.

Appwrite 2.0 ajoute des bases PostgreSQL et MySQL natives accessibles directement par leur protocole, sans passer par l'API de la plateforme, plus deux bases gérées : DocumentsDB (JSON sans schéma) et VectorsDB (index HNSW, API d'embeddings intégrée). S'y ajoutent une API de stockage compatible S3 et un serveur OAuth 2.1 / OpenID Connect. Les projets cloud migrent seuls ; une installation auto-hébergée en 1.9 exige une migration explicite.

3 min de lectureintermédiairevidéo 1:27
Partager
Sommaire5 sections
  1. Ce qui se passe
  2. Deux bases gérées de plus
  3. Stockage et identité
  4. Ce qu'il faut vérifier avant de migrer
  5. À retenir

Ce qui se passe

Appwrite est une plateforme backend-as-a-service open source : authentification, base de données, stockage de fichiers, fonctions serveur, messagerie et temps réel derrière un jeu d'API et de SDK, en auto-hébergement ou en service géré.

La version 2.0 lève l'objection qu'on adresse à toute plateforme de ce type : la base est derrière leur API, donc vos migrations, votre ORM et vos outils SQL restent dehors. Elle ajoute des instances PostgreSQL et MySQL natives auxquelles l'application se connecte par le protocole standardpsql, un client MySQL, un pilote, votre propre ORM. Appwrite provisionne et exploite, mais ne s'interpose plus entre l'application et la base.

Les versions retenues : PostgreSQL 18 par défaut, 17 en variante ; MySQL 8.4 ou 8.0. Sur une nouvelle installation auto-hébergée, PostgreSQL devient le choix par défaut, MariaDB et MongoDB restant supportés.

Deux bases gérées de plus

DocumentsDB stocke du JSON sans schéma fixe : deux documents d'une même collection peuvent porter des champs différents, et ajouter une propriété ne déclenche aucune migration. Les permissions au document, les requêtes, le tri et la pagination restent disponibles via les SDK. C'est la réponse aux données venues d'API tierces, dont la forme change sans prévenir.

VectorsDB vise la recherche et le RAG. Chaque collection fixe sa dimension de vecteur ; chaque entrée porte ses métadonnées. La recherche de similarité s'appuie sur un index HNSW et accepte la similarité cosinus, le produit scalaire et la distance euclidienne. Une API d'embeddings intégrée convertit le texte en vecteurs — de quoi éviter d'exploiter un service d'embeddings séparé pour un premier index.

Stockage et identité

Le stockage gagne une interface compatible S3, en AWS Signature Version 4, qui projette les opérations S3 sur les buckets et fichiers Appwrite existants. L'AWS CLI, les SDK AWS et des outils comme rclone fonctionnent donc directement. Les deux API cohabitent : un fichier envoyé par S3 apparaît dans la console, et réciproquement.

Nouveauté plus structurante côté identité : un serveur OAuth 2.1 avec OpenID Connect. Un projet Appwrite peut lui-même devenir fournisseur d'identité — des applications tierces s'enregistrent comme clients et proposent un « Se connecter avec … », ou accèdent de façon limitée aux ressources du projet. Sont annoncés PKCE, l'introspection et la révocation de jetons, les jetons d'accès JWT, le Device Authorization Grant et l'enregistrement dynamique de clients. Une interface partenaire permet de gérer applications, URL de redirection, secrets et identité visuelle.

La console est refaite (Console IV, sur TanStack) et réunit console, documentation, blog et changelog, avec un terminal qui exécute la CLI dans le navigateur, contexte de projet et session déjà en place.

Ce qu'il faut vérifier avant de migrer

À retenir

L'accès direct à la base est le point qui change une décision : il transforme l'adoption d'Appwrite en choix réversible, puisqu'on peut partir avec ses données et ses outils habituels. Le serveur OAuth 2.1 et VectorsDB élargissent le périmètre au même moment — beaucoup de nouveautés pour une seule version, donc autant de surface à éprouver avant de porter une installation existante.

Source en allemand.

Source : heise Developer