Génération d'identifiants personnalisés avec Spring Data JPA et Hibernate
Problématique de l'identifiant auto-incrémenté
Lors de la persistance d'entités avec Spring Data JPA, un comportement inattendu survient fréquemment : même si une valeur d'identifiant (ID) est explicitement définie dans l'objet métier avant l'appel à la méthode save(), JPA l'ignore et laisse la base de données (comme MySQL) générer un identifia ...
Publié le 15 juin à 21h15
Configuration d'un environnement LAMP sous Ubuntu
Cet article présente le processus de mise en place d'une infrastructure LAMP, où L représente Ubuntu (le système d'exploitation), A correspond à Apache (le serveur web), M désigne MySQL (le système de gestion de base de données) et P fait référence à PHP (le langage de script).
Ubuntu : Installation du système
Étape 1 : Installation d'Ubuntu 22 ...
Publié le 15 juin à 20h29
Mécanismes de transaction et de verrouillage en base de données avec exemple de prévention de surpaiement concurrentiel
Caractéristiques fondamentales d'une transaction : ACID
Pour aborder les niveaux d'isolation, il est essentiel de comprendre les propriétés clés d'une transaction, résumées par l'acronyme ACID :
Atomicité (Atomicity) : Une transaction est une unité indivisible. Toutes ses opérations réussissent, ou elles sont toutes annulées.
Cohérence (Consis ...
Publié le 15 juin à 19h59
Implémentation d'une fonction de recherche de fuseau horaire mondial avec FreeGeoDB
Utilisation de FreeGeoDB pour les requêtes de fuseaux horaires
FreeGeoDB est une base de données géographique open-source qui inclut des informations sur les fuseaux horaires, les villes et les pays. Pour construire des applications gérant le temps à l'échelle mondiale, on peut exploiter ses données de fuseaux horaires structurées.
Structure de ...
Publié le 15 juin à 05h49
Résolution des exercices SQL NiuKe 255, 253, 256 et LeetCode 1294
Exercice NiuKe 255 : Extraire les prénoms avec un rang impair dans la table employees
Description
Pour la table employees, affichez les prénoms (first_name) dont le rang, lorsqu'ils sont triés par ordre croissant de first_name, est impair. La table est définie comme suit :
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` d ...
Publié le 14 juin à 21h15
Les types de données dans MySQL : principes et exemples pratiques
Introduction aux types de données
Le moteur de stockage influence la structrue des tables, et chaque colonne doit utiliser un type de données approprié. Ces types définissent la nature des valeurs stockées, leur taille et leur précision. Bien que la largeur soit souvent optionnelle, elle peut affecter l'affichage.
Aperçu des types courants
Num ...
Publié le 14 juin à 20h32
Introduction aux fondamentaux de PHP
PHP est un langage de script open source, principalement exécuté côté serveur, conçu pour le déveolppement web et intégrable directement dans le code HTML.
Mise en place de l'environnement
Pour commencer, installez un stack serveur adapté à votre système d'exploitation. Des solutions comme XAMPP, WAMP, MAMP ou LAMP fournissent un environnement ...
Publié le 14 juin à 17h09
Principes des index MySQL et optimisation des requêtes
Introduction
Les systèmes d'application courants présentent un ratio lecture/écriture d'environ 10:1. Les opérations d'insertion et de mise à jour standard posent rarement des problèmes de performance. En production, ce sont les requêtes complexes qui sont les plus fréquentes et les plus susceptibles de causer des problèmes. L'optimisation des ...
Publié le 14 juin à 16h03
Sécurisation des accès MySQL : Gestion de la complexité et de l'expiration des mots de passe
Lors des audits de sécurité des bases de données, la politique de gestion des mots de passe est un critère fondamental. MySQL intègre nativement des mécanismes pour imposer des règles de robustesse et définir des cycles de vie pour les identifiants. Voici comment configurer ces paramètres pour renforcer la posture de sécurité de votre instance. ...
Publié le 14 juin à 03h52
Système de Gestion de Services de Tutorat Développé avec Spring Boot, Vue.js et Node.js
Pile technologique
Backend : Spring Boot (Java) expose une API RESTful, intégrant MyBatis ou JPA pour l'interaction avec la base de données.
Frontend : Vue 3 (Composition API) et TypeScript, avec une bibliothèque d'interfaces telle qu'Element Plus ou Vant UI.
Couche intermédiaire : Node.js (Express ou NestJS) pour la logique métier spécifique o ...
Publié le 14 juin à 01h05