Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Aujourd’hui — 3 mai 2024Actualités libres

French Days : moins de 200 € pour un smartphone 5G aux bonnes performances

3 mai 2024 à 13:00

[Deal du jour] OnePlus possède une grande gamme de smartphones pour tous les budgets. Le OnePlus Nord 3 CE Lite est un smartphone milieu de gamme 5G doté d'une très bonne autonomie et aux performances dont il n'a pas à rougir. Il passe sous les 200 € pour les French Days.

RootDB - une application web de reporting, auto-hebergée

Logo de RootDB
Présentation rapide de RootDB, une application auto-hébergeable open-source (AGPLv3), permettant de générer des rapports à base de requêtes SQL.

Dashboard

Sommaire

Genèse du projet

Pour les besoins d'un client, il fallait que je génère rapidement des statistiques d'usage diverses et variées (à bases de tableaux et graphiques), à partir de plusieurs base de données relationnelles classiques et que j'intègre ces rapports dans un backoffice.

Le premier réflexe fut de me tourner vers une solution que j'ai utilisée pendant une dizaine d'années auparavant et qui se nomme MyDBR. Cela répondait parfaitement à son besoin tout en étant abordable. MyDBR, bien maitrisé, permet de faire énormément de choses, mais l'interface est vraiment datée et l'accès aux fonctionnalités des bibliothèques graphiques se fait par l’intermédiaire de wrappers en SQL.

J'ai cherché des alternatives, auto-hébergeables, simples à mettre en place, maintenues et avec la même logique pour la création de rapport mais je n'ai pas trouvé mon bonheur. Il y a, évidemment, pleins de solutions qui existent mais il y avait toujours quelque chose qui n'allait pas après essai, que ce soit dans la manière de générer des rapports ou bien les pré-requis, parfois compliqués, pour l'hébergement.

D'ou l'idée de créer, avec un collègue, notre propre solution de reporting - parce que pourquoi pas, finalement.

Open-source

Ce projet n'était pas open-source à la base et nous pensions simplement vendre des licences d'utilisation.

Sauf qu’aujourd’hui beaucoup de monde utilise le cloud, et ce dernier vient avec ses solutions intégrées de reporting, limitant de fait l'intérêt de ce genre de projet. Pour faire bref, je reste convaincu que tout le monde n'est pas sur le cloud et que ce genre de solution peut encore intéresser quelques personnes.
À cause des doutes sur la pertinence même du projet, je n'ai jamais sérieusement cherché du financement, ce qui ne m'a jamais permis d'être à temps plein dessus. Nous avons donc mis du temps avant de produire quelque chose d'exploitable dans un environnement de production : un an et demi environ.
À cela s'ajoute le fait que ce projet n'existerait pas sans toutes les briques open-source sur lesquelles il se base. Et comme c'est l'open-source qui me fait vivre depuis un certain nombre d'années, il me semblait finalement bien plus naturel de rendre ce projet open-source (licence AGPLv3) que d'essayer de le vendre en chiffrant le code source.

RootDB ?

Étant familier du SQL et du JavaScript, nous voulions avoir une solution qui ne mette pas de bâtons dans les roues du développeur, à savoir :

  • utiliser principalement le SQL pour la récupération et le traitement des données ;
  • avoir un accès intégral à la bibliothèque graphique choisie ;

Ce choix de préférer un environnement de développement de rapport orienté développeur est assumé, d'où le nom du projet.

Fonctionnalités

Je ne vais pas vous présenter toutes les fonctionnalités car le site web principal et l'instance de démonstration les présentent déjà correctement. Je vais donc plutôt mettre en avant les spécificités du projet.

Websocket

Les requêtes SQL peuvent prendre du temps à tourner, surtout si les tables ne sont pas correctement optimisées. Par conséquent l'interface repose lourdement sur les websockets afin d'éviter les problèmes de timeout. Quand un rapport est exécuté, l'exécution des différentes requêtes est dispatchée de manière asynchrone et les vues affichent des résultats uniquement quand les données arrivent sur le websocket du rapport.
D'une manière générale toute l'interface est rafraichie par websocket.

Bibliothèques graphiques au choix

Nous donnons accès à Chart.js ou D3.js, sans limitation, sans wrapper. Il est donc possible de se référer directement à la documentation officielle de ces deux bibliothèques.

Onglets & Menu

Nous aimons bien les menus. :)
C'est simple, élégant et permet d'accéder à beaucoup d'options de manière claire.
L'interface repose sur une barre de menu principale dynamique et une barre d'onglets dans lesquels s'affiche les différentes parties de l'application. Il est donc possible d'ouvrir plusieurs rapports (ou le même) dans le même onglet du navigateur web.

Cache

Il existe deux niveaux de cache :

  • un cache utilisateur, pratique pour cacher des résultats de manière temporaire afin de partager des résultats avec un autre utilisateur.
  • un cache système (jobs) ou il est possible de générer du cache de manière périodique. Nécessaire pour des rapports qui utilisent de très grosses tables qu'il n'est parfois pas possible d'optimiser.

Paramètres en entrée

Il est très facile de générer ses propres paramètres afin de filtrer les rapports, que ce soit sur une plage de date, une liste d'options sortie d'une base de données, des cases à cocher etc.

Liens entre rapports

Que ce soit avec Chart.js ou bien un tableau, vous pouvez créer des liens entre vos rapports ou bien sur le même rapport pour faire des rapports de type drill-down.

Hébergement

Côté API, RootDB est une application Laravel qui fonctionne sur du PHP en version 8.2.x (voir 8.3.x, mais pas encore bien testé) et utilise Memcached pour la gestion du cache.
Le serveur de websocket est propulsé par Laravel Reverb.
Côté Frontend, il s'agit d'une application React classique, en TypeScript, qui utilise PrimeReact pour la suite de composants prêt-à-l'emploi.

Conclusion

Concernant les fonctionnalités que nous aimerions mettre en place petit à petit :

  • une interface de configuration pour Chart.js - afin de, quand même, rendre plus simple la configuration des charts, tout en laissant la liberté au développeur de coder en javascript les fonctionnalités avancés ;
  • un nouveau type de connecteur pour supporter Microsoft SQL Server ;
  • une fonctionnalité d'auto-rafraichissement des rapports ;
  • l'import asynchrone de gros fichiers CSV ou Excel.

Nous pouvons aider à l'utilisation, par l’intermédiaire :

  • d'un salon discord mais ce n'est pas forcément idéal pour ce genre de projet. Je suis donc entrain de regarder du côté de Matrix, éventuellement ;
  • un forum classique.

Voilà, c'était une brève présentation de RootDB.
C'est un projet qui n'a pas encore été testé par beaucoup de monde, d’où cette présentation pour le faire connaitre un peu plus.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Des petits malins trichent dans Pokémon Go en manipulant OpenStreetMap

3 mai 2024 à 11:12

Des tricheurs de Pokémon Go s'amusent à manipuler les données d'OpenStreetMap afin de créer de faux endroits. L'objectif ? Accueillir des Pokémon qui apparaissent uniquement dans des conditions spécifiques.

Microsoft n’a jamais été aussi près de faire sauter les mots de passe pour de bon

3 mai 2024 à 10:36

mots de passe explosion

Microsoft étend un peu plus la prise en charge des passkeys (clés d'accès), en les généralisant sur les comptes de particuliers. Le géant des logiciels ne s'est jamais autant éloigné des mots de passe qu'aujourd'hui.

Il existe un passe Navigo avantageux qui ne coûte pas 86 € tous les mois

Par : Nelly Lesage
3 mai 2024 à 08:50

Le forfait Navigo Liberté+ est moins connu que les passes mensuels et annuels. C'est pourtant une option intéressante si vous voyagez dans Paris en métro et RER. Voici ce qu'il faut savoir sur ce titre de transport d'Île-de-France Mobilités.

Mini 3 : le drone compact de DJI est encore plus abordable pendant les French Days

3 mai 2024 à 07:45

[Deal du jour] Le DJI Mini 3 est un drone léger qui en a dans le ventre, idéal pour débuter. Ce modèle facile à prendre en main est bien moins cher pour les French Days.

Il y a une astuce pour réduire encore plus le prix des PC portables Lenovo pour les French Days [Sponso]

Par : humanoid xp
3 mai 2024 à 05:43

Cet article a été réalisé en collaboration avec Lenovo

Les French Days sont l’occasion de réaliser de bonnes affaires. Jusque-là, rien de bien surprenant. Pour cette édition, Lenovo a toutefois décidé d’innover avec une solution originale qui fait baisser encore un peu plus le prix de ses PC portable : retirer Windows de l’équation.

Cet article a été réalisé en collaboration avec Lenovo

Il s’agit d’un contenu créé par des rédacteurs indépendants au sein de l’entité Humanoid xp. L’équipe éditoriale de Numerama n’a pas participé à sa création. Nous nous engageons auprès de nos lecteurs pour que ces contenus soient intéressants, qualitatifs et correspondent à leurs intérêts.

En savoir plus

Les voitures électriques françaises prennent leur revanche

3 mai 2024 à 05:31

4 voitures électriques françaises dominent le classement des immatriculations du mois d’avril 2024. C’est une bonne nouvelle pour Peugeot et Renault. Dommage que ce soit un succès en trompe-l’œil.

Hier — 2 mai 2024Actualités libres

[$] Inheritable credentials for directory file descriptors

Par : corbet
2 mai 2024 à 15:10
In Unix-like systems, an open file descriptor carries the right to access the opened object in specific ways. As a general rule, that file descriptor does not enable access to any other objects. The recently merged BPF token feature runs counter to this practice by creating file descriptors that carry specific BPF-related access rights. A similar but different approach to capability-carrying file descriptors, in the form of directory file descriptors that include their own credentials, is currently under consideration in the kernel community.

Où regarder les films Star Wars en streaming à l’occasion des 25 ans de La Menace fantôme ?

2 mai 2024 à 15:06

star-wars

Disney étant propriétaire de Lucasfilm depuis presque dix ans, c'est sur sa plateforme de SVOD Disney+, en streaming légal, que vous retrouverez la quasi-totalité des films et des séries sur Star Wars.

Apple vient peut-être de sauver l’App Store en Europe

2 mai 2024 à 15:01

Obligé d'ouvrir l'iPhone aux magasins d'applications alternatifs, Apple a mis en place une taxe de 50 centimes, obligatoire à chaque téléchargement, pour inciter les développeurs à rester sur l'App Store. Cette taxe a l'effet inverse, puisqu'elle incite des petits développeurs à renoncer au marché européen. Bonne nouvelle : elle va disparaître.

Dropbox impacté par une cyberattaque, des données clients compromises

2 mai 2024 à 14:55

Dropbox a subi une intrusion dans ses systèmes, entraînant l'exposition de données sensibles telles que les mots de passe des utilisateurs de son option « Dropbox Sign ».

Microsoft a un souci : Windows 10 ne meurt pas

2 mai 2024 à 14:45

Highlander

Dans un an et demi, le support étendu de Windows 10 prendra fin. Problème : la migration vers Windows 11 ne se passe pas bien. La part de marché du système d'exploitation reste encore très haute, sans montrer de gros signes de déclin. En comparaison, la transition de Windows 7 vers Windows 10 a été plus forte.

❌
❌