Journal Optimisez votre code !

Posté par  . Licence CC By‑SA.
Étiquettes :
75
7
déc.
2017

Cher journal,
Je voudrais te raconter une histoire, qui n'est peut-être pas encore finie d'ailleurs, qu'on pourrait résumer en 1 mot : OPTIMISATION !

Tout commence en tout début d'année : je suis embauché chez Chacun cherche son Film, une toute petite (5, moi inclus) boite qui développe un site Web faisant la promotion du cinéma indépendant. Cette boite a fait le (très mauvais, comme on va le voir) choix de faire développer son site par une boite de prestation (…)

Journal TapTempo.sql

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
72
8
juil.
2023

Ce journal fait suite à la dépêche publiée mardi à propos de SQLPage. Si vous ne l'avez pas encore lu, c'est le moment !

Pour résumer: SQLPage est un petit serveur web qui permet de réaliser des applications web complètes en SQL.

Pas de bras, pas de chocolat

Il se trouve que SQL est l'un des rares langages de programmation populaires pour lequel il n'y a pas d'implémentation de TapTempo. La raison semble assez évidente: le principe de (…)

Requêtes et jointures avec pgModeler (PostgreSQL)

Posté par  . Édité par BAud, Davy Defaud, Ysabeau 🧶, Benoît Sibaud, claudex et ZeroHeure. Modéré par claudex. Licence CC By‑SA.
64
29
jan.
2020
Base de données

Bon, voilà, j’ai développé ce greffon pour pgModeler (C++/Qt), et j’ai envie de le partager dans une petite dépêche.

Mes motivations principales étaient de pouvoir effectuer des requêtes dans mon logiciel de modélisation préféré, bien entendu, et le fait que les logiciels de modélisation que je connais ne prennent pas en charge les jointures existantes ou automatiques.

Votre client SQL est cool ? Mais est‑il cool à ce point ?! :)

Rapide présentation de pgModeler

pgModeler est un logiciel de modélisation de base de données. Bien que plutôt généraliste — si l’on s’en tient à un modèle logique des données — il est spécialisé PostgreSQL. Il permet entre autres de :

  • construire par interface graphique un modèle de base de données (tables, schémas, rôles…), mais bien plus ; en fait, il propose toutes les fonctionnalités offertes par PostgreSQL, allant jusqu’aux extensions PostGIS ;
  • créer une base de données à partir d’un modèle : passer de la représentation à l’implémentation ;
  • à l’inverse, créer un modèle à partir d’une base de données ;
  • comparer une instance PostgreSQL avec un modèle et produire — voire réintégrer — les différences entre schémas ;
  • administrer sa base, avec un module riche, mais qui n’égalera sans doute pas pgAdmin ;
  • produire un dictionnaire des données.

Des discussions sont en cours pour rendre pgModeler nativement compatible avec les autres systèmes de gestion de bases de données relationnelles (SGBDR) grâce à l’excellent extracto‑chargeur (ETL) pgLoader.

Écrire une appli web en une journée avec SQLPage

Posté par  (site web personnel) . Édité par Nÿco, Benoît Sibaud, devnewton 🍺, gUI, BAud et bobble bubble. Modéré par Nÿco. Licence CC By‑SA.
59
4
juil.
2023
Technologie

Aujourd'hui, je souhaite vous présenter le logiciel SQLPage, un outil open-source (MIT) qui permet de développer des applications web complètes, avec une belle interface graphique et une base de données, entièrement en SQL.

Le SQL est un langage très simple, qui permet de faire des recherches dans des base de données. Il est utilisé depuis les années 80, et est encore omniprésent aujourd'hui. Contrairement aux langages de programmation traditionnels, on peut apprendre les bases de SQL en une journée, et commencer à faire des requêtes complexes croisant plusieurs tables de données très rapidement.

Dans une application web traditionnelle, on développe aujourd'hui en général trois composants :

  • un front-end, qui gère uniquement l'interface utilisateur,
  • un back-end, qui traite les requêtes du front-end et contient le cœur de la logique de l'application lorsque celle-ci est complexe,
  • une base de données qui va stocker et structurer les données, s'assurant de leur cohérence et de leur bonne organisation.

Les deux premiers éléments sont en général ceux sur lesquels les programmeurs passent le plus de temps lors du développement d'une application. Et pourtant, c'est souvent le dernier, la base de données, qui contient la substantifique moelle de l'application !

Ce que propose SQLPage, c'est de s'abstraire complètement du back-end et du front-end, et générer toute une application entièrement en SQL. Nous allons voir ici comment c'est possible, avec un exemple concret d'application que nous allons construire ensemble en SQL : à la Tricount.com, une petite application qui permet de gérer ses comptes entre amis.

Journal Graph my database

Posté par  . Licence CC By‑SA.
58
28
mar.
2021

Que ceux qui n'aiment pas les graphes quittent immédiatement ce journal.

Je travaille sur Mobilizon, le logiciel développé par Framasoft, pour s'affranchir de Faïcebouc dans l'organisation de groupe et d'événements.

Je voulais avoir une représentation graphique du modèle de données. Pas à la main bien sûr, mais construit à partir de la base de prod.

Comme j'utilise au quotidien SquirrelSQL et qu'il a un plugin graph, essayons :


Pas terrible. Direction un moteur de recherche web.

Je trouve (…)

Journal Fusionner deux profils signal-desktop pour retrouver ses conversations

54
18
avr.
2022

Me revoilà pour un journal un peu technique. On part à l’aventure et on va notamment parler de Signal, de SQL, SQLite, de son extension fts5 (vite fait) et de SQLCipher (variante de SQLite capable de chiffrer les bases de données, découverte à l’occasion), et de fusion de deux bases de données Signal pour reconstruire un historique complet et « réparer » un profil Signal un peu moisi.

Généralités sur Signal

Signal est une application de messagerie instantanée chiffrée de (…)

École Inclusive: une application libre pour la prise en charge des élèves en situation de handicap

50
6
mar.
2024
Éducation

Directeur adjoint d’un collège en Occitanie, chargé de la SEGPA et de l’accueil des élèves en situation de handicap, je me suis retrouvé dans une situation où le suivi des élèves et de leurs accompagnants devenait difficile, notamment par manque d’outils adaptés.

Loin de me décourager, j’ai créé ma propre application de suivi, École Inclusive, en utilisant le cadriciel libre SQLPage et la publie aujourd’hui sous licence GPLv3. Ce projet a été possible grâce au support proposé par la documentation en ligne et à de fréquents échanges avec Ophir Lojkine, créateur de SQLPage.

Sans aucune connaissance préalable en programmation, j’ai réalisé toute cette application en SQL. Cela permet un large panel de fonctionnalités pour École Inclusive, qui gère tout le suivi horaire des élèves, des classes et des accompagnants, les emplois du temps, les statistiques, les notifications, l’identification des utilisateurs avec plusieurs niveaux de permission.

Logo

SPARQL, le SQL du Web, et Linked Data Fragment : le point sur le requêtage du Web

Posté par  . Édité par Davy Defaud, bubar🦥, palm123, Benoît Sibaud et ZeroHeure. Modéré par Nils Ratusznik. Licence CC By‑SA.
Étiquettes :
49
1
jan.
2017
Base de données

« Chère pêche »,

En ce début d'année, il ne me semble pas inutile de faire le pont entre la rétrospective et la perspective, afin de conjuguer l’avenir du Web au présent. :-)

Le but de cette dépêche est de faire un tour d’horizon de technologies permettant de faire des requêtes sur des données structurées : le Web sémantique. Comment il a évolué en dix ou quinze ans et ce qu’il permet de faire. Après une introduction contextuelle et historique, il sera question de Sparql et de linked data fragments, ainsi que de leurs usages en pratique chez Wikimedia Foundation.

Accrochez‐vous à votre fauteuil, il va être question de niveaux d’abstractions, d’enrichissement croisé de données, de manipulation de tables, de la pertinence du choix de RDF par rapport à SQL, des outils utilisés par les contributeurs Wikimedia mis au point par les développeurs du projet et, enfin, des limites actuelles et d’un avenir possible.

Journal web moderne, bases de données et beauté logiciel libre

Posté par  (site web personnel) . Licence CC By‑SA.
47
11
juin
2014

J'aimerais parler ici de mon expérience lors du développement de sql.js, un port de SQLite en javascript. Pour ceux qui ne s’intéressent pas aux technologies du web, la fin de ce journal pourrait quand même vous intéresser, on va parler de SQLite.

Web moderne

Ceux d'entre vous qui s'intéressent aux technologies modernes du web ont certainement entendu parler d’emscripten, et d’asm.js.

Emscripten est un compilateur de bitcode LLVM en Javascript. Il permet de compiler du (…)

Migrer de Oracle à PostgreSQL : Ora2Pg

Posté par  (site web personnel) . Édité par baud123, Florent Zara, Yves Bourguignon et olivierweb. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
45
13
mar.
2012
Base de données

Une nouvelle version 8.10 de Ora2Pg est sortie ce 2 mars 2012 ; cet outil, développé en Perl depuis 2005, permet d'exporter le schéma d'une base de données Oracle vers PostgreSQL. Il est disponible sous licence GPL3+.

Les fonctionnalités de migration automatique proposées concernent les schémas, mais aussi les données et — en partie — les fonctions voire les procédures PL/SQL :

  • export de schéma complet
    • tables, vues, séquences, index
    • droits/privilèges pour des utilisateurs et groupes
    • export des vues Oracle en tant que table PostgreSQL
  • export de données
    • par table
    • export complet des données ou par sélection via une clause WHERE
    • gestion des objets BLOB Oracle en tant que PG BYTEA
  • export des fonctions prédéfinies, triggers, procédures, packages
    • assistance simple à la conversion de code PL/SQL en code PL/pgSQL
    • pour le code spécifique PL/SQL, la conversion reste principalement manuelle

Ce genre d'outil permet de migrer un parc de bases de données Oracle vers un vrai gestionnaire de base de données relationnelles libre tel que PostgreSQL. Les retours d'expérience sont les bienvenus ! Cela peut être la première étape d'une migration, sans oublier d'effectuer les adaptations et tests de non-régression des développements applicatifs se connectant à votre base de données.

Réviser SQL en jouant au détective : SQLNoir

Posté par  (site web personnel) . Édité par Arkem. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
41
26
fév.
2025
Base de données

SQL Noir est un jeu libre (licence MIT) par Hristo « Cool as a cucumber » Bogoev, où vous incarnerez le rôle d’une personne enquêtant sur un crime, mais à grand renfort de requêtes SQL. Le SQL pour Structured Query Language ou « langage de requêtes structurées » est un langage informatique normalisé servant à exploiter des bases de données relationnelles (Wikipédia).

Logo SQL Noir

Bref vous avez une interface web qui vous permet de faire des requêtes dans les bases de données de témoins, suspects, enregistrements audio ou vidéo, etc., et vous devez trouver qui est la personne ayant commis le crime. Sur le principe vous allez identifier des éléments dans les données, traquer les infos correspondantes ou manquantes, faire le lien entre les éléments, repérer des liens entre personnes ou des transactions, et tout cela avec des requêtes SQL.

Il y a actuellement 4 enquêtes disponibles (et probablement plus à venir). C'est rapide, ludique, joli et ergonomique. L'outil aide en suggérant les mots clés SQL ou les noms de tables par exemple. L'outil dispose d'une zone pour prendre des notes, ce qui est à la fois pratique pour garder trace des requêtes SQL, mais surtout des résultats, et vous en aurez besoin pour les cas compliqués.

Le premier commit du projet date du début du mois, et le projet est donc assez jeune, tout en étant à la fois prometteur, et déjà très sympa.

Note: full disclosure, LinuxFr.org utilise du SQL. Cette information est-elle pertinente ici ? Absolument pas, mais des fois il y a des infos inutiles dans les enquêtes. Et merci à @siltaer d'avoir partagé ce message qui m'a fait découvrir ce jeu.

Sortie de PostgreSQL 9.2

Posté par  (site web personnel) . Édité par Davy Defaud, Nÿco, Benoît, claudex, baud123 et Florent Zara. Modéré par Florent Zara. Licence CC By‑SA.
Étiquettes :
40
10
sept.
2012
Base de données

Le gestionnaire libre de base de données relationnelle PostgreSQL vient de sortir en version 9.2. Cette version est principalement axée sur l’amélioration des performances.

Logo PostgreSQL

Des informations très détaillées se trouvent sur la page du wiki « What's new in PostgreSQL 9.2 ». La liste des principales nouveautés se trouve en seconde partie de dépêche.

Journal Des emojis en SQL ? C'est possible… et on peut aller au-delà !

Posté par  (site web personnel, Mastodon) .
Étiquettes :
31
9
mar.
2019

Le saviez-vous ?

On peut utiliser des emojis en SQL, et pas seulement pour les manipuler : les emojis peuvent servir d'identifieurs !

Avec PostgreSQL, peut donc faire des choses comme :

CREATE TABLE 👤(
    🔑 INTEGER PRIMARY KEY,
    🗣 varchar(64), -- name
    🗓 DATE -- date of registration
);

Voire carrément :

CREATE TYPE  AS ENUM ('🤢', '☹', '😐', '🙂', '😍');

-- [...]

-- select
(…)

Exploitez vos SGBD grâce à dbSQWare

Posté par  (site web personnel) . Édité par Nÿco et claudex. Modéré par Pierre Jarillon. Licence CC By‑SA.
30
24
mai
2014
Base de données

Une petite précision tout d'abord sur ce qu'est un SGBD ! Voici ce que nous écrit Wikipédia à ce sujet "En informatique un système de gestion de base de données (abr. SGBD) est un logiciel système destiné à stocker et à partager des informations dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant la complexité des opérations."
Il en existe un grand nombre, plus ou moins libres et plus ou moins répandus. Dans les plus connus du monde libre, il y a notamment MySQL, PostgreSQL…

À l'heure actuelle, une grande majorité des applications voulant stocker de l'information le fait dans un SGDB. Par exemple, nombre de sites web sont développés en environnement LAMP dont le "M" vient de MySQL. Vient ensuite une autre précision à donner sur ce qu'est "l'exploitation" de ces SGBD. Cela regroupe en fait les tâches récurrentes (souvent automatisées) faites par les administrateurs de bases de données.

La première qui vient à l'esprit est celle de backup (sauvegarde). En général, quand on stocke de l'information, c'est que l'on ne veut pas la perdre ! Il est donc de bon ton d'avoir un système de backup efficace qui nous permettra de récupérer nos données perdues ou altérées en cas de problème (matériel, logiciel, erreur humaine…).

Viennent ensuite les tâches dédiées à la performance comme l'update statistics ou la réorganisation (là, on est dans le barbare pour certains, mais on tâchera d'écrire un article dessus si cela intéresse du monde).

Et enfin, il est bien de pouvoir avoir une vision globale de son parc de SGBD en terme de type, version, volumétrie… c'est ce que l'on appelle la gestion de la CMDB et du capacity planning.

Un outil a été développé dans ce sens pour regrouper toutes ces tâches (et bien d'autres), il s'agit de dbSQWare.

Désolé, j'ai forké

Posté par  (site web personnel) . Édité par Ysabeau 🧶, BAud, Nils Ratusznik et Arkem. Modéré par Ysabeau 🧶. Licence CC By‑SA.
29
25
août
2023
Rust

Forker un logiciel libre (en créer une nouvelle version indépendante de l’original) est une décision difficile, qui risque de diviser sa communauté. Je propose ici la traduction en français d’un article que j’avais initialement écrit en anglais et publié sur le blog du logiciel de création de sites web SQLPage à propos du fork d’une bibliothèque populaire du langage de programmation Rust.