Vue normale
Security updates for Friday
- Numerama.com - Magazine
- « La peur, c’est un cadeau » : discussion avec la nouvelle astronaute française Sophie Adenot
« La peur, c’est un cadeau » : discussion avec la nouvelle astronaute française Sophie Adenot
Sophie Adenot a reçu son diplôme d'astronaute de l'Agence spatiale européenne. Après deux ans de formation, l'ingénieure est prête pour de potentielles missions dans l'espace. Comment gère-t-elle la peur qui va avec ?
5 séries à voir après Fiasco sur Netflix
Alors que la comédie française avec Pierre Niney et François Civil cartonne actuellement sur Netflix, voici 5 séries similaires à Fiasco à voir en streaming : The Office, Planète Cunk, American Vandal, After Life ainsi que Drôle.
Helldivers 2 enrage les joueurs à cause d’un changement fâcheux
La dernière annonce du studio derrière Helldivers 2 est en train de fâcher une partie de sa communauté. En cause : la nécessité de lier son compte Steam à son compte PlayStation Network. Depuis le 3 mai, les critiques pleuvent.
French Days : moins de 200 € pour un smartphone 5G aux bonnes performances
[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
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.
- lien nᵒ 1 : Site web officiel
- lien nᵒ 2 : Dépôt github
- lien nᵒ 3 : Documentation
- lien nᵒ 4 : Instance de démonstration
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
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.
- Numerama.com - Magazine
- Microsoft n’a jamais été aussi près de faire sauter les mots de passe pour de bon
Microsoft n’a jamais été aussi près de faire sauter les mots de passe pour de bon
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.
La Citroën Ami devient taupe
La Citroën Ami passe du bleu-gris, régulièrement moqué, à un nouveau coloris brun foncé plus discret.
Il existe un passe Navigo avantageux qui ne coûte pas 86 € tous les mois
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.
Amazon Prime Gaming : les 9 jeux offerts en mai 2024
Amazon offre pas moins de neufs jeux vidéo à ses abonnés Prime en mai. Du Star Wars, du Tomb Raider et même du Fallout pour prolonger le plaisir de la série.
LinkedIn devient un espace dans lequel on peut jouer. Littéralement.
Des jeux dans LinkedIn ? Cette décision du réseau social semble étrange, car le site est surtout connu pour faciliter les relations d'affaires sérieuses.
Ces prochains épisodes de Doctor Who ont été imaginés il y a 50 ans
Russel T. Davies se confie encore sur certains épisodes de la saison 1 de Doctor Who, la troisième série du nom diffusée bientôt sur Disney+.
- Numerama.com - Magazine
- Mini 3 : le drone compact de DJI est encore plus abordable pendant les French Days
Mini 3 : le drone compact de DJI est encore plus abordable pendant les French Days
[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.
Pourquoi Elden Ring n’aura qu’une seule extension
Hidetaki Miyazaki a confirmé que Shadow of the Erdtree sera la seule extension d'Elden Ring. La raison est simple : diviser le contenu reviendrait à tuer le concept d'exploration.
- Numerama.com - Magazine
- Un PC sans OS, c’est un prix qui s’effondre : découvrez les PC Lenovo à petit prix pour les French Days [Sponso]
Un PC sans OS, c’est un prix qui s’effondre : découvrez les PC Lenovo à petit prix pour les French Days [Sponso]
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.
Les voitures électriques françaises prennent leur revanche
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.