Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierinformatique général
  • ✇Korben
  • Claude Opus a écrit seul l'exploit qui a éventré la billetterie de Live Nation
    Un chercheur en sécurité nommé Ian Carroll s'est amusé à lâcher Claude Opus sur la billetterie de Live Nation, afin d'y trouver des failles de sécurité, et l'IA lui a carrément écrit toute la chaîne d'exploitation sans aucune aide. Lui n'a eu qu'à le lancer... Tout démarre avec une session de fuzzing sur l'API des terminaux, fgtapi.frontgatetickets.com. Carroll repère un truc... chaque endpoint qui contient le mot "device" réclame un paramètre deviceUID, et ce paramètre ne demande aucune authent

Claude Opus a écrit seul l'exploit qui a éventré la billetterie de Live Nation

Par : Korben ✨
3 juillet 2026 à 10:51

Un chercheur en sécurité nommé Ian Carroll s'est amusé à lâcher Claude Opus sur la billetterie de Live Nation, afin d'y trouver des failles de sécurité, et l'IA lui a carrément écrit toute la chaîne d'exploitation sans aucune aide. Lui n'a eu qu'à le lancer...

Tout démarre avec une session de fuzzing sur l'API des terminaux, fgtapi.frontgatetickets.com. Carroll repère un truc... chaque endpoint qui contient le mot "device" réclame un paramètre deviceUID, et ce paramètre ne demande aucune authentification. Il colle un simple guillemet à la fin, la requête se met à ramer, et là, signe classique, le paramètre file direct dans une requête SQL sans le moindre échappement.

Une injection SQL bien à l'ancienne (si vous voulez voir à quoi ça ressemble, j'avais déjà décortiqué le principe il y a un bail).

Sauf qu'un WAF AWS est planté devant pour bloquer ce genre de payload. Et c'est là que Claude entre en scène. L'IA pige toute seule que le pare-feu n'inspecte que la couche extérieure de la requête, et qu'il suffit de planquer l'injection dans une sous-requête imbriquée pour passer sous le radar.

Ensuite elle se fabrique un oracle booléen aveugle qui fait que selon que la condition testée est vraie ou fausse, le serveur renvoie deux réponses différentes, "MC70-023" pour vrai, "Intellitix Upload" pour faux. Vous enchaînez ensuite les questions oui/non, et vous reconstituez la base entière, caractère par caractère.

Et la base, elle est bien garnie. Plus de 500 tables dans un ensemble baptisé fgs avec dedans les emails et mots de passe du personnel, ceux des clients, les tokens de reset, les tokens d'API et les jetons OAuth encore actifs. Avec ça, Carroll précise qu'il aurait pu émettre autant de billets gratuits qu'il voulait, pour n'importe quel événement.

Mais c'est une personne pleine de sagesse (et qui ne veut pas aller en prison) alors il ne l'a pas fait. Et surtout, il a tout remonté à Live Nation. Le lendemain où il les a contactés, la boîte confirmait le déploiement d'un correctif.

Ce qui est intéressant ici, c'est que le contournement du WAF par sous-requête, et la construction de l'oracle, tout ça a été proposé par Claude, et ne vient pas d'une demande du chercheur. On avait certes, déjà vu l'IA d'Anthropic dénicher des failles dans Firefox ou éplucher du code Apple II vieux de 40 ans mais là, c'est un sacré cran plus loin, je trouve.

Merci à Ian Carroll pour le writeup détaillé .

Source : CyberSecurityNews

  • ✇LinuxFr.org : les dépêches
  • HCW@Home v6 : réécriture complète en Django/LiveKit, exit MongoDB
    En septembre 2023, nous publiions une dépêche sur HCW@Home, notre logiciel libre de téléconsultation médicale sous licence GPL-3.0. Les retours avaient été nombreux et constructifs, et nous remercions chaleureusement la communauté. lien nᵒ 1 : Site officiellien nᵒ 2 : Documentationlien nᵒ 3 : Githublien nᵒ 4 : Salons de discussionQu’est-ce que HCW@Home ? HCW@Home (Healthcare Worker @Home) est un logiciel libre (GPLv3) de téléconsultation médicale, conçu pour permettre aux professionnels de sant

HCW@Home v6 : réécriture complète en Django/LiveKit, exit MongoDB

En septembre 2023, nous publiions une dépêche sur HCW@Home, notre logiciel libre de téléconsultation médicale sous licence GPL-3.0. Les retours avaient été nombreux et constructifs, et nous remercions chaleureusement la communauté.

Qu’est-ce que HCW@Home ?

HCW@Home (Healthcare Worker @Home) est un logiciel libre (GPLv3) de téléconsultation médicale, conçu pour permettre aux professionnels de santé de mener des appels vidéo avec leurs patients sans friction : la création d’un compte patient n’est pas nécessaire, un simple lien suffit pour rejoindre une consultation. Les comptes existent mais restent optionnels. Le logiciel intègre une salle d’attente virtuelle, la gestion des rendez-vous, l’échange de documents et de messages, et s’interface avec les systèmes SSO existants via OpenID Connect. Le projet est né d’une collaboration avec les Hôpitaux Universitaires de Genève et a permis des dizaines de milliers de consultations à distance pendant la crise du COVID. Il est aujourd’hui utilisé notamment par des organisations humanitaires comme MSF et le CICR.

Capture d'écran du logiciel

Pourquoi une réécriture ?

La critique principale de la communauté était légitime : notre dépendance à MongoDB (licence SSPL, non reconnue comme libre par la FSF ni l’OSI) rendait l’ensemble de la stack discutable d’un point de vue copyleft. Des échanges avaient même eu lieu avec l’équipe de FerretDB, qui s’était manifestée directement sur la dépêche. Malgré leur bonne volonté, la migration n’avait pas été concluante à l’époque. Autre faiblesse pointée : une architecture difficile à maintenir sur le long terme.

Nous avons entendu tout cela.

HCW@Home v6 : réécriture from scratch

Grâce à un financement obtenu ces dernières années, nous avons pu reprendre le projet à zéro. Les changements majeurs :

  • Backend : réécriture complète en Python/Django, avec l’interface d’administration native, une API REST et une architecture bien plus maintenable.
  • Visioconférence : remplacement de l’ancienne solution par LiveKit (Apache 2.0), serveur WebRTC auto-hébergeable et extensible.
  • Fonctionnalités disponibles en option, sans aucune dépendance à un service tiers : enregistrement des réunions, sous-titres en temps réel via Whisper, connectivité SIP.
  • Calendrier : intégration CalDAV pour la gestion des rendez-vous.
  • Côté praticien : mode Picture-in-Picture pendant les appels, gestion des suivis, possibilité de publier des créneaux de disponibilité que les patients peuvent ensuite réserver directement.
  • Coté patient : nouveau tableau de bord permettant aux patients de faire une demande de consultation.

La solution est déployable via Docker Compose, Kubernetes ou paquet Debian, selon les préférences et contraintes de l’hébergeur.

Une convergence involontaire avec La Suite Numérique

En choisissant cette stack, nous avons sans le vouloir rejoint les mêmes choix techniques que La Suite Numérique, l’initiative open source de la DINUM (Direction interministérielle du numérique) visant à fournir aux agents de l’État français une alternative souveraine aux outils Microsoft et Google. Leur outil de visioconférence Meet repose en effet exactement sur la même combinaison Django + LiveKit + PostgreSQL qui est pour nous validation plutôt rassurante.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇Korben
  • sqlit - Quand y'en a marre de lancer SQL Server Management Studio pour une requête
    Vous aussi vous avez ce truc où vous devez juste faire un petit SELECT rapide sur votre base de données, et là vous lancez un monstre du genre SQL Server Management Studio ou DBeaver, vous attendez que ça se charge pendant 47 ans, que ça bouffe les 2 Go de RAM qu'il vous reste, et tout ça pour une requête de 3 lignes ? Moi ça m'énerve profondément, j'avoue... Pas le temps, pas la patience ! Heureusement, y'a un dev qui en a eu encore plus marre que moi et qui a pondu sqlit . C'est une interface

sqlit - Quand y'en a marre de lancer SQL Server Management Studio pour une requête

Par : Korben
17 décembre 2025 à 10:22

Vous aussi vous avez ce truc où vous devez juste faire un petit SELECT rapide sur votre base de données, et là vous lancez un monstre du genre SQL Server Management Studio ou DBeaver, vous attendez que ça se charge pendant 47 ans, que ça bouffe les 2 Go de RAM qu'il vous reste, et tout ça pour une requête de 3 lignes ?

Moi ça m'énerve profondément, j'avoue... Pas le temps, pas la patience !

Heureusement, y'a un dev qui en a eu encore plus marre que moi et qui a pondu sqlit . C'est une interface TUI (Terminal User Interface, je précise...) qui tourne direct dans votre terminal et qui supporte un paquet de bases de données différentes telles que PostgreSQL, MySQL, SQL Server, SQLite, MariaDB, Oracle, DuckDB, CockroachDB, Supabase, Turso... La liste est longue mais en gros, si ça parle SQL, sqlit sait s'y connecter.

Le truc est inspiré de lazygit , un client Git en TUI que beaucoup de devs adorent, ce qui fait qu'on retrouve cette approche "lazy" où l'interface se suffit à elle-même. Comme ça y'a pas besoin de mémoriser 150 raccourcis clavier, puidqu'il y a une aide contextuelle qui s'affiche et qui vous dit quoi faire, comme votre maman quand vous ne l'avez absolument pas sollicitée.

On a donc de l'autocomplétion SQL qui va chercher les noms de tables et de colonnes, un historique des requêtes par connexion (pratique pour retrouver cette requête chelou qu'on avait bidouillée y'a 3 semaines), et même la gestion des tunnels SSH intégrée pour se connecter à des bases distantes. Les utilisateurs de Vim seront contents aussi, car y'a un mode d'édition modal pour naviguer comme dans votre éditeur préféré.

Pour l'installer, c'est hyper simple :

pip install sqlit-tui

Et après vous tapez sqlit dans votre terminal et c'est parti. Les drivers pour chaque type de base de données s'installent à la demande la première fois que vous essayez de vous connecter. Donc pas de dépendances inutiles qui traînent si vous utilisez juste PostgreSQL par exemple.

Y'a aussi un mode CLI si vous voulez scripter vos requêtes :

sqlit query -c "MaConnexion" -q "SELECT * FROM Users" --format csv

Le seul truc naze je trouve, c'est le nom "sqlit" qui ressemble trop à SQLite. Bon courage pour googler des infos dessus... Je sais de quoi je parle, toutes les 2 semaines, y'a une entreprise Korben qui pop en voulant surfer sur mon buzz (ouais j'ai le melon, mdr) et qui passe toutes ses levées de fonds en adwords pour se positionner avant moi sur Google ^^. C'est couillon ^^.

Bref, si vous vivez dans le terminal et que vous en avez marre de lancer des client lourds juste pour un SELECT, c'est vraiment pratique.

  • ✇LinuxFr.org : les dépêches
  • Ackify CE : preuve de lecture cryptographique en Go + Vue3
    Ackify CE est une plateforme open-source (AGPL v3) permettant de générer des preuves de lecture cryptographiquement vérifiables pour des documents internes. Le problème Les organisations doivent souvent prouver qu'un collaborateur a lu un document (politique RGPD, charte de sécurité, formation obligatoire). Les solutions existantes sont soit trop lourdes (signature électronique qualifiée comme DocuSign à 10-30€/utilisateur/mois), soit non sécurisées (simple email). La solution Ackify génère de

Ackify CE : preuve de lecture cryptographique en Go + Vue3

Ackify CE est une plateforme open-source (AGPL v3) permettant de générer des preuves de lecture cryptographiquement vérifiables pour des documents internes.

Le problème

Les organisations doivent souvent prouver qu'un collaborateur a lu un document (politique RGPD, charte de sécurité, formation obligatoire). Les solutions existantes sont soit trop lourdes (signature électronique qualifiée comme DocuSign à 10-30€/utilisateur/mois), soit non sécurisées (simple email).

La solution

Ackify génère des preuves de lecture cryptographiques avec :

  • Signatures Ed25519 (même algo que SSH)
  • Horodatage immutable (PostgreSQL triggers)
  • Hash chain blockchain-like
  • Vérification offline possible

Cas d'usage

  • Validation de politiques internes (sécurité, RGPD)
  • Attestations de formation obligatoire
  • Prise de connaissance de procédures
  • Accusés de réception contractuels

Différence avec DocuSign

Ackify n'est pas une alternative à DocuSign pour des contrats juridiques. C'est une solution simple pour des besoins internes où la signature qualifiée est overkill.

N'hésitez pas si vous avez des questions techniques !

Installation

curl -fsSL https://raw.githubusercontent.com/btouchard/ackify-ce/main/install/install.sh | bash
cd ackify-ce
nano .env  # Configurer OAuth2
docker compose up -d

Installation complète en ~5 minutes.

Stack technique

Backend

  • Go 1.24 (Clean Architecture / DDD)
  • PostgreSQL 16
  • Chi Router
  • OAuth2 (Google, GitHub, GitLab, custom) ou Magic Link (passwordless)

Frontend

  • Vue 3 + TypeScript
  • Tailwind CSS
  • i18n (FR, EN, ES, DE, IT)

DevOps

  • Docker distroless < 30 MB
  • CI/CD GitHub Actions
  • Tests : 72,6% couverture (180 tests unitaires + 33 intégration)

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇Korben
  • Ackify - Pour confirmer la lecture d'un document
    Benjamin, lecteur de korben.info, m’a envoyé un email pour me parler d’ Ackify , son nouveau projet open-source. L’idée avec Ackify c’est de pouvoir confirmer qu’un document a bien été lu ! Je parle pas de signature électronique, hein. Pour ça y’a déjà DocuSign, Adobe Sign, HelloSign…etc. Non, je vous parle des cas où vous avez juste besoin de prouver que Thérèse de la compta a bien reçu, ouvert et lu le PDF de la nouvelle procédure RGPD. Et pour ça, les solutions du marché sont soit surdimensio

Ackify - Pour confirmer la lecture d'un document

Par : Korben
21 novembre 2025 à 08:34

Benjamin, lecteur de korben.info, m’a envoyé un email pour me parler d’ Ackify , son nouveau projet open-source. L’idée avec Ackify c’est de pouvoir confirmer qu’un document a bien été lu !

Je parle pas de signature électronique, hein. Pour ça y’a déjà DocuSign, Adobe Sign, HelloSign…etc. Non, je vous parle des cas où vous avez juste besoin de prouver que Thérèse de la compta a bien reçu, ouvert et lu le PDF de la nouvelle procédure RGPD. Et pour ça, les solutions du marché sont soit surdimensionnées, soit inexistantes, du coup, les boîtes bidouillent avec des Google Forms pourris ou des macros Excel qui traînent dans le coin depuis 2003.

Ackify tourne en Docker distroless, s’installe en 5 minutes avec un script, et fonctionne sur PostgreSQL 16. L’authentification se fait via Magic Link sans mot de passe, ou OAuth 2 si vous préférez Google, GitHub ou GitLab. Ensuite, une fois connecté, vous lisez le document, vous cliquez sur “J’ai lu”, et c’est terminé. Une signature cryptographique Ed25519 est générée, le checksum SHA-256 du document est vérifié, et tout part dans un audit trail immuable.

Le principe est donc super solide et chaque utilisateur ne peut signer qu’une seule fois par document. Ensuite, vous en tant qu’admin, vous avez un dashboard pour tracker qui a lu quoi. Il y a également des rappels automatiques par email pour ceux qui traînent et des widgets que vous pouvez intégrer dans votre intranet si ça vous amuse !

Sans oublier que c’est multi-lingue !

Bref, que ce soit pour obtenir des attestations de lecture de politiques de sécurité, des formations internes avec validation, la prise en compte de directive RGPD, des procédures de conformité…etc, Ackify pourra vous aider sans avoir à sortir l’artillerie lourde de la signature électronique traditionnelle.

Voilà, c’est gratuit, open source et vous pouvez avoir tous les détails sur le site officiel du projet : ackify.eu .

  • ✇Korben
  • Neura Hustle Tracker - Surveiller sa productivité en respectant sa vie privée
    Quand je bossais comme consultant y’a genre 10 000 ans, je devais tracker le temps que je passais pour chaque client dans un fichier Excel. Et ça mes amis, c’était super chiant mais nécessaire. Après peut-être que vous de votre côté, vous n’êtes pas tropfliqué mais vous vous imposez l’envoi de messages Slack stratégiques juste avant de vous déconnecter, ou vous faites partir des emails à 23h pour montrer que vous êtes un esclave acharné du capitalisme ? Bienvenue dans l’ère du grand théâtre de l

Neura Hustle Tracker - Surveiller sa productivité en respectant sa vie privée

Par : Korben
27 octobre 2025 à 12:16

Quand je bossais comme consultant y’a genre 10 000 ans, je devais tracker le temps que je passais pour chaque client dans un fichier Excel. Et ça mes amis, c’était super chiant mais nécessaire. Après peut-être que vous de votre côté, vous n’êtes pas tropfliqué mais vous vous imposez l’envoi de messages Slack stratégiques juste avant de vous déconnecter, ou vous faites partir des emails à 23h pour montrer que vous êtes un esclave acharné du capitalisme ?

Bienvenue dans l’ère du grand théâtre de la productivité.

Après quand on est freelance ou qu’on essayer de bien équilibrer son temps de travail, c’est sympa aussi de pouvoir tracker ce qu’on fait en temps réel, pour nous-même, sans forcement que personne d’autre ne regarde.

Hé bien c’est exactement ce que propose Neura Hustle Tracker qui est un tracker de temps open-source, écrit en Rust, qui tourne dans votre terminal et stocke TOUT en local sur votre machine dans un PostgreSQL. Comme ça, aucune donnée ne quitte votre ordinateur.

L’idée, c’est donc de reprendre le pouvoir sur vos propres données de productivité en enregistrant automatiquement les applications que vous utilisez, le temps passé sur chacune, et afficher ça sous la forme de graphiques directement dans votre terminal.

Comme ça vous verrez le temps pharamineux que vous passez sur Korben.info ou Slack au lieu de vraiment bosser. Pour l’installer, ça marche sous Windows, macOS et Linux et ça peut tourner dans un Docker. La doc est ici.

Vous pouvez même le lancer au démarrage de l’ordi, comme ça, le tracking démarre instantanément dès que vous commencez à bosser. Par contre, n’oubliez pas de le couper quand vous voulez faire un truc en dehors des radars hein ^^.

Le projet est encore jeune, mais il évolue rapidement. Adolfo, le développeur principal, a d’ailleurs récemment ajouté des commandes pour naviguer dans l’historique complet (touches h pour history et b pour breakdown) et améliore régulièrement la qualité des visualisations.

Voilà, donc si vous en avez marre que votre productivité soit transformée en KPI pour votre manager, et que vous voulez juste comprendre comment vous passez vraiment votre temps sans avoir à rendre de comptes à personne, Neura Hustle Tracker mérite le coup d’oeil. C’est gratuit, et c’est open-source !

Un grand merci à Lorenper pour le partage !

  • ✇Korben
  • WebGoat - Pour vous former au hacking éthique
    Attention, si vous laissez tourner WebGoat sur votre machine, elle sera “extrêmement vulnérable aux attaques”. C’est en tout cas ce qui est écrit en gros sur la page de ce projet OWASP , et c’est pas pour faire joli car WebGoat est une application web délibérément pourrie, truffée de failles de sécurité, créée exprès pour que cous appreniez à les exploiter. Et c’est génial !! Car on a enfin un truc qui nous permet d’apprendre vraiment comment les hackers s’infiltrent dans les sites web, sans ris

WebGoat - Pour vous former au hacking éthique

Par : Korben
23 septembre 2025 à 17:26

Attention, si vous laissez tourner WebGoat sur votre machine, elle sera “extrêmement vulnérable aux attaques”. C’est en tout cas ce qui est écrit en gros sur la page de ce projet OWASP , et c’est pas pour faire joli car WebGoat est une application web délibérément pourrie, truffée de failles de sécurité, créée exprès pour que cous appreniez à les exploiter.

Et c’est génial !!

Car on a enfin un truc qui nous permet d’apprendre vraiment comment les hackers s’infiltrent dans les sites web, sans risquer de finir au tribunal. Parce que bon, scanner le site de votre voisin pour “apprendre”, c’est direct trois ans de prison et 100 000 euros d’amende. Alors qu’avec WebGoat, vous pouvez tout péter tranquille depuis chez vous.

WebGoat , c’est donc un projet open source maintenu par l’OWASP depuis des années qui vous propose uune application web qui ressemble à n’importe quel site lambda, sauf qu’elle est bourrée de vulnérabilités volontaires telles que des injections SQL, XSS, CSRF, contrôle d’accès défaillant… bref, toutes les saloperies du Top 10 OWASP sont là, prêtes à être exploitées.

Et WebGoat fonctionne comme un cours interactif car pour chaque vulnérabilité, vous avez trois étapes : d’abord on vous explique comment ça marche, ensuite vous devez l’exploiter vous-même via des exercices pratiques, et enfin on vous montre comment corriger le problème. On apprend en faisant !

D’après la doc officielle , WebGoat couvre presque toutes les vulnérabilités du Top 10 OWASP. Pour ceux qui ne savent pas, le Top 10 OWASP c’est LA référence mondiale des failles de sécurité web.

Au sein de WebGoat se cache aussi WebWolf, une application séparée qui simule la machine de l’attaquant. Ça tourne sur le port 9090 pendant que WebGoat tourne sur le 8080, comme ça, vous avez vraiment la séparation entre ce qui se passe côté victime et côté attaquant. WebWolf vous permet également d’uploader vos payloads ou outils, de recevoir des données exfiltrées, et même de simuler un serveur mail pour les attaques de phishing.

Et pour installer tout ça, le plus simple c’est Docker :

docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 webgoat/webgoat

Ou si vous préférez la version standalone avec Java :

java -Dfile.encoding=UTF-8 -jar webgoat-2025.3.jar

Une fois lancé, vous accédez à WebGoat sur http://localhost:8080/WebGoat et WebWolf sur http://localhost:9090/WebWolf. Vous vous créez un compte (c’est juste en local, pas de panique) et c’est parti pour les exercices !

Les leçons sont vraiment bien foutues. Prenez l’injection SQL par exemple. D’abord on vous montre comment une requête SQL mal protégée peut être détournée. Ensuite vous devez exploiter la faille pour voler des numéros de cartes bancaires (fausses, hein), et à la fin, on vous explique comment utiliser les prepared statements pour éviter ce genre de conneries.

Et n’allez pas croire que ça s’adresse uniquement aux pro. Non, les débutants ont des exercices guidés avec des indices, et les plus avancés ont des “challenges” sans aucune aide semblables à des CTF (Capture The Flag).

Et pour les développeurs, c’est vraiment un super outil pour comprendre pourquoi votre chef de projet vous casse encore les pieds avec la sécurité ! Car, croyez-moi, une fois que vous avez réussi à dumper toute une base de données avec une simple apostrophe dans un formulaire, vous ne regardez plus jamais les entrées utilisateur de la même façon.

Attention quand même, WebGoat n’est pas un jouet. Les techniques que vous apprenez sont réelles et fonctionneront sur de vrais sites mal sécurisés. D’ailleurs, l’OWASP est très clair là-dessus : “Si vous tentez ces techniques sans autorisation, vous allez très probablement vous faire choper”. Et n’oubliez pas, comme vous ne faites partie d’aucun parti politique, pour vous y’aura vraiment de la zonzon.

D’ailleurs, petite conseil, quand vous faites tourner WebGoat, coupez votre connexion internet ou au moins assurez-vous qu’il n’écoute que sur localhost, parce que si quelqu’un d’autre sur votre réseau découvre que vous avez une application volontairement vulnérable qui tourne… Disons que ça pourrait mal finir ;-).

Ah et WebGoat s’intègre super bien avec d’autres outils de sécurité. Ça permet du coup de se former aussi dans la foulée sur Burp Suite, OWASP ZAP, ou SQLMap.

Bref, installez WebGoat ce weekend et amusez-vous à tout casser. Vous m’en direz des nouvelles !!

Et un grand merci à Letsar pour l’info !

  • ✇LinuxFr.org : les dépêches
  • Application libre en ligne de suivi des aides aux écoliers avec SQLPage
    ThierryM : suite à un besoin exprimé par les enseignant⋅es d’une école et la découverte de SQLPage à travers l’application École Inclusive que j’ai découverte via ce site, je me suis lancé dans la réalisation d’une application en ligne permettant de suivre — sur toute leur scolarité dans le 1er degré — les différentes aides proposées aux élèves rencontrant des difficultés. Bien que cette application soit encore en cours de développement et de test, je relate ici mon retour d’expérience car SQ

Application libre en ligne de suivi des aides aux écoliers avec SQLPage

ThierryM : suite à un besoin exprimé par les enseignant⋅es d’une école et la découverte de SQLPage à travers l’application École Inclusive que j’ai découverte via ce site, je me suis lancé dans la réalisation d’une application en ligne permettant de suivre — sur toute leur scolarité dans le 1er degré — les différentes aides proposées aux élèves rencontrant des difficultés.
Bien que cette application soit encore en cours de développement et de test, je relate ici mon retour d’expérience car SQLPage, qui évolue rapidement, mérite d’être plus largement connue.

Jusqu’à présent je n’avais jamais osé me lancer dans ce genre de développements — principalement à cause de la sécurisation des accès et à la gestion de bases de données — mais SQLPage est arrivé…

    Sommaire

    Besoins et cahier des charges

    Le directeur d’une grosse école (13 classes + ULIS) avait besoin de pouvoir suivre pluriannuellement les différentes aides mises en place pour les élèves rencontrant des difficultés, ceci afin que les enseignant⋅es (dont les membres du RASED) disposent d’un historique pour voir ce qui avait déjà été proposé et ainsi décider ce que l’on pourrait mettre en place sans perdre de temps ni redite. Bref, l’idée était de gagner en temps et en efficacité.

    Au niveau d’une seule école, un tableur LibreOffice Calc pouvait très bien faire l’affaire et suffire (ce classeur existe d’ailleurs) mais il ne pouvait pas être complété à distance et de façon collaborative facilement :
    Classeur LibreOffice Calc de suivi
    On aurait pu mettre en place un classeur sur le Nuage-Nextcloud des Apps Éducation proposé par l’Éducation nationale et travailler de façon collaborative en ligne ou en drive (pour profiter des macros). Mais cette solution n’est pas aisée à mettre en place, avec des problèmes de synchronisation et des conflits de version de fichiers (je le sais par expérience, car nous gérons l’absentéisme de cette façon et ça demande un gros accompagnement, chaque classe ayant son propre classeur que l’on doit retravailler par la suite pour faire des synthèses d’école).

    L’idée était donc de disposer d’une application Web, en ligne pour que les enseignant⋅es puissent intervenir, compléter les données facilement et directement.
    L’avantage de cette solution était aussi de disposer d’une application unique pour étendre par la suite son utilisation aux 4 écoles de la ville (voire d’une circonscription) si le projet est concluant : en effet, les infos des élèves de maternelle suivraient lors du passage à l’école élémentaire.
    Seulement voilà, se posent pas mal de contraintes notamment par rapport à la sécurisation des données et au niveau du RGPD, l’outil envisagé contenant des informations sensibles. Il était impossible d’envisager un développement en Html/CSS/Javascript/PHP de zéro (manque de temps et de compétences). Et c’est là, que j’ai découvert l’existence de SQLPage qui paraissait répondre à nos inquiétudes avec des accès sécurisés, tout en étant à la portée de « débutant⋅es », à travers le récit de l’auteur de l’application « École Inclusive ».

    Début de l’aventure

    L’application « École Inclusive », bien que conçue pour le second degré, pouvait être adaptée à nos besoins plus modestes et a donc servi de base de départ : c’est beaucoup plus facile de partir de l’existant que d’une page blanche où il faut tout construire. Il s’est avéré que nous n’avions pas besoin de toutes les fonctionnalités et qu’il a fallu reprendre les logiques de fonctionnement mais la base étant là, c’était très rassurant d’autant que l'auteur de « École Inclusive » et le concepteur de SQLPage, très disponibles, étaient là pour m’éclairer, me conseiller ou rajouter des fonctionnalités au fil de mes demandes via les pages GitHub de leur projet respectif. Il faut rajouter que le site de SQLPage, conçu avec SQLPage ;-), regorge de ressources avec une documentation (en anglais) très claire et facilitante avec des exemples.
    Il est vrai que ce concept de programmation est assez déstabilisant au début : ne passer que par des fichiers .sql (ou presque) pour développer un site Web, ça paraît inadapté. Mais, une fois qu’on est rentré dedans, on se rend compte que pour le type d’application qu’on recherchait, c’est tout bonnement bluffant et terriblement efficace.
    Ce qui est aussi facilitant, c’est la possibilité d’utiliser des bases sqlite ne nécessitant pas la mise en place d’un serveur de type MySQL ou PostGreSQL rajoutant de la complexité. Mais SQLPage fonctionne aussi avec ces serveurs si on en a l’utilité : ce point est intéressant, car le temps consacré pour se former à SQLPage pourra être réinvesti avec d’autres types de bases de données.

    Matériel, données techniques et application ASDAEL

    Pour des tests les plus proches du fonctionnement prévu (on verra que ça changera), j’ai utilisé un NAS perso Synology 713+ sous DSM 7.1 avec un accès extérieur. Toutes les infos sont là pour ceux et celles que ça intéresse : https://lofurol.fr/joomla/logiciels-libres/104-bases-de-donnees/349-sqlpage-utilisation-sur-un-nas-synology-avec-docker-et-mysql-postgresql-sqlite.
    Toujours dans un souci de partage, les sources de l’application de suivi des aides sont disponibles sur la « Forge des communs numériques éducatifs » ou Forge Éduc, le GitLab mis à disposition par l’Éducation nationale pour favoriser le partage et le développement de ressources numériques pour l’enseignement.
    Source du projet: https://forge.apps.education.fr/thierrym/suivi-aides-eleves-ecoles

    Utilisation locale due au RGPD et à la sécurisation des données

    Cette application n’ayant pas reçu de soutien officiel et vu qu’elle contient des données sensibles sur les élèves (bien que ces données ne soient accessibles qu’aux seul⋅es enseignant⋅es concerné⋅es par le suivi des élèves), il a été décidé de ne pas exposer l’application sur Internet, comme prévu initialement. Elle sera donc installée sur un ordinateur localement sans accès de l’extérieur le temps de la tester. Après, il sera toujours possible d’évoluer vers une utilisation réellement en ligne si les essais sont concluants (et avec un audit sur la sécurité).
    Et là, encore une fois, l’application est très bien faite, car elle fait office de serveur web et il suffit de saisir son adresse ip sur le port 8080 pour y accéder à partir d’un autre ordinateur sur le même réseau. On ne peut pas faire plus simple (pas besoin de se monter un serveur Apache/Ngnix) !!!

    Pour lancer l’expérimentation, j’ai récupéré un “vieil” ordinateur HP 260 G2 Mini (Intel Pentium 4405U, 4 Go de Ram et HD de 100 Go) sur lequel j’ai installé Ubuntu 24.04 Server (avec accès SSH) avec le bureau Mate et Docker pour faire fonctionner les conteneurs Portainer et Adminer pour éventuellement agir sur la base de données SQLite.
    J’ai ensuite installé SQLPage avec mes fichiers dans un dossier « ASDAEL » à la racine de mon home puis configurer un démarrage automatique lançant SQLPage et Firefox pointant vers la page « localhost:8080 ».

    Captures d’écran

    Structure de la base de données
    Structure de la base de données

    Page d’accueil :
    Accueil

    Page de connexion :
    Page de connexion

    Localisation des écoles :
    Liste des écoles

    Liste des élèves suivi⋅es :
    Liste des élèves suivi⋅es

    Fiche individuelle de suivi :
    Fiche individuelle de suivi

    Vue synthétique du parcours de l’élève :
    Vue synthétique

    Page de paramétrage :
    Page de paramétrage

    Perspectives

    Avec l’arrivée du Livret de Parcours Inclusif (LPI) peut-être que ce genre d’applications ne sera plus utile… d’autant qu’elles n’ont aucun soutien institutionnel et qu’en l’état actuel elles ne peuvent être utilisées que localement, ce qui réduit pas mal leur intérêt.
    Mais l’idée de ASDAEL est d’obtenir rapidement une vision synthétique des différentes aides mises en place pour l’ensemble des élèves tout au long des années en facilitant leurs saisies, ce que ne permettra certainement pas le LPI.
    À suivre… ?

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇LinuxFr.org : les dépêches
    • Réviser SQL en jouant au détective : SQLNoir
      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). Bref vous avez une interface web qui vous permet de faire des requêtes dans les bases de données de témoins, suspects, enregist

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

    26 février 2025 à 10:30

    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.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇Korben
    • WhatTheDuck – Exécutez des requêtes SQL sur vos fichiers CSV depuis votre navigateur
      Vous cherchez un moyen simple et efficace d’analyser vos données stockées dans des fichiers CSV ? Ça tombe bien puisqu’il y a un service qui s’appelle WhatTheDuck et qui vous permet d’exécuter des requêtes SQL directement sur vos CSV, le tout depuis votre navigateur web. Plutôt cool, non ? Le concept est simple : vous uploadez vos fichiers CSV sur le site (vous pouvez en charger plusieurs d’un coup), puis vous écrivez vos requêtes SQL dans l’éditeur prévu à cet effet. Et là, magie, WhatTheD

    WhatTheDuck – Exécutez des requêtes SQL sur vos fichiers CSV depuis votre navigateur

    Par : Korben
    9 juillet 2024 à 09:00

    Vous cherchez un moyen simple et efficace d’analyser vos données stockées dans des fichiers CSV ? Ça tombe bien puisqu’il y a un service qui s’appelle WhatTheDuck et qui vous permet d’exécuter des requêtes SQL directement sur vos CSV, le tout depuis votre navigateur web. Plutôt cool, non ?

    Le concept est simple : vous uploadez vos fichiers CSV sur le site (vous pouvez en charger plusieurs d’un coup), puis vous écrivez vos requêtes SQL dans l’éditeur prévu à cet effet. Et là, magie, WhatTheDuck exécute vos requêtes et vous affiche les résultats ! Vous pouvez même télécharger le résultat de votre requête au format CSV.

    L’interface est super intuitive et l’éditeur SQL dispose de la coloration syntaxique pour vous aider à écrire vos requêtes sans vous planter. C’est l’outil idéal pour faire des analyses de données rapides sans avoir à installer tout un environnement sur votre machine. Imaginons par exemple que vous ayez un fichier CSV qui contient les ventes de votre boutique en ligne…. vous pouvez en quelques clics avoir les stats des produits les plus vendus, calculer votre chiffre d’affaires par mois ou encore lister les clients qui ont passé le plus de commandes. Les possibilités sont quasi illimitées !

    WhatTheDuck supporte un sous-ensemble du langage SQL, ce qui est largement suffisant pour faire des requêtes basiques. Si vous êtes un pro des bases de données, vous trouverez peut-être l’outil un peu limité, mais pour la plupart des utilisations c’est juste ce qu’il faut.

    Autre exemple : vous avez récupéré un gros fichier CSV qui liste tous les restos de votre ville avec leurs coordonnées et le type de cuisine. Plutôt que de vous farcir tout le fichier à la main, vous pouvez utiliser cet outil pour filtrer les données et trouver en deux secondes tous les restos italiens dans votre quartier. Pratique pour organiser votre prochaine pizza party !

    Seul petit bémol, il faut que vos fichiers CSV soient bien formatés pour que ça fonctionne. Il faut que votre fichier ait une ligne d’en-tête qui liste les noms des colonnes. Mais bon, c’est généralement le cas donc ça ne devrait pas poser de problème.

    Bref, je vous laisse explorer toutes les possibilités offertes par What The Duck. C’est gratuit et open source, donc n’hésitez pas à jeter un oeil au code si vous êtes curieux de voir comment c’est fait.

    Un grand merci à Lorenper pour m’avoir fait découvrir ce petit bijou

    Happy SQL !

    • ✇LinuxFr.org : les dépêches
    • Sortie de Tryton 7.2
      Le 1 mai 2024 sortait la version 7.2 de Tryton, un progiciel de gestion intégré modulaire et multiplate-forme. lien nᵒ 1 : Annonce 7.2lien nᵒ 2 : Annonce 7.0lien nᵒ 3 : Annonce 6.8lien nᵒ 4 : Dépêche sur la sortie 6.6lien nᵒ 5 : Démolien nᵒ 6 : DocumentationTryton est basé sur une architecture trois tiers avec PostgreSQL comme base de données principale et est écrit en Python ce qui apporte une grande flexibilité pour la customisation. Tryton vient avec un ensemble de modules essentiels pour

    Sortie de Tryton 7.2

    Le 1 mai 2024 sortait la version 7.2 de Tryton, un progiciel de gestion intégré modulaire et multiplate-forme.

    Tryton

    Tryton est basé sur une architecture trois tiers avec PostgreSQL comme base de données principale et est écrit en Python ce qui apporte une grande flexibilité pour la customisation.

    Tryton vient avec un ensemble de modules essentiels pour la gestion d’une entreprise, qui sont très aboutis. Il peut être complété par des modules tierces spécifiques à certaines activités ou permettant l’intégration à d’autres outils.

    Tryton est utilisable à travers un client desktop, un client web responsive et un client en ligne de commande. Tous ces clients sont légers et multiplateformes (Linux, BSD, Windows et macOS).

    Comme la dernière annonce ici date de la version 6.6, voici une liste non-exhaustive d’améliorations notables:

    • Tryton peut générer des code-barres ou QR codes entre autres pour les produits. Et les clients peuvent déclencher des actions depuis le scan d’un code-barre. Cette fonctionnalité peut servir par exemple pour scanner les produits pour le point de vente ou bien pour traiter des expéditions.
    • L’autocomplétion peut se faire maintenant sur base d’une source externe. Cette fonctionnalité est utilisée pour créer des tiers en entrant simplement leur numéro de TVA. Tryton interroge le service européen VIES et préremplit le formulaire avec le nom, l’adresse et le numéro de TVA.
    • La fenêtre des logs d’un enregistrement contient désormais une entrée pour chaque action ou modification faite par l’utilisateur.
    • Les clients tirent profit de la lecture imbriquée (c’est-à-dire de pouvoir lire dans le même appel le contenu des champs relation de type One2Many ou Many2Many). Ainsi l’ouverture d’un formulaire qui contient des listes ne requière plus qu’un seul appel pour l’affichage. Ceci n’est fait que pour les listes qui sont visibles par défaut, celles qui sont cachées dans des onglets, ne sont lues que quand l’utilisateur active celui-ci.
    • Le temps d’exécution de certains appels RPC dépend des paramètres entrés par l’utilisateur (ex: une recherche sur plusieurs critères). Afin de prémunir le serveur contre un déni de service, ces appels sont protégés par un timeout.
    • Les utilisateurs qui ont une adresse de courrier électronique peuvent à présent demander une réinitialisation de mot de passe depuis l’interface de login sans devoir passer par un administrateur.

    Depuis la version 6.6, de nouveaux modules ont été ajoutés, notamment:

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇LinuxFr.org : les dépêches
    • École Inclusive: une application libre pour la prise en charge des élèves en situation de handicap
      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 documentati

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

    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

    Sommaire

    L’application « École inclusive »

    Une application pour améliorer la prise en charge pédagogique des élèves en situation de handicap

    Tout a commencé pendant un match de la dernière coupe du monde de rugby, un dimanche soir à une heure déjà tardive.

    Énième appel à l’arbitre vidéo dans cette compétition. Les données et leur gestion, leur analyse, leur partage, l’aide à la décision. Cette problématique m’a rappelé que, dans le cadre d’une de mes missions, j’étais moi aussi confronté à une vague d’informations pas toujours très claires et toujours plus nombreuses ne rendant pas mes arbitrages très faciles dans la prise en charge des élèves que je suivais.

    Profitant de cet arrêt de jeu, je tapotais sur le site de Framasoft à la recherche d’une Webapp libre pour la gestion de mes données. C’est ainsi que je laissais les Springboks s’envoler au score et que je fis la connaissance de SQLpage.

    De professeur d’histoire-géo à créateur d’applications

    Un début de carrière déjà marqué par les logiciels libres

    Le problème à résoudre avant tout, c’est que je ne suis pas un programmeur et que je n’ai suivi aucune formation dans ce domaine. Formé dans les dernières années du XXᵉ siècle au métier de professeur d’histoire-géographie, j’avais intégré l’usage d’outils numériques à mes pratiques dès le départ. Dans le cadre de mes missions de référent numérique dans mon collège, j’avais déjà mis la main à la pâte pour monter un logiciel de traitement de texte collaboratif (Framapad) sur un petit serveur privé, installer des logiciels en ligne libres comme Moodle, Joomla ou Wordpress, adapter de-ci de-là quelques lignes de PHP ou de CSS. À titre personnel, fervent adepte du libre, je ne travaille plus que sur des versions d’Ubuntu depuis 2005 et il m’arrive d’utiliser régulièrement la ligne de commande.

    Changement de cap

    Retour au collège. La crise sanitaire est passée par là et les restrictions ne me permettent plus de travailler de manière collaborative entre élèves de niveaux ou de profils différents. C’est notamment le cas pour les travaux par groupes de compétences que j’organisais avec le logiciel libre Sacoche, projet très actif sur l’évaluation par compétences et l’analyse des résultats des élèves.

    Mes missions vont alors se diversifier encore et je n’enseigne plus directement depuis l’automne 2020. Toujours dans le même établissement, en raison de la vacance de ces postes, je vais remplir les fonctions de principal-adjoint ou de directeur de SEGPA (Section d’Enseignement Général et Professionnel Adapté pour des élèves ayant des difficultés d’apprentissages importantes). Parmi les dossiers suivis dans ces postes figure la gestion des « pôles inclusifs d’accompagnement localisé » (PIAL) et de leur AESH, les Accompagnants d’Élèves en Situation de Handicap. Le sujet de l’École Inclusive pour tous les élèves ayant besoin d’aménagements est ainsi devenu un axe majeur dans mon implication sur notre collège. Avec des élèves toujours plus nombreux…

    Rentrer dans une nouvelle logique

    Et cette année, j’ai rajouté une corde à mon arc en m’essayant à la programmation d’applications. Pendant les quelques minutes où les directeurs de jeu visionnaient l’action au ralenti, j’ai concentré ma réflexion sur trois points importants, sur trois arbitrages plus personnels :

    Quelles devront être les grandes fonctions de la nouvelle application ?

    Je cherchais avant tout un outil qui fournisse des informations claires et précises en m’échappant des documents de tableur reçus tous les mois avec des actualisations ou des suppressions, des erreurs possibles, de transcription de nom, des propositions de responsables impossibles à respecter et surtout des données non croisées avec la réalité du terrain. Des collègues avaient tenté de revenir au classeur papier avec un côté élève et un autre adulte. Mais tout changement d’un côté demandait la même charge de travail de l’autre.

    Qui s’y connectera ?

    Si à l’origine j’envisageai un usage mono-utilisateur avec un outil hors-ligne, la possibilité d’avoir un outil collaboratif avait son charme et une utilité justifiée pour suivre les différents besoins de nos élèves. Je n’oublie pas non plus le sentiment de frustration en tant que professeur quand – au début des inclusions dans les années 2000 – j’accueillais des élèves en situation de handicap sans avoir suffisamment de précisions ou de solutions d’aides à ma disposition. Élargir la communauté d’utilisateur n’est pas un sujet à exclure.

    Comment ça marche ?

    Je devais pouvoir croiser plusieurs données qui ne se recouvraient qu’en partie : celles reçues via les parents d’élèves notifiés par la MDA-MDPH (Maison De l’Autonomie – Maison des Personnes Handicapées), celles transmises par les services de la DSDEN (Direction des Services De l’Éducation Nationale), avec nos informations ou décisions internes provenant de plusieurs coordonnateurs. Au vu de l’augmentation incessante des demandes et des aménagements attribués, un outil puissant et numérique ne pouvait être que la solution pour éviter des erreurs et rationaliser les suivis. En quelques clics Framasoft me suggérait SQLpage.

    Un besoin au tout début : le suivi de l’aide humaine dans le cadre des PIAL

    • Qu’est-ce que le PIAL ? Cela correspond pour nous à une zone géographique avec des écoles primaires urbaines et rurales, un collège et deux lycées. À la dernière rentrée de septembre 2023 cela représente 85 élèves et 42 accompagnants.
    • Les accompagnants, terme que je préfère à l’acronyme AESH ou AVS, sont devenus des pièces essentielles à la bonne scolarisation d’élèves toujours plus nombreux. Sur notre collège de 700 élèves, 12 accompagnants interviennent. Certains ont une quotité de travail de 35h mais les plus récents n’ont des contrats que de 24h. Deux d’entre eux exercent une partie de leur mission sur un lycée ou sur une école.
    • Leurs missions. Ils aident les élèves dans leurs apprentissages mais parfois pour des actes de la vie quotidienne ou sociale (repas, toilette, relations sociales…). Ils suivent en général plusieurs élèves, de 2 à 4, individuellement ou de manière mutualisée quand les élèves à besoin ont pu être placés dans la même classe. La plupart des élèves du PIAL font la totalité de leur temps scolaire sur une classe de référence avec un accompagnement qui ne cible que quelques matières. Les AESH positionnés sur les dispositifs ULIS peuvent suivre sur la semaine la totalité des élèves de leur groupe : 10 maximum d’après les textes, de 13 à 15 en réalité. Les élèves de ces dispositifs ont une scolarité partagée entre la classe de référence et l’enseignement d’un coordonnateur de l’ULIS.
    • Comment sont attribuées les aides ? Toutes les notifications d’aménagements ou accompagnements attribués en compensation d’un handicap sont issues d’un long parcours administratif de plusieurs mois. Ce délai qui part du dépôt de la demande par la famille se termine par une commission qui a pris l’avis de professionnels du monde médico-social et de l’éducation. Dans notre collège 84 élèves ont une notification MDPH, pas nécessairement un accompagnant. Cela représente 1 élève sur 8. Si l’on ajoute les autres dispositifs d’aides attribués en interne ou par la médecine scolaire nous arrivons à 1 élève sur 4 soit 6 élèves par classe en moyenne.

    Le suivi

    Quelles données est-il utile de rassembler ?

    Au-delà des données basiques d’identification des élèves, il est important de noter la nature des aménagements (AESH, ULIS, Ordinateur, etc.), la date de fin d’attribution et le nom de l’enseignant-référent auprès de la MDPH. Ensuite, nous devons relier l’élève à un (ou plusieurs dans quelques cas) accompagnants sur un certain nombre d’heures. De plus, au début de l’année les coordonnateurs des ULIS ou du PIAL donnent des conseils de mise en œuvre des aides et des objectifs progressifs à atteindre. Ces éléments peuvent être réactualisés régulièrement.

    Pourquoi enregistrer ces données ?

    Les premières données sont indispensables pour programmer des réunions de suivis et de renouvellement dans les temps. Les suivantes ont tout leur intérêt pour donner du sens et du contenu à l’accompagnement. En cas de remplacement ponctuel d’un AESH, on pourrait ainsi facilement lui transmettre les informations essentielles.

    Enfin dans un cadre plus administratif, les services de l’Éducation Nationale nous contactent afin de vérifier que les accompagnants sont bien sollicités à la hauteur de leur quotité de travail et pour des statistiques comparant les aides individuelles ou mutualisées. Cela permet aussi de motiver des demandes de recrutement.

    Un modèle de gestion à perfectionner…

    Comment se faisait le suivi avant la création du nouvel outil ?

    Pendant trois ans, les coordonnateurs du PIAL mettaient à jour un lutin1 avec les emplois du temps élèves et ceux des accompagnants. Mais aussi, quand on les recevait, les notifications de la MDPH ; en effet, ce n’est pas automatique voire souvent non autorisé par certains inspecteurs. Ces derniers préférant que l’information soit donnée par les parents, ce qui n’est pas toujours le cas et ce qui ne permet pas d’anticipation des besoins.

    Quelles étaient les limitations ?

    Si la mise à jour d’emploi du temps peut se faire régulièrement dans le classeur, la diffusion de l’information auprès de l’ensemble des acteurs n’est pas forcément rapide quand il y a plusieurs acteurs pédagogiques dans le suivi. Enfin, si une gestion classique peut suffire sur de tous petits effectifs, elle ne permet pas de vue d’ensemble dès que l’on atteint des effectifs d’élèves et d’AESH importants et elle ne permet pas de rationaliser certaines aides. Transmettre rapidement des informations précises restait un défi dans le cas de remplacements de dernière minute.

    Un détail qui a également son importance, la fonction de pilotage et de coordination du PIAL reste une mission qui s’ajoute aux tâches de sa fonction d’origine. Cela est rémunéré à hauteur d’une indemnité correspondant très rarement au temps réellement passé sur cette gestion de plus en plus lourde.

    Comme dans l’exemple de notre arbitre, avoir un outil moderne, réactif, croisant les regards ne peut qu’être la solution !

    Pourquoi cela n’existe-t-il pas ?

    J’ai débuté comme enseignant l’année où le ministre de l’Éducation Nationale comparait notre institution à un mammouth. Nous avons (souvent) changé de dirigeant mais pas forcément de rythme. Et j’ai parfois l’impression que nous n’avançons pas très vite. J’ai posé la question en 2020 et l’on m’a répondu qu’un logiciel était en préparation pour la gestion des AESH. Depuis, rien. Cela bouge un peu côté suivi des élèves avec le Livret de Parcours Inclusif. J’ai bien vu un menu apparaître dans notre Intranet mais aucune directive ne nous est parvenue pour l’activer. La MDPH devrait pouvoir nous communiquer les notifications via cette interface, en contradiction d’ailleurs avec les recommandations actuelles. Depuis octobre dernier, rien de plus. Cela reste une coquille vide…

    SQLPage : créer une application web rapidement sans expérience de développeur web

    Principes généraux de SQLPage

    J’ai tout de suite été séduit par l’idée de pouvoir me concentrer sur les données et sur la personnalisation de leur traitement sans avoir à perdre du temps sur de la mise en page. SQLpage fonctionne comme un petit serveur web. Le binaire de l’application pèse un peu moins de 20 Mo. Quant aux fichiers créés, l’ensemble reste vraiment très léger

    Un outil pertinent pour créer « école inclusive »

    Maitriser ses propres données et avoir le choix dans la mise en relation et l’affichage des informations me semblait primordial. De plus SQLpage apparait être un outil léger dont on peut utiliser plusieurs briques au choix suivant ses besoins. Et, en tant qu’adepte du logiciel libre, le fait de pouvoir utiliser un programme ouvert, avec une communauté naissante et active correspondait bien à ma philosophie. Détail important à mes yeux, pouvoir retrouver ses données en cas de changement de support à l’avenir était plutôt rassurant. En effet les données stockées dans un fichier de base de données peuvent être facilement exportées au format tableur.

    Un SQLpager averti en vaut deux

    Comme je vais le détailler dans la partie suivante, s’engager sur SQLpage ne s’est pas révélé aussi simple que cela pour quelqu’un qui n’est pas habitué à coder et qui ne maitrise pas le langage SQL. Ceci dit, je ne regrette pas d’avoir franchi le cap et cela m’a permis de me familiariser avec la plateforme github et de faire d’indéniables progrès tant dans le langage SQL, très accessible au demeurant, que dans la langue de Shakespeare. Si on est prêt à perdre un peu de son temps sur la documentation de SQLpage et quelques tutoriels sur le SQL, on gagne en rapidité de codage par la suite…

    Création de l’application

    Les grandes étapes du développement

    Principales fonctionnalités et rythme de développement

    Lorsque j’ai suivi le lien de Framasoft, je m’attendais à trouver un logiciel avec une interface utilisateur qui permette par glisser déposer de construire des formulaires, un peu sur le modèle d’extensions que j’avais parfois utilisées sur Joomla ou Wordpress. Se retrouver devant un dossier avec un fichier nommé index.sql à rédiger soi-même est plutôt déstabilisant quand, comme moi, on ne maitrise pas le langage SQL. J’ai testé pendant deux jours en fonctionnant par copier-coller depuis la documentation ou depuis les exemples mis à disposition sur Github. Mon inexpérience dans le domaine du codage et ma connaissance de l’anglais sommaire dans ce domaine ont failli me pousser à abandonner SQLpage très rapidement. Heureusement, j’ai trouvé ce tutoriel dans la langue de Molière : Écrire une appli web en une journée avec SQLPage (publié sur linuxfr). Il m’a permis de bien comprendre les rudiments à la fois du langage SQL et du fonctionnement de SQLpage.

    Après ces deux jours de tâtonnements, je me suis donné quatre semaines pour parvenir à un logiciel basé autour de trois pages principales en SQL, une pour recenser les élèves, une autre pour leurs accompagnants et une dernière pour mettre en relation les notifications et aménagements accordés. En ne travaillant qu’à temps perdu, c’est-à-dire très tard le soir ou très tôt le matin, j’ai pu parvenir en deux semaines à un premier logiciel, encore imparfait mais répondant à une grande partie du cahier des charges que je m’étais fixé. Pour cela, je me suis appuyé principalement sur des fonctionnalités de base comme les composants form pour insérer des informations via un formulaire, et list, card ou table pour afficher les données et csv pour les exporter. On se prend au jeu et on progresse très vite. Il est possible de voir très rapidement le résultat de ses requêtes et d’affiner les composants à utiliser ainsi que leurs paramétrages.

    Pour un débutant, comme pour un programmeur plus chevronné, on apprécie grandement l’interprétation des erreurs de code éventuelles que ce soit dans la syntaxe SQL (Ah, les virgules oubliées par-ci par-là !) ou dans la mauvaise utilisation des composants de SQLpage…

    La mise en place de mon projet s’est déroulée en parallèle d’une phase de développement intense de SQLpage avec une version nouvelle par semaine et une documentation enrichie au même rythme. Plusieurs nouvelles fonctionnalités sont ainsi venues enrichir le code d’École Inclusive. Au bout de quatre semaines, je tenais un logiciel fonctionnel, enrichi par des composants mis à jour comme map, datagrid ou nouveaux comme button.

    Entre-temps, j’ai opté pour une version en ligne du logiciel et des données. Cela m’a obligé à me pencher sur les composants authentication et cookie.

    Huit semaines après ma découverte de SQLpage, je pouvais déployer une version aboutie, collaborative et en ligne via un protocole HTTPS grâce à la version majeure 0.17 de SQLpage.

    Comment est structurée l’application ?

    La structure de la base de données, c’est l’étape la plus importante avant de débuter le codage. Même s’il reste possible de modifier, rajouter des tables ou des champs en cours de projet, établir un schéma clair et détaillé de la structure des données utiles aide à anticiper la construction future du logiciel.

    Pour ma part, j’avais besoin de plusieurs tables pour respectivement les élèves, les accompagnants, les enseignants-référents, les établissements scolaires, les notifications, les aménagements et enfin une pour rassembler les suivis. Cela se calquait sur le fonctionnement classique des procédures.

    Au fil de l’avancée du projet, j’ai ajouté des tables pour gérer les utilisateurs et leurs sessions. Et afin de faciliter la gestion des notifications ou aménagements, j’ai construit deux tables "many to many" pour enregistrer de manière plus lisible les notifications multiples (par exemples AESH et Matériel pédagogique) ainsi que les pluri-dispositifs qui peuvent en découler (comme SEGPA et AESH). Cette étape a bénéficié du développement du composant 'form' et de sa fonction multi-select.

    Enfin, j’ai créé des tables supplémentaires pour pouvoir utiliser les fonctions 'upload' du composant 'form' et stocker des fichiers images contenant des photos des élèves et les emplois du temps de chaque accompagnant.

    Schéma de la base de données d’École Inclusive

    Une interface utilisateur simplifiée

    Le principal avantage de SQLpage est de pouvoir se focaliser sur le travail de codage du contenu sans se soucier de la mise en page. Pas de temps perdu sur des fichiers css ou html pour organiser la présentation, ceci est délégué à SQLpage qui propose une mise en forme par défaut pour chaque composant. Ceci est très appréciable et le rendu est sobre et élégant dès le début de la construction du projet.

    Au niveau de la charte graphique d’École Inclusive, j’ai choisi d’avoir un menu horizontal en haut de page pour accéder aux pages consacrées à chaque catégorie d’acteurs. L’autre choix a été sur le code couleur où j’ai opté pour des tonalités vertes et orange.

    page_Classes

    Au fur et à mesure de l’avancement du logiciel et de son enrichissement en fonctionnalités, j’ai prévu d’autres outils de navigation. Si au départ je m’étais focalisé sur des onglets, qui renvoient en réalité sur des pages différentes. Il est possible d’utiliser des variables et de construire un système d’onglet sur un seul et même fichier sql. Le composant button a grandement facilité la tâche. Ceci d’autant plus que l’on peut générer des boutons de façon dynamique. Ainsi, je peux avoir des listes de boutons qui reprennent l’ensemble des classes ou des dispositifs créés pour chaque collège ou lycée du PIAL.

    Vers la fin du projet, j’ai mis en place l’appel à un menu stocké dans un fichier json ce qui évite d’avoir à modifier le composant shell sur chacune des pages, ce qui est - pour l’avoir testé à mes dépens - une tâche très fastidieuse.

    Un code puissant et dynamique

    La seule limite à l’interface et au codage est celle de notre imagination, en effet SQLpage m’a permis de mettre en œuvre chacune de mes idées à chaque fois que je cherchais à améliorer les fonctionnalités « d’École Inclusive ». Ainsi d’une structure prévue sur 4 fichiers sql je suis passé à une structure de 94 fichiers dans la version actuelle. Maintenant que je maîtrise mieux SQLpage, je pense qu’il serait possible de réduire le nombre de pages, mais, dans ma découverte du code à mes débuts, il était plus facile d’écrire des pages plus courtes.

    En s’appuyant sur la documentation en ligne, il est facile d’utiliser les composants de bases pour rentrer les données et les afficher sous forme de listes, de tables (avec fonction de recherche) ou de cartes (avec l’ajout d’images ou de photos) de manière dynamique en étant redirigé vers un contenu spécifique grâce à l’écriture de requêtes sur une variable comme l’id d’un élève ou d'un établissement scolaire ou d’une classe.
    page_Eleve_ajout
    page_Eleve

    Ce qui m’a demandé davantage de réflexion a été de me lancer dans l’édition et la modification de données existantes. Depuis une icône présente sur une ligne de données d’un tableau, je voulais pouvoir, suivant les cas, éditer ou supprimer une entrée. J’avoue qu’il m’a fallu quelques jours pour arriver à un résultat correct pour dans l’ordre : afficher le formulaire, appeler les données concernées et lancer une mise à jour de la table dans la base. Pour cela j’ai contourné certaines difficultés en faisant appel à des variables afin de stocker certaines données et les réutiliser plusieurs fois sur la page, par exemple pour créer des liens dynamiques.

    Dans les tables, j’ai souhaité mettre en évidence des situations demandant une vigilance comme une date d’expiration de notification proche de l’échéance ou l’ayant dépassée ou une fiche incomplète. Il est possible de mettre en place des conditions pour jouer soit sur la couleur d’une ligne soit sur l’affichage d’une icône particulière.

    Enfin, la sécurisation du site dans le cadre d’une authentification avec des droits d’accès, des codes d’activation et des mots de passe forts a demandé une réflexion plus poussée et l’aide du concepteur de SQLpage.

    Les points techniques intéressants

    Les fonctionnalités de sqlpage utilisées

    Au-delà des fonctionnalités alliant formulaires et données en liste ou en tableau, SQLpage offre des possibilités puissantes à la fois sur le plan fonctionnel et sur le plan esthétique.

    Ainsi, il est possible de générer un trombinoscope ou des fiches de synthèse des élèves de chaque AESH. Cela se base sur le composant 'card' qui permet une présentation claire et concise des informations.

    Le composant 'map' permet de situer chaque établissement scolaire, de différencier par des icônes les différents types de structures et bien évidemment de créer un lien vers leur page respective.

    La visualisation des données sous forme de graphiques avec le composant 'chart' est un des points que je voulais pouvoir afficher pour analyser le temps de suivi de chaque élève et la répartition des missions des AESH.

    page_AESH
    page_AESH_2

    En termes d’import/export, SQLpage permet de récupérer le résultat de requêtes sous forme de fichiers au format csv avec un composant dédié. L’importation à travers le composant 'form' autorise des envois de fichiers uniquement ou des traitements par lots comme dans le cas d’importations d’utilisateurs.

    Enfin, les composants 'autenthication' et 'cookie' sont très efficaces pour mettre en place un site sécurisé.

    Dernier point fondamental dans le cadre de la sécurisation des données, SQLpage qui reste un mini-serveur web supporte directement le protocole https.

    Publication en open-source

    Un simple outil comme SQLpage permet ainsi de développer relativement facilement des applications en open-source qui sont facilement fonctionnelles et attrayantes d’un point de vue graphique. De plus, l’ensemble logiciel, fichiers et base de données reste très léger et l’affichage des pages est instantanée même dans le cas de requêtes complexes.

    Réception de l’application

    par les services de l’Éducation Nationale

    L’École Inclusive me parait naturellement devoir se pencher sur le suivi des élèves. Aussi ai-je fait part rapidement de mon projet aux enseignants-référents qui suivent les dossiers des élèves sur l’ensemble du département. Ils ont été séduits par l’idée car, eux aussi, font face à une échelle encore plus vaste à l’augmentation du nombre d’enfants à besoins particuliers. Intégrer leur rôle dans l’application était une évidence car ce sont eux qui programment et dirigent les réunions de suivis de la scolarité. Chaque début d’année, nous organisons une rencontre pour croiser nos données qui peuvent être parfois divergentes quant à des dates de fin de notification ou des aménagements multiples.

    Mais les services de l’École Inclusive revêtent également des aspects administratifs à travers le déploiement et la gestion des accompagnements humains. Je suis rentré en contact avec les services administratifs de la DSDEN de la Lozère. L’accueil du logiciel (encore en version de test) a été bon, notamment sur son volet administratif avec les possibilités de quantifier en heures les accompagnements et la différenciation entre les accompagnements individuels ou mutualisés mais aussi sur son volet de traitement et de croisement des bases de données élèves et AESH.

    par les collègues

    Dans notre collège, où plusieurs dispositifs coexistent et où un quart des élèves bénéficient d’un aménagement particulier, nous avions l’habitude depuis trois ans de distribuer une fiche A4 par classe avec la liste des élèves et trois colonnes recensant de manière synthétique le constat des difficultés, les aménagements et les objectifs. La mise à jour du tableur était complexe avant la rentrée ou en cours d’année. Certains renseignements sur les suivis manquaient sans parler des oublis ou petites erreurs d’actualisation ou problèmes de mise en page qui pouvaient se glisser dans les listes.

    Aussi, proposer à tous les coordonnateurs de dispositifs un outil en ligne, collaboratif, plus complet et toujours à jour les a convaincus immédiatement. Sans tutoriel, ni formation, la prise en main a été très facile du fait de la navigation simplifiée et très intuitive. En moins de trois semaines, l’ensemble des fiches de 184 élèves a été mis à jour.

    Cela a permis d’avoir un retour constructif de mes collègues et de recueillir des suggestions pour améliorer le logiciel. L’ajout d’une icône pour ajouter un premier aménagement, masquer des onglets inutiles pour des élèves sans accompagnement, la création d’un champ précisant le rôle de l’accompagnant ou encore l’import des emplois du temps des AESH.

    Le logiciel a été testé lors de remplacements d’AESH, dans un premier temps en faisant des captures d’écran des pages des consignes de suivis puis avec un compte actif pour une AESH. Cela s’est révélé très pratique et très facile d’utilisation.

    Il reste à franchir le pas de l’ouverture à l’ensemble des équipes pédagogiques et cela sera facilité par les récentes fonctionnalités d’importation permise par SQLPage.

    Le futur de l’application École Inclusive

    évolutions techniques envisagées

    Pour répondre à une utilisation pratique pour tous et plus particulièrement pour les enseignants, une sortie au format PDF pour chaque classe permettrait une diffusion claire aux équipes pédagogiques. Une gestion plus fine des droits avec un mode d’édition intermédiaire est à envisager pour que chaque professeur principal puisse intervenir sur les informations des élèves de sa classe.

    Vers un déploiement de l’application dans un cadre légal…

    La mise en ligne d’École Inclusive sur un serveur reste une démarche relativement simple chez un hébergeur qui offrirait une solution dédiée ou virtualisée. Il est possible de déployer un serveur Linux sur lequel on lance SQLpage comme service. Pour une utilisation sur un seul établissement et par un seul coordonnateur, 'École Inclusive' peut tourner hors-réseau sur différents systèmes d’exploitation. Pour rester dans un strict cadre légal, il faut que le logiciel soit déployé sur une machine ou un hébergement pris en charge par l’Éducation Nationale.

    … et dans le respect des données privées

    Les services du Rectorat chargés de la Protection des Données nous accompagnent dans cette démarche afin de respecter les préconisations de la CNIL. Le type de données utilisé par le logiciel ne pose pas de problème. Pour les utilisateurs de l’application dont des données personnelles sont conservées dans la base de donnée, il faut prévoir un droit de regard et de rectification conformes au standard du RGPD. Mais, rappelons que cet outil permet déjà une gestion des droits à plusieurs niveaux en tant qu’administrateur, éditeur ou consultant. Dans ce dernier cas, certaines données comme les numéros de téléphone personnels sont masqués.

    Vers un élargissement de l’utilisation à d’autres établissements ?

    Le logiciel 'École Inclusive' va être présenté mi-mars aux chefs d’établissements publics de Lozère (13 collèges et 3 lycées). Cette démarche trouve sa pertinence dans le fait que les PIAL regroupent plusieurs établissements et que les enseignants-référents sont déployés à l’échelle du département. Cependant il sera difficile de mettre en concurrence cette application avec le Livret de Parcours Inclusif quand il sera un jour opérationnel. École Inclusive devra peut-être se recentrer sur la gestion des accompagnants et sur le suivi horaire dans une optique plus administrative que pédagogique. Mais il faut noter une plus grande souplesse et une saisie plus simple et plus directe dans École Inclusive qui ne se limite pas aux situations classiques des PPRE, PAP et Gevasco mais qui peut s’adapter à la physionomie des établissements. Chaque accueil réalisé dans la structure peut être suivi avec par exemple les élèves inclus venant d’établissements médico-sociaux, les élèves allophones, les PAI pour situations médicales…

    En conclusion, le plus important n’est pas l’arrivée mais la quête. Celle qui m’a conduit à me poser des questions et à construire École Inclusive dans l’intérêt des élèves à besoins particuliers et des membres des équipes éducatives qui les suivent. Cette application est disponible en open-source sur Github (https://github.com/DSMejantel/Ecole_inclusive). Elle reste encore en évolution et elle se perfectionne au fur et à mesure de l’apparition de nouvelles fonctionnalités de SQLpage. Elle demeure très perfectible : code et interface pourront évoluer en fonction des retours des utilisateurs et de mes progrès en programmation… Pour cela SQLpage reste un allié puissant et très didactique dans les exemples de sa documentation.

    Exemple de code: affichage du profil d’un élève dans l’espace AESH

    -- Résumé de suivis des élèves
    SELECT 'card' AS component, 4 AS columns WHERE $tab = 'Profils';
    SELECT eleve.nom || ' ' || eleve.prenom || ' (' || eleve.classe || ') ' AS title,
           'green' AS color,
           CASE
                  WHEN EXISTS (SELECT eleve.id FROM image WHERE eleve.id = image.eleve_id) THEN image_url
                  ELSE './icons/profil.png'
           END AS top_image,
           COALESCE('Mission de l''AESH : ' || suivi.mission,
                    'non saisi') AS description,
           group_concat(DISTINCT dispositif.dispo) AS footer,
           '[
                  ![](./icons/list-check.svg)
           ](notification.sql?id=' || eleve.id || '&tab=Profil)
           [
                  ![](./icons/user-plus.svg)
           ](notification.sql?id=' || eleve.id || '&tab=Suivi)' AS footer_md,
           'notification.sql?id=' || eleve.id || '&tab=Profil' AS link
    FROM eleve
           INNER JOIN affectation ON eleve.id = affectation.eleve_id
           LEFT JOIN amenag ON amenag.eleve_id = eleve.id
           JOIN dispositif ON dispositif.id = affectation.dispositif_id
           JOIN etab ON eleve.etab_id = etab.id
           JOIN suivi ON suivi.eleve_id = eleve.id
           LEFT JOIN image ON eleve.id = image.eleve_id
           JOIN aesh ON suivi.aesh_id = aesh.id
    WHERE aesh_id = $id AND $tab = 'Profils'
    GROUP BY eleve.id
    ORDER BY eleve.nom ASC;

    carte_eleve

    Cet élément fait partie de la page du profil d’un AESH. Dans un premier paragraphe, on appelle le composant 'card' avec ses paramètres. Ici, il y aura quatre cartes affichées par ligne si l’on se trouve sur l’onglet nommé « Profils ».
    Ensuite on trouve le contenu de chaque fiche élève. Son identité et sa photo si elle existe dans la base ; cela est déterminé par le CASE WHEN. Dans le cas inverse une image par défaut est affichée.
    Si le rôle de l’AESH a été renseigné, il est affiché en dessous. Puis viennent les dispositifs d’aide auxquels l’élève est rattaché.
    Enfin, trois icônes renvoient vers différents onglets de la fiche personnelle de l’élève.
    Cet affichage est dynamique et s’adapte au profil de chaque AESH comme le définit la condition WHERE aesh_id=$id. Le contenu de la fiche va piocher les différentes informations dans les tables.

    Exemple d’alertes et d’informations personnalisées

    -- Liste des notifications
    SELECT 'table' as component,
           'actions' as markdown,
           1 as sort,
           1 as search;
    SELECT eleve.nom as Nom,
           eleve.prenom as Prénom,
           notification.Departement as Dpt,
           group_concat(DISTINCT modalite.type) as Droits,
           etab.nom_etab as Établissement,
           strftime('%d/%m/%Y', datefin) AS Fin,
           CASE
                  WHEN notification.datefin < datetime(date('now', '+1 day')) THEN 'red'
                  WHEN notification.datefin < datetime(date('now', '+350 day')) THEN 'orange'
                  ELSE 'green'
           END AS _sqlpage_color,
           coalesce('[ ![](./icons/user-plus.svg) ](aesh_suivi.sql?id=' || suivi.aesh_id || '&tab=Profils)', '[ ![](./icons/user-off.svg) ]()') AS actions,
           '[ ![](./icons/briefcase.svg) ](notification.sql?id=' || eleve.id || '&tab=Profil)' as actions
    FROM notification
           INNER JOIN eleve on notification.eleve_id = eleve.id
           LEFT JOIN suivi on eleve.id = suivi.eleve_id
           LEFT join notif on notif.notification_id = notification.id
           LEFT join modalite on modalite.id = notif.modalite_id
           JOIN referent on eleve.referent_id = referent.id
           JOIN etab on eleve.etab_id = etab.id
    Where referent.id = $id
    GROUP BY notification.eleve_id
    ORDER BY eleve.nom ASC;

    Tableau de suivi par référent

    Cet élément fait partie de la page du profil d’un enseignant-référent de la MDA-MDPH.
    Dans un premier paragraphe, on appelle le composant table avec ses paramètres. On trouve le formatage d’une colonne en markdown et les options de recherche et de tri qui sont activées.
    Ensuite on trouve le contenu de chaque ligne avec l’élève dont le dossier est suivi par ce référent.
    Afin de planifier avec lui les priorités pour les dates de réunions de suivi, il est possible d’attribuer une couleur de ligne en fonction de la date de fin de notification avec :
    CASE
    WHEN notification.datefin < datetime(date('now', '+1 day')) THEN 'red'
    WHEN notification.datefin < datetime(date('now', '+350 day')) THEN 'orange'
    ELSE 'green'

    De même les icônes sont personnalisables pour indiquer si l’élève bénéficie d’un AESH ou non. Et bien sûr des liens permettent de passer sur la fiche de l’élève ou de son AESH.

    Licence de l’article: CC0


    1. [NDM] : lutin est le nom d’une marque de protège-documents à pochettes en plastique, par extension celui des protège-documents similaires d’autres marques. 

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇LinuxFr.org : les dépêches
    • Revue de presse de l’April pour la semaine 7 de l’année 2024
      Cette revue de presse sur Internet fait partie du travail de veille mené par l’April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l’April. [ZDNet France] Non-respect de la licence GPL: Orange condamné en appel [Le Monde.fr] La France enterre son indice de durabilité des smartphones [InformatiqueNews.fr] Migration PostgreSQL: le choix de la première base de

    Revue de presse de l’April pour la semaine 7 de l’année 2024

    19 février 2024 à 20:22

    [ZDNet France] Non-respect de la licence GPL: Orange condamné en appel

    ✍ Thierry Noisette, le vendredi 16 février 2024.

    La cour d’appel de Paris a condamné Orange à payer 650.000 euros à la société coopérative Entr’Ouvert pour ne pas avoir respecté la licence GNU GPL v2.

    N. D. M. : cf lien Orange condamné à 650 000 € pour non-respect de la licence GPL

    [Le Monde.fr] La France enterre son indice de durabilité des smartphones

    Le jeudi 15 février 2024.

    Tout en rappelant que son indice était plus ambitieux que celui prévu à l’heure actuelle par l’Union européenne, le ministère de l’écologie a fini par abandonner son projet, auquel la Commission européenne s’était dite défavorable.

    Et aussi:

    [InformatiqueNews.fr] Migration PostgreSQL: le choix de la première base de données

    ✍ Florent Jardin, le mercredi 14 février 2024.

    Bien des entreprises choisissent de migrer d’Oracle vers l’open source et PostgreSQL, mais le choix de la première base est essentiel.

    [Clubic.com] Voilà comment Firefox pourrait revenir dans la course en 2024

    ✍ Maxence Glineur, le lundi 12 février 2024.

    Le navigateur au panda roux n’est plus aussi populaire qu’auparavant. Ironiquement, sa meilleure arme contre Chrome pourrait être… l’un de ses anciens projets.

    [Numerama] Qui est Marina Ferrari, la nouvelle secrétaire d'État chargée du Numérique?

    ✍ Bogdan Bodnar, le vendredi 9 février 2024.

    Marina Ferrari, députée Modem de Savoie, vient d’être nommée secrétaire d’État chargée du numérique. Elle remplace un collègue du MoDem, Jean-Noël Barrot, désormais ministre en charge de l’Europe.

    Et aussi:

    [ZDNet France] Règlement pour une Europe interopérable: une avancée pour les logiciels libres, pour la FSFE

    ✍ Thierry Noisette, le vendredi 9 février 2024.

    Le texte que viennent de voter les eurodéputés est une «opportunité importante», estime la Free Software Foundation Europe.

    Et aussi:

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇Korben
    • WebDB – Vos bases de données enfin accessibles facilement
      Alexandre, lecteur de Korben.info depuis une bonne dizaine d’années, m’a fait le plaisir de me contacter pour me montrer l’outil qu’il développe depuis maintenant un an. J’ai trouvé ça très cool alors je vais le partager avec vous. Il s’agit d’un IDE totalement open source dédié aux bases de données. Cet outil libre simplifie les interactions que nous avons avec nos bases de données, ce qui rend leur administration et la gestion des données plus intuitives et surtout beaucoup plus facile. Vous

    WebDB – Vos bases de données enfin accessibles facilement

    Par : Korben
    22 janvier 2024 à 09:00

    Alexandre, lecteur de Korben.info depuis une bonne dizaine d’années, m’a fait le plaisir de me contacter pour me montrer l’outil qu’il développe depuis maintenant un an. J’ai trouvé ça très cool alors je vais le partager avec vous. Il s’agit d’un IDE totalement open source dédié aux bases de données. Cet outil libre simplifie les interactions que nous avons avec nos bases de données, ce qui rend leur administration et la gestion des données plus intuitives et surtout beaucoup plus facile. Vous allez voir !

    Tout d’abord, WebDB simplifie la découverte de serveurs et la connexion à ces derniers, grâce à un système de scan intelligent. Il détecte les ports utilisés pour chaque base de données et permet d’ajouter des hôtes spécifiques à analyser. Cela élimine la corvée de récupérer des mots de passe, car WebDB teste automatiquement des identifiants populaires. Pensez quand même à les changer à un moment pour des questions de sécurité 🙂

    En explorant plus profondément WebDB, on découvre que l’exploration de données est beaucoup plus facile et agréable que dans n’importe quel PhpMyAdmin ou autre. En seulement trois clics, on peut comme ça parcourir, mettre à jour ou supprimer des données. Le filtrage des données SQL et NoSQL se fait directement depuis l’explorateur, avec un design optimisé pour les clés étrangères et les ObjectID relationnels. Et ce n’est pas tout : WebDB permet de mettre à jours vos données par lots en utilisant des fichiers JSON. Pratiquement quand vous avez de la quantité à mettre à jour.

    Le cœur de l’IDE WebDB réside dans son éditeur de requêtes. Avec de l’autocomplétion pour SQL et les structures spécifiques au serveur, rédiger des requêtes se fait en un clin d’œil. Les requêtes CRUD (create, read, update, and delete) pré-construites sont sauvegardées automatiquement et peuvent être marquées comme favorites.

    La modification de colonnes SQL ou de champs NoSQL est également plus intuitive grâce à WebDB. Le logiciel propose tous les types possibles en fonction de la base de données et facilite la modification des colonnes avec des fonctions de casting intelligentes, applicables tant aux bases de données SQL qu’à NoSQL. Cette fonctionnalité permet une grande flexibilité et s’adapte à divers contextes linguistiques.

    Voilà… Sinon, WebDB gère également des éléments complexes comme les procédures SQL, les fonctions, et les types de données spécifiques. Il prend en charge les validateurs MongoDB et les contraintes SQL, offrant une compréhension complète de la base de données.

    La gestion des relations SQL dans WebDB est également totalement transparente grâce à une vue intuitive. L’outil déduit les relations pour aider à générer des données étrangères et à comprendre la structure de la base de données avec une facilité déconcertante. En plus, le versioning de base de données est une autre caractéristique clé de WebDB. Suivant les modifications et intégrant Git, il permet de revenir facilement à n’importe quelle version antérieure.

    L’intégration de ChatGPT dans WebDB apporte également un peu de « cerveau » à l’outil. ChatGPT offre des réponses précises en fonction de la structure de la base de données. Cette fusion entre intelligence artificielle et gestion de données ouvre de nouvelles perspectives pour les utilisateurs, surtout pour les débutants.

    Le module ERD de WebDB permet également de visualiser la structure et les relations de la base de données de manière moderne et intuitive. L’exportation de ces diagrammes au format PNG ou SVG se fait en un clic, ce qui vous permettra d’illustrer vos préz ou sites web / documentation super facilement.

    Enfin, l’importation et l’exportation de données avec WebDB sont simplifiées, que ce soit au format natif ou JSON, garantissant une compatibilité et des performances optimales.

    Vous l’aurez compris, Alexandre a bien bossé et WebDB se présente vraiment comme une solution complète et avant-gardiste pour la gestion des bases de données, accessible et efficace pour tous, que vous soyez total noob ou super expert en base de données.

    Je vous invite à tester ça. C’est auto-hébergeable, ça tourne dans Docker, et y’a même une démo en ligne.

    ❌
    ❌