NoSQL

SurrealDB, la base de données Full-Stack

Objectifs de la formation

  • Maîtriser le langage SurrealQL pour manipuler des données complexes.
  • Concevoir une architecture de données performante utilisant les Record Links et les relations Graphes.
  • Sécuriser l’accès direct à la base depuis le Frontend via les Scopes et les Permissions.
  • Implémenter des fonctionnalités avancées : recherche phonétique, Géo-spatial et Full-Text.
  • Déployer et administrer une instance SurrealDB sur le Surreal Cloud.


Programme de la formation

Introduction et Écosystème

  • Architecture Rust
  • binaire unique
  • modes d’exécution (In-memory, TiKV, RocksDB).
  • Présentation de Surrealist (GUI) et du CLI.

Travaux pratiques

Installation, lancement d’une instance locale et exécution de commandes CRUD basiques (CREATE, SELECT, UPDATE, DELETE).

Modélisation Document et Record IDs

  • Flexibilité du Schéma-less vs rigueur du Schéma-full.
  • Types de données étendus (Durations, Datetimes, Géométries).
  • La puissance des Record IDs : IDs numériques, textes (user:georges), ou complexes (object:[‘Paris’, 2026]).

Travaux pratiques

Création d’une table lieu structurée avec des IDs sémantiques et gestion de données imbriquées pour les équipements.

Record Links (Relations 1-N)

  • Remplacer les JOINs par des pointeurs directs.
  • Performance des liens de records.
  • Navigation « Dot-notation » pour traverser les tables à l’infini.

Travaux pratiques

Création d’une table evenement liée à un lieu. Requête de récupération des informations du lieu directement depuis la table événement sans jointure.

Relations Graphes (Relations N-N)

  • Syntaxe RELATE.
  • Les tables de relations (Edges).
  • Stocker des propriétés sur les arcs (ex: date d’amitié, rôle dans un groupe).
  • Traversée bidirectionnelle (-> et <-).

Travaux pratiques

Modélisation du plan de table : lier les invités aux tables avec une table de relation affectation contenant le choix du menu.

Scripting et Fonctions JavaScript

  • DEFINE FUNCTION pour centraliser la logique.
  • Utilisation du moteur V8 embarqué pour écrire des fonctions complexes en JavaScript.
  • Passage de paramètres et typage de retour.

Travaux pratiques

Écrire une fonction fn::salutation($nom) en JS qui gère les cas particuliers d’affichage et de civilité.

Événements et Automatisation

  • Les EVENTS (Triggers) sur CREATE, UPDATE ou DELETE.
  • Utilisation de $before et $after.
  • Champs calculés dynamiquement avec la clause VALUE.

Travaux pratiques

Création d’un trigger qui met à jour automatiquement le nombre de places restantes sur une table dès qu’un nouvel invité y est lié.

Sécurité, Authentification et Scopes

  • Architecture « No-Backend ».
  • Définition des SCOPES pour l’inscription et la connexion.
  • Variables $auth et $session.
  • Sécurité granulaire avec PERMISSIONS au niveau des tables et des champs.

Travaux pratiques

Créer un portail où un invité se connecte avec son email/pass et ne peut modifier que sa propre fiche (nom, menu) mais pas celle des autres.

Full-Text Search et Phonétique

  • Configuration des ANALYZERS (tokenizers, filters).
  • Indexation FULLTEXT.
  • Recherche floue avec l’opérateur @@.
  • Introduction à la phonétique (Phonex/Soundex).

Travaux pratiques

Mise en place d’une barre de recherche capable de trouver « Lefebvre » même si l’utilisateur tape « Lefevre » ou « Luvr ».

Géolocalisation et Indexation Spatiale

  • Géométries GeoJSON.
  • Index MTREE 2D.
  • Fonctions de distance et opérateurs d’inclusion (INSIDE).

Travaux pratiques

Implémenter une recherche de proximité pour lister les parkings disponibles dans un rayon de 2km.

Temps Réel et Déploiement Cloud

  • LIVE SELECT et WebSockets.
  • Architecture distribuée.
  • Découverte de Surreal Cloud.
  • Stratégies de backup et migration.

Travaux pratiques

Déploiement de la base finale sur le Cloud et test d’une Live Query : voir les confirmations d’invités s’afficher instantanément sur un tableau de bord sans rafraîchir la page.

MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS

Modalités pédagogiques :

  • Évaluation des besoins et du profil des participants.
  • Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
  • Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
  • Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
  • Méthodes expositive, active et participative.
  • Réflexion et échanges sur cas pratiques.
  • Retours d'expériences.
  • Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.

Éléments matériels :

  • Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
  • Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.

Référent pédagogique et formateur :

  • Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
  • Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
  • Feuilles de présences signées des participants et du formateur par demi-journée.
  • Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
ArangoDB, la base de données NoSQL multi-modèle (Prev Lesson)
Back to NoSQL
Public

Développeurs (Back, Front ou Full-stack) et Architectes logiciel.

Pré-requis

Connaissances SQL ou NoSQL, avoir quelques notions de développement d'API

Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en effectuant le test disponible en bas de cette page.

Lieu de formation

Intra-entreprise/à distance

Dates ou période

À définir. Nous consulter

Tarif

Sur devis. Merci de nous contacter

Modalités

Pour s’inscrire à notre formation, veuillez nous contacter par mail ou téléphone.

Démarrage de la formation sous deux semaines (délai indicatif).

Nous contacer
Informations complémentaires

Pour toute réclamation, aléas ou difficultés rencontrés pendant la formation, veuillez prendre contact avec notre organisme par téléphone ou par e-mail. Nous mettrons tout en œuvre pour trouver une solution adapter.

Formation synchrone, réalisée à distance en visioconférence via l’application Microsoft Teams ou en présentiel dans les locaux du client.