From 201ae53e659bdf33946f47879af3ce103fa7671b Mon Sep 17 00:00:00 2001 From: Cedric Abonnel Date: Fri, 8 May 2026 22:53:43 +0200 Subject: [PATCH] feat: brouillons visibles uniquement par auteur + ribbon 45deg BROUILLON --- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- .../meta.json | 2 +- public/assets/css/style.css | 25 +++++++++++++------ public/index.php | 22 +++++++++++++++- templates/post_list.php | 6 ++--- templates/post_view.php | 3 +++ 58 files changed, 99 insertions(+), 65 deletions(-) diff --git a/data/0d8d5060-b5bd-4e81-ae3a-aaa58e7ff2ae/meta.json b/data/0d8d5060-b5bd-4e81-ae3a-aaa58e7ff2ae/meta.json index e640347..852916c 100644 --- a/data/0d8d5060-b5bd-4e81-ae3a-aaa58e7ff2ae/meta.json +++ b/data/0d8d5060-b5bd-4e81-ae3a-aaa58e7ff2ae/meta.json @@ -2,7 +2,7 @@ "uuid": "0d8d5060-b5bd-4e81-ae3a-aaa58e7ff2ae", "slug": "bienvenue", "title": "Bienvenue", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-04-04 07:30:00", "created_at": "2025-04-04 07:30:00", diff --git a/data/0e0b8d1d-3352-4ab7-bc70-7bc1f02ee485/meta.json b/data/0e0b8d1d-3352-4ab7-bc70-7bc1f02ee485/meta.json index 7798f99..38b314f 100644 --- a/data/0e0b8d1d-3352-4ab7-bc70-7bc1f02ee485/meta.json +++ b/data/0e0b8d1d-3352-4ab7-bc70-7bc1f02ee485/meta.json @@ -2,7 +2,7 @@ "uuid": "0e0b8d1d-3352-4ab7-bc70-7bc1f02ee485", "slug": "imagemagick-sous-debian-comprendre-convert-im6-magick-et-les-choix-de-conception", "title": "ImageMagick sous Debian : comprendre `convert-im6`, `magick` et les choix de conception", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-12-28 15:32:01", "created_at": "2025-12-28 15:32:01", diff --git a/data/0eaa0f05-7f48-47b4-91d3-3ba4ac80fe50/meta.json b/data/0eaa0f05-7f48-47b4-91d3-3ba4ac80fe50/meta.json index 5189771..a2e33b2 100644 --- a/data/0eaa0f05-7f48-47b4-91d3-3ba4ac80fe50/meta.json +++ b/data/0eaa0f05-7f48-47b4-91d3-3ba4ac80fe50/meta.json @@ -2,7 +2,7 @@ "uuid": "0eaa0f05-7f48-47b4-91d3-3ba4ac80fe50", "slug": "clearview-ai-quand-l-intelligence-artificielle-depasse-les-limites-du-public", "title": "Clearview AI : quand l’intelligence artificielle dépasse les limites du « public »", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 07:15:36", "created_at": "2025-11-05 07:15:36", diff --git a/data/0ee676f4-4d18-4e64-bb39-aa32d3b11e8a/meta.json b/data/0ee676f4-4d18-4e64-bb39-aa32d3b11e8a/meta.json index 213edb7..0c5f464 100644 --- a/data/0ee676f4-4d18-4e64-bb39-aa32d3b11e8a/meta.json +++ b/data/0ee676f4-4d18-4e64-bb39-aa32d3b11e8a/meta.json @@ -2,7 +2,7 @@ "uuid": "0ee676f4-4d18-4e64-bb39-aa32d3b11e8a", "slug": "oh-tequila", "title": "Oh Tequila !", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-04 22:01:00", "created_at": "2025-11-04 22:01:00", diff --git a/data/11186836-bbac-4054-82db-a3bfed14a274/meta.json b/data/11186836-bbac-4054-82db-a3bfed14a274/meta.json index d790726..d9b1758 100644 --- a/data/11186836-bbac-4054-82db-a3bfed14a274/meta.json +++ b/data/11186836-bbac-4054-82db-a3bfed14a274/meta.json @@ -2,7 +2,7 @@ "uuid": "11186836-bbac-4054-82db-a3bfed14a274", "slug": "imagemagick-le-couteau-suisse-de-la-manipulation-d-images-sous-linux", "title": "ImageMagick : le couteau suisse de la manipulation d’images sous Linux", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-12-28 14:56:14", "created_at": "2025-12-28 14:56:14", diff --git a/data/142cf3b9-da89-4838-b23b-2f8de1edd743/meta.json b/data/142cf3b9-da89-4838-b23b-2f8de1edd743/meta.json index 5fd90f2..da3fe3a 100644 --- a/data/142cf3b9-da89-4838-b23b-2f8de1edd743/meta.json +++ b/data/142cf3b9-da89-4838-b23b-2f8de1edd743/meta.json @@ -2,7 +2,7 @@ "uuid": "142cf3b9-da89-4838-b23b-2f8de1edd743", "slug": "math-6eme", "title": "Math 6eme", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-09 11:22:41", "created_at": "2025-11-09 11:22:41", diff --git a/data/1ec2fb7e-ce53-4b45-9e1a-17a6fbae6868/meta.json b/data/1ec2fb7e-ce53-4b45-9e1a-17a6fbae6868/meta.json index 1b4f9cb..110c2f7 100644 --- a/data/1ec2fb7e-ce53-4b45-9e1a-17a6fbae6868/meta.json +++ b/data/1ec2fb7e-ce53-4b45-9e1a-17a6fbae6868/meta.json @@ -2,7 +2,7 @@ "uuid": "1ec2fb7e-ce53-4b45-9e1a-17a6fbae6868", "slug": "les-histoires-folles-de-la-tech-resume", "title": "Les histoires folles de la Tech - résumé", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-04 21:59:40", "created_at": "2025-11-04 21:59:40", diff --git a/data/29afb8a4-36ba-40da-a857-109a26df336d/meta.json b/data/29afb8a4-36ba-40da-a857-109a26df336d/meta.json index 16342d1..c333939 100644 --- a/data/29afb8a4-36ba-40da-a857-109a26df336d/meta.json +++ b/data/29afb8a4-36ba-40da-a857-109a26df336d/meta.json @@ -2,7 +2,7 @@ "uuid": "29afb8a4-36ba-40da-a857-109a26df336d", "slug": "incident-acegrp-lan-1-numerique-gestion-alim", "title": "Incident acegrp.lan (1) : NUMERIQUE GESTION ALIM", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-04-29 07:32:00", "created_at": "2025-04-29 07:32:00", diff --git a/data/2bd30656-b34b-45b3-86b7-610503fa92fe/meta.json b/data/2bd30656-b34b-45b3-86b7-610503fa92fe/meta.json index ca69010..5a9a9b8 100644 --- a/data/2bd30656-b34b-45b3-86b7-610503fa92fe/meta.json +++ b/data/2bd30656-b34b-45b3-86b7-610503fa92fe/meta.json @@ -2,7 +2,7 @@ "uuid": "2bd30656-b34b-45b3-86b7-610503fa92fe", "slug": "la-4g-un-bond-en-avant-technologique", "title": "La 4G : un bond en avant technologique", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 08:42:20", "created_at": "2025-11-05 08:42:20", diff --git a/data/3c9eaeb1-4b44-487e-99d7-2e5a2f2b7b81/meta.json b/data/3c9eaeb1-4b44-487e-99d7-2e5a2f2b7b81/meta.json index fa7a9ea..721b71b 100644 --- a/data/3c9eaeb1-4b44-487e-99d7-2e5a2f2b7b81/meta.json +++ b/data/3c9eaeb1-4b44-487e-99d7-2e5a2f2b7b81/meta.json @@ -2,7 +2,7 @@ "uuid": "3c9eaeb1-4b44-487e-99d7-2e5a2f2b7b81", "slug": "svt-6", "title": "svt 6", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-25 20:30:17", "created_at": "2025-11-25 20:30:17", diff --git a/data/3d6d8b38-c514-46dc-93dc-b4b2f19112e9/meta.json b/data/3d6d8b38-c514-46dc-93dc-b4b2f19112e9/meta.json index 36e7c44..e85fdd3 100644 --- a/data/3d6d8b38-c514-46dc-93dc-b4b2f19112e9/meta.json +++ b/data/3d6d8b38-c514-46dc-93dc-b4b2f19112e9/meta.json @@ -2,7 +2,7 @@ "uuid": "3d6d8b38-c514-46dc-93dc-b4b2f19112e9", "slug": "l-histoire-du-million-de-dollars-offert-par-george-clooney", "title": "L'histoire du million de dollars offert par George Clooney", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-04 22:02:12", "created_at": "2025-11-04 22:02:12", diff --git a/data/4690db18-9a01-4263-be38-13762cd8f6fa/meta.json b/data/4690db18-9a01-4263-be38-13762cd8f6fa/meta.json index 18030bd..63a62a0 100644 --- a/data/4690db18-9a01-4263-be38-13762cd8f6fa/meta.json +++ b/data/4690db18-9a01-4263-be38-13762cd8f6fa/meta.json @@ -2,7 +2,7 @@ "uuid": "4690db18-9a01-4263-be38-13762cd8f6fa", "slug": "bienvenue-sur-varlog-carnet-de-bord-technique", "title": "🎉 Bienvenue sur **varlog** – Carnet de bord technique", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-05-25 06:08:10", "created_at": "2025-05-25 06:08:10", diff --git a/data/46f2f084-8dd8-497a-aef0-4728367ce753/meta.json b/data/46f2f084-8dd8-497a-aef0-4728367ce753/meta.json index 1843871..bfd8f71 100644 --- a/data/46f2f084-8dd8-497a-aef0-4728367ce753/meta.json +++ b/data/46f2f084-8dd8-497a-aef0-4728367ce753/meta.json @@ -2,7 +2,7 @@ "uuid": "46f2f084-8dd8-497a-aef0-4728367ce753", "slug": "convertir-des-images-en-ligne-de-commande-sous-linux", "title": "Convertir des images en ligne de commande sous Linux", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-12-28 14:54:41", "created_at": "2025-12-28 14:54:41", diff --git a/data/4f193d70-d236-42d7-aedb-58631cd15002/meta.json b/data/4f193d70-d236-42d7-aedb-58631cd15002/meta.json index 8f2694d..d986e2d 100644 --- a/data/4f193d70-d236-42d7-aedb-58631cd15002/meta.json +++ b/data/4f193d70-d236-42d7-aedb-58631cd15002/meta.json @@ -2,7 +2,7 @@ "uuid": "4f193d70-d236-42d7-aedb-58631cd15002", "slug": "la-6g-au-dela-de-la-5g-promesses-et-interrogations", "title": "La 6G : au-delà de la 5G, promesses et interrogations", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 08:46:51", "created_at": "2025-11-05 08:46:51", diff --git a/data/4f443bcb-b0d4-47f8-837d-61627e6c94f2/meta.json b/data/4f443bcb-b0d4-47f8-837d-61627e6c94f2/meta.json index 5887e72..7704f55 100644 --- a/data/4f443bcb-b0d4-47f8-837d-61627e6c94f2/meta.json +++ b/data/4f443bcb-b0d4-47f8-837d-61627e6c94f2/meta.json @@ -2,7 +2,7 @@ "uuid": "4f443bcb-b0d4-47f8-837d-61627e6c94f2", "slug": "priorites-et-acces-au-reseau-en-4g-et-5g", "title": "Priorités et accès au réseau en 4G et 5G", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2026-01-06 22:21:04", "created_at": "2026-01-06 22:21:04", diff --git a/data/5059c1e2-f3e6-406f-9595-7133bb835cdb/meta.json b/data/5059c1e2-f3e6-406f-9595-7133bb835cdb/meta.json index 0935fcd..f29726b 100644 --- a/data/5059c1e2-f3e6-406f-9595-7133bb835cdb/meta.json +++ b/data/5059c1e2-f3e6-406f-9595-7133bb835cdb/meta.json @@ -2,7 +2,7 @@ "uuid": "5059c1e2-f3e6-406f-9595-7133bb835cdb", "slug": "petits-colis-grands-impots-quand-la-taxation-punit-les-francais-sans-relancer-l-industrie", "title": "Petits colis, grands impôts : quand la taxation punit les Français sans relancer l’industrie", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-14 00:55:43", "created_at": "2025-11-14 00:55:43", diff --git a/data/5510b12a-d647-4b1a-90ba-d421a4927ff7/meta.json b/data/5510b12a-d647-4b1a-90ba-d421a4927ff7/meta.json index 38c27ef..3154b2d 100644 --- a/data/5510b12a-d647-4b1a-90ba-d421a4927ff7/meta.json +++ b/data/5510b12a-d647-4b1a-90ba-d421a4927ff7/meta.json @@ -2,7 +2,7 @@ "uuid": "5510b12a-d647-4b1a-90ba-d421a4927ff7", "slug": "configurer-un-client-oauth-2-0-dans-keycloak-guide-complet", "title": "🔐 Configurer un client OAuth 2.0 dans Keycloak : guide complet", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-05-16 23:33:31", "created_at": "2025-05-16 23:33:31", diff --git a/data/55a2c5eb-74d2-4c58-a7d1-19d1d824adf1/meta.json b/data/55a2c5eb-74d2-4c58-a7d1-19d1d824adf1/meta.json index 13d0647..3a750c5 100644 --- a/data/55a2c5eb-74d2-4c58-a7d1-19d1d824adf1/meta.json +++ b/data/55a2c5eb-74d2-4c58-a7d1-19d1d824adf1/meta.json @@ -2,7 +2,7 @@ "uuid": "55a2c5eb-74d2-4c58-a7d1-19d1d824adf1", "slug": "incident-acegrp-lan-2-tout-s-explique-enfin", "title": "Incident acegrp.lan (2) : Tout s’explique enfin !", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-04-30 18:01:00", "created_at": "2025-04-30 18:01:00", diff --git a/data/5982deaf-f3de-4f65-9270-9849132e64f6/meta.json b/data/5982deaf-f3de-4f65-9270-9849132e64f6/meta.json index b4a2cd4..9275193 100644 --- a/data/5982deaf-f3de-4f65-9270-9849132e64f6/meta.json +++ b/data/5982deaf-f3de-4f65-9270-9849132e64f6/meta.json @@ -2,7 +2,7 @@ "uuid": "5982deaf-f3de-4f65-9270-9849132e64f6", "slug": "nos-donnees-a-l-ere-de-l-ia-l-affaire-linkedin-et-la-colere-des-utilisateurs", "title": "Nos données à l’ère de l’IA : l’affaire LinkedIn et la colère des utilisateurs", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 07:10:37", "created_at": "2025-11-05 07:10:37", diff --git a/data/5a0cced3-40d0-46bf-8501-b533f3c2608e/meta.json b/data/5a0cced3-40d0-46bf-8501-b533f3c2608e/meta.json index 3277029..de06550 100644 --- a/data/5a0cced3-40d0-46bf-8501-b533f3c2608e/meta.json +++ b/data/5a0cced3-40d0-46bf-8501-b533f3c2608e/meta.json @@ -2,7 +2,7 @@ "uuid": "5a0cced3-40d0-46bf-8501-b533f3c2608e", "slug": "correction-et-reparation-d-une-installation-uptime-kuma", "title": "Correction et réparation d’une installation Uptime Kuma", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-26 08:33:49", "created_at": "2025-11-26 08:33:49", diff --git a/data/5b7030fa-68da-42b1-b181-49af17132fdf/meta.json b/data/5b7030fa-68da-42b1-b181-49af17132fdf/meta.json index b10d645..37230e6 100644 --- a/data/5b7030fa-68da-42b1-b181-49af17132fdf/meta.json +++ b/data/5b7030fa-68da-42b1-b181-49af17132fdf/meta.json @@ -2,7 +2,7 @@ "uuid": "5b7030fa-68da-42b1-b181-49af17132fdf", "slug": "github-copilot-l-assistant-qui-a-declenche-une-tempete", "title": "GitHub Copilot, l’assistant qui a déclenché une tempête", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 07:17:49", "created_at": "2025-11-05 07:17:49", diff --git a/data/663b0638-10fd-4549-8ff5-aebb3285388f/meta.json b/data/663b0638-10fd-4549-8ff5-aebb3285388f/meta.json index 40bc8c6..d36bf0a 100644 --- a/data/663b0638-10fd-4549-8ff5-aebb3285388f/meta.json +++ b/data/663b0638-10fd-4549-8ff5-aebb3285388f/meta.json @@ -2,7 +2,7 @@ "uuid": "663b0638-10fd-4549-8ff5-aebb3285388f", "slug": "la-5g-promesse-derives-et-realite", "title": "La 5G : promesse, dérivés et réalité", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 08:45:44", "created_at": "2025-11-05 08:45:44", diff --git a/data/6f8eeb6c-a89f-4261-b6c6-f9fbe527f19a/meta.json b/data/6f8eeb6c-a89f-4261-b6c6-f9fbe527f19a/meta.json index 09e2d80..2cd9546 100644 --- a/data/6f8eeb6c-a89f-4261-b6c6-f9fbe527f19a/meta.json +++ b/data/6f8eeb6c-a89f-4261-b6c6-f9fbe527f19a/meta.json @@ -2,7 +2,7 @@ "uuid": "6f8eeb6c-a89f-4261-b6c6-f9fbe527f19a", "slug": "duree-de-vie-du-ciment", "title": "Durée de vie du ciment", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-04-04 14:13:00", "created_at": "2025-04-04 14:13:00", diff --git a/data/70b5f213-db76-4072-afb6-f876fe67aaf8/meta.json b/data/70b5f213-db76-4072-afb6-f876fe67aaf8/meta.json index 745274c..aaa2340 100644 --- a/data/70b5f213-db76-4072-afb6-f876fe67aaf8/meta.json +++ b/data/70b5f213-db76-4072-afb6-f876fe67aaf8/meta.json @@ -2,7 +2,7 @@ "uuid": "70b5f213-db76-4072-afb6-f876fe67aaf8", "slug": "non-le-compteur-linky-ne-reconnait-pas-les-voitures-electriques", "title": "Non, le compteur Linky ne reconnaît pas les voitures électriques", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-12-06 06:36:25", "created_at": "2025-12-06 06:36:25", diff --git a/data/72d50c35-9863-400b-8c5d-470c74bf2bd6/meta.json b/data/72d50c35-9863-400b-8c5d-470c74bf2bd6/meta.json index 9cf2ddc..de48ae5 100644 --- a/data/72d50c35-9863-400b-8c5d-470c74bf2bd6/meta.json +++ b/data/72d50c35-9863-400b-8c5d-470c74bf2bd6/meta.json @@ -2,7 +2,7 @@ "uuid": "72d50c35-9863-400b-8c5d-470c74bf2bd6", "slug": "tableau-section-cable-intensite-puissance-230-v-monophase-cuivre", "title": "Tableau section câble / intensité / puissance (230 V monophasé, cuivre)", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-09 21:48:35", "created_at": "2025-11-09 21:48:35", diff --git a/data/75302afc-6be5-4c76-bdeb-f297cf76413b/meta.json b/data/75302afc-6be5-4c76-bdeb-f297cf76413b/meta.json index 986b40b..9995004 100644 --- a/data/75302afc-6be5-4c76-bdeb-f297cf76413b/meta.json +++ b/data/75302afc-6be5-4c76-bdeb-f297cf76413b/meta.json @@ -2,7 +2,7 @@ "uuid": "75302afc-6be5-4c76-bdeb-f297cf76413b", "slug": "demarches-mgen", "title": "Démarches MGEN", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 06:23:24", "created_at": "2025-11-05 06:23:24", diff --git a/data/75bf96ba-e110-4a9e-8163-95890562aecf/meta.json b/data/75bf96ba-e110-4a9e-8163-95890562aecf/meta.json index 2738687..2e5f627 100644 --- a/data/75bf96ba-e110-4a9e-8163-95890562aecf/meta.json +++ b/data/75bf96ba-e110-4a9e-8163-95890562aecf/meta.json @@ -2,7 +2,7 @@ "uuid": "75bf96ba-e110-4a9e-8163-95890562aecf", "slug": "souverainete-numerique-le-paradoxe-d-orange-face-aux-clouds-americains", "title": "Souveraineté numérique : le paradoxe d’Orange face aux clouds américains", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2026-01-16 11:17:19", "created_at": "2026-01-16 11:17:19", diff --git a/data/7af79dd4-67d9-4516-a67b-06c2e569eaea/meta.json b/data/7af79dd4-67d9-4516-a67b-06c2e569eaea/meta.json index 7da516a..bdf02d9 100644 --- a/data/7af79dd4-67d9-4516-a67b-06c2e569eaea/meta.json +++ b/data/7af79dd4-67d9-4516-a67b-06c2e569eaea/meta.json @@ -2,7 +2,7 @@ "uuid": "7af79dd4-67d9-4516-a67b-06c2e569eaea", "slug": "test-kobo-libra-colour", "title": "Test Kobo Libra Colour", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-09 12:03:56", "created_at": "2025-11-09 12:03:56", diff --git a/data/7cf4eff3-2bab-4f2e-8982-247c89f7ca16/meta.json b/data/7cf4eff3-2bab-4f2e-8982-247c89f7ca16/meta.json index 5dd2041..4ba0b2d 100644 --- a/data/7cf4eff3-2bab-4f2e-8982-247c89f7ca16/meta.json +++ b/data/7cf4eff3-2bab-4f2e-8982-247c89f7ca16/meta.json @@ -2,7 +2,7 @@ "uuid": "7cf4eff3-2bab-4f2e-8982-247c89f7ca16", "slug": "installer-webmin-l-outil-d-administration-en-mode-web", "title": "Installer WEBMIN, l'outil d'administration en mode Web", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-13 11:57:05", "created_at": "2025-11-13 11:57:05", diff --git a/data/830b49eb-077e-4bb0-bbb2-f71aae938714/meta.json b/data/830b49eb-077e-4bb0-bbb2-f71aae938714/meta.json index 59d55eb..7d0c350 100644 --- a/data/830b49eb-077e-4bb0-bbb2-f71aae938714/meta.json +++ b/data/830b49eb-077e-4bb0-bbb2-f71aae938714/meta.json @@ -2,7 +2,7 @@ "uuid": "830b49eb-077e-4bb0-bbb2-f71aae938714", "slug": "zigbee2mqtt-et-slzb-06m-soupcons-de-dysfonctionnements-redemarrages-frequents-et-effets-de-bord", "title": "Zigbee2MQTT et SLZB-06M : soupçons de dysfonctionnements, redémarrages fréquents et effets de bord", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-04-11 08:43:42", "created_at": "2025-04-11 08:43:42", diff --git a/data/83cabd62-617e-418c-a890-76e205bf5551/meta.json b/data/83cabd62-617e-418c-a890-76e205bf5551/meta.json index cac5f44..5242aba 100644 --- a/data/83cabd62-617e-418c-a890-76e205bf5551/meta.json +++ b/data/83cabd62-617e-418c-a890-76e205bf5551/meta.json @@ -2,7 +2,7 @@ "uuid": "83cabd62-617e-418c-a890-76e205bf5551", "slug": "rejet-des-mails-avec-l-en-tete-received-spf", "title": "Rejet des mails avec l'en-tête Received-SPF", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-05-20 16:46:00", "created_at": "2025-05-20 16:46:00", diff --git a/data/83d27137-0077-4dc3-a76c-a033b00e6b7e/meta.json b/data/83d27137-0077-4dc3-a76c-a033b00e6b7e/meta.json index 8a12bb4..c2d87c0 100644 --- a/data/83d27137-0077-4dc3-a76c-a033b00e6b7e/meta.json +++ b/data/83d27137-0077-4dc3-a76c-a033b00e6b7e/meta.json @@ -2,7 +2,7 @@ "uuid": "83d27137-0077-4dc3-a76c-a033b00e6b7e", "slug": "rdv-tech-2025-04-03", "title": "RDV Tech #2025.04.03", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-04-09 23:03:39", "created_at": "2025-04-09 23:03:39", diff --git a/data/8da6da4b-5b28-4f67-b6f7-277ee42843ce/meta.json b/data/8da6da4b-5b28-4f67-b6f7-277ee42843ce/meta.json index adbfc01..e8009e9 100644 --- a/data/8da6da4b-5b28-4f67-b6f7-277ee42843ce/meta.json +++ b/data/8da6da4b-5b28-4f67-b6f7-277ee42843ce/meta.json @@ -2,7 +2,7 @@ "uuid": "8da6da4b-5b28-4f67-b6f7-277ee42843ce", "slug": "de-zigbee2mqtt-a-proxmox-l-effet-papillon-d-un-switch-defaillant", "title": "De Zigbee2MQTT à Proxmox : l’effet papillon d’un switch défaillant", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-05-25 06:01:36", "created_at": "2025-05-25 06:01:36", diff --git a/data/8ed45b6e-d89b-4ae9-94e2-ed8476c00080/meta.json b/data/8ed45b6e-d89b-4ae9-94e2-ed8476c00080/meta.json index 1f6e3ef..c128fd8 100644 --- a/data/8ed45b6e-d89b-4ae9-94e2-ed8476c00080/meta.json +++ b/data/8ed45b6e-d89b-4ae9-94e2-ed8476c00080/meta.json @@ -2,7 +2,7 @@ "uuid": "8ed45b6e-d89b-4ae9-94e2-ed8476c00080", "slug": "creer-son-propre-mini-framework-php-from-scratch", "title": "Créer son propre mini-framework PHP from scratch", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-04 22:07:52", "created_at": "2025-11-04 22:07:52", diff --git a/data/947e0330-2d72-44c9-8ee2-fcb312babcd0/meta.json b/data/947e0330-2d72-44c9-8ee2-fcb312babcd0/meta.json index ab8c71c..17477cc 100644 --- a/data/947e0330-2d72-44c9-8ee2-fcb312babcd0/meta.json +++ b/data/947e0330-2d72-44c9-8ee2-fcb312babcd0/meta.json @@ -2,7 +2,7 @@ "uuid": "947e0330-2d72-44c9-8ee2-fcb312babcd0", "slug": "la-3g-une-technologie-encore-efficace-mais-bridee", "title": "La 3G : une technologie encore efficace… mais bridée", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 08:40:01", "created_at": "2025-11-05 08:40:01", diff --git a/data/976fd7f0-e53d-44e2-a879-58194765f3cf/meta.json b/data/976fd7f0-e53d-44e2-a879-58194765f3cf/meta.json index e384d88..3cac70d 100644 --- a/data/976fd7f0-e53d-44e2-a879-58194765f3cf/meta.json +++ b/data/976fd7f0-e53d-44e2-a879-58194765f3cf/meta.json @@ -2,7 +2,7 @@ "uuid": "976fd7f0-e53d-44e2-a879-58194765f3cf", "slug": "activer-les-mises-a-jour-automatiques-sur-debian-pour-une-gestion-simplifiee-des-correctifs-de-securite", "title": "Activer les mises à jour automatiques sur Debian pour une gestion simplifiée des correctifs de sécurité", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2026-01-06 20:45:52", "created_at": "2026-01-06 20:45:52", diff --git a/data/9f49d737-0aa4-47f8-bc56-059c531fb60e/meta.json b/data/9f49d737-0aa4-47f8-bc56-059c531fb60e/meta.json index 83cd305..8035806 100644 --- a/data/9f49d737-0aa4-47f8-bc56-059c531fb60e/meta.json +++ b/data/9f49d737-0aa4-47f8-bc56-059c531fb60e/meta.json @@ -2,7 +2,7 @@ "uuid": "9f49d737-0aa4-47f8-bc56-059c531fb60e", "slug": "home-assistant-la-version-2025-4-c-est-l-heure-de-continuer-les-tableaux-de-bord", "title": "Home Assistant : La version 2025.4 : C'est l'heure de continuer les tableaux de bord !", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-05-01 06:20:00", "created_at": "2025-05-01 06:20:00", diff --git a/data/a55aeefd-28ae-4c3f-bfc1-c0400c3877c2/meta.json b/data/a55aeefd-28ae-4c3f-bfc1-c0400c3877c2/meta.json index 67266d8..7c0477b 100644 --- a/data/a55aeefd-28ae-4c3f-bfc1-c0400c3877c2/meta.json +++ b/data/a55aeefd-28ae-4c3f-bfc1-c0400c3877c2/meta.json @@ -2,7 +2,7 @@ "uuid": "a55aeefd-28ae-4c3f-bfc1-c0400c3877c2", "slug": "pourquoi-les-operateurs-brident-ils-la-3g", "title": "Pourquoi les opérateurs brident-ils la 3G ?", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 08:41:22", "created_at": "2025-11-05 08:41:22", diff --git a/data/b0b3ac59-87c5-4598-a549-f3168abb4429/meta.json b/data/b0b3ac59-87c5-4598-a549-f3168abb4429/meta.json index adebd07..01f4cf2 100644 --- a/data/b0b3ac59-87c5-4598-a549-f3168abb4429/meta.json +++ b/data/b0b3ac59-87c5-4598-a549-f3168abb4429/meta.json @@ -2,7 +2,7 @@ "uuid": "b0b3ac59-87c5-4598-a549-f3168abb4429", "slug": "les-annees-ou-les-mots-furent-vendus", "title": "Les années où les mots furent vendus", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 07:17:02", "created_at": "2025-11-05 07:17:02", diff --git a/data/b7647f3d-0c0a-46ef-815a-cb56e1e95aae/meta.json b/data/b7647f3d-0c0a-46ef-815a-cb56e1e95aae/meta.json index 99d3558..6b71cd5 100644 --- a/data/b7647f3d-0c0a-46ef-815a-cb56e1e95aae/meta.json +++ b/data/b7647f3d-0c0a-46ef-815a-cb56e1e95aae/meta.json @@ -2,7 +2,7 @@ "uuid": "b7647f3d-0c0a-46ef-815a-cb56e1e95aae", "slug": "comment-casser-les-pattes-d-un-etudiant-plein-d-enthousiasme", "title": "Comment casser les pattes d’un étudiant plein d’enthousiasme", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-04 21:25:49", "created_at": "2025-11-04 21:25:49", diff --git a/data/bf425713-28cc-41b3-ab9c-807651174b98/meta.json b/data/bf425713-28cc-41b3-ab9c-807651174b98/meta.json index 560f9aa..46cb5f7 100644 --- a/data/bf425713-28cc-41b3-ab9c-807651174b98/meta.json +++ b/data/bf425713-28cc-41b3-ab9c-807651174b98/meta.json @@ -2,7 +2,7 @@ "uuid": "bf425713-28cc-41b3-ab9c-807651174b98", "slug": "debut-des-travaux-au-dernier-etage-relfexion-sur-l-isolation-sous-toiture", "title": "Début des travaux au dernier étage - rélfexion sur l'isolation sous-toiture", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-04-05 22:40:00", "created_at": "2025-04-05 22:40:00", diff --git a/data/c8fa250e-d8b5-453a-a06a-799d53c3b6d1/meta.json b/data/c8fa250e-d8b5-453a-a06a-799d53c3b6d1/meta.json index a5fb2e9..cd17fd9 100644 --- a/data/c8fa250e-d8b5-453a-a06a-799d53c3b6d1/meta.json +++ b/data/c8fa250e-d8b5-453a-a06a-799d53c3b6d1/meta.json @@ -2,7 +2,7 @@ "uuid": "c8fa250e-d8b5-453a-a06a-799d53c3b6d1", "slug": "la-smart-brick-de-lego-quand-la-brique-devient-intelligente", "title": "La Smart Brick de LEGO : quand la brique devient intelligente", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2026-01-13 20:26:53", "created_at": "2026-01-13 20:26:53", diff --git a/data/c9796eff-43b9-4e51-b613-8eec21a8c352/meta.json b/data/c9796eff-43b9-4e51-b613-8eec21a8c352/meta.json index d6fb586..92ebdb1 100644 --- a/data/c9796eff-43b9-4e51-b613-8eec21a8c352/meta.json +++ b/data/c9796eff-43b9-4e51-b613-8eec21a8c352/meta.json @@ -2,7 +2,7 @@ "uuid": "c9796eff-43b9-4e51-b613-8eec21a8c352", "slug": "gitea-prerequis", "title": "gitea, prérequis", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-07 10:57:33", "created_at": "2025-11-07 10:57:33", diff --git a/data/ca8c6097-1382-485b-a9b3-eebd6917ded0/meta.json b/data/ca8c6097-1382-485b-a9b3-eebd6917ded0/meta.json index 575a8c9..b685e86 100644 --- a/data/ca8c6097-1382-485b-a9b3-eebd6917ded0/meta.json +++ b/data/ca8c6097-1382-485b-a9b3-eebd6917ded0/meta.json @@ -2,7 +2,7 @@ "uuid": "ca8c6097-1382-485b-a9b3-eebd6917ded0", "slug": "api-first-concevoir-ses-applications-autrement", "title": "🚀 API-First : Concevoir ses applications autrement", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-05-16 23:16:00", "created_at": "2025-05-16 23:16:00", diff --git a/data/cd0a1ad7-7559-40e0-96b3-0bfbf4734d18/meta.json b/data/cd0a1ad7-7559-40e0-96b3-0bfbf4734d18/meta.json index 8cacbbd..808a7b9 100644 --- a/data/cd0a1ad7-7559-40e0-96b3-0bfbf4734d18/meta.json +++ b/data/cd0a1ad7-7559-40e0-96b3-0bfbf4734d18/meta.json @@ -2,7 +2,7 @@ "uuid": "cd0a1ad7-7559-40e0-96b3-0bfbf4734d18", "slug": "forum-alpinux", "title": "Forum Alpinux", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-04-04 07:45:00", "created_at": "2025-04-04 07:45:00", diff --git a/data/d6571053-2261-4e6e-ab39-3c327ff2e8e4/meta.json b/data/d6571053-2261-4e6e-ab39-3c327ff2e8e4/meta.json index fd2da73..b2bccc2 100644 --- a/data/d6571053-2261-4e6e-ab39-3c327ff2e8e4/meta.json +++ b/data/d6571053-2261-4e6e-ab39-3c327ff2e8e4/meta.json @@ -2,7 +2,7 @@ "uuid": "d6571053-2261-4e6e-ab39-3c327ff2e8e4", "slug": "les-strategies-de-migration-4g", "title": "Les stratégies de migration 4G", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 08:43:31", "created_at": "2025-11-05 08:43:31", diff --git a/data/d657e280-c393-4c19-8330-6c0746bbda0f/meta.json b/data/d657e280-c393-4c19-8330-6c0746bbda0f/meta.json index fa099be..fe44a3d 100644 --- a/data/d657e280-c393-4c19-8330-6c0746bbda0f/meta.json +++ b/data/d657e280-c393-4c19-8330-6c0746bbda0f/meta.json @@ -2,7 +2,7 @@ "uuid": "d657e280-c393-4c19-8330-6c0746bbda0f", "slug": "travaux-de-gros-oeuvres", "title": "Travaux de gros œuvres", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-04-04 13:46:00", "created_at": "2025-04-04 13:46:00", diff --git a/data/da1b3cec-980d-458c-9d2b-0c950d278f22/meta.json b/data/da1b3cec-980d-458c-9d2b-0c950d278f22/meta.json index 60c8d69..7aa8c0b 100644 --- a/data/da1b3cec-980d-458c-9d2b-0c950d278f22/meta.json +++ b/data/da1b3cec-980d-458c-9d2b-0c950d278f22/meta.json @@ -2,7 +2,7 @@ "uuid": "da1b3cec-980d-458c-9d2b-0c950d278f22", "slug": "domotique-les-vrais-problemes-en-domotique-zigbee-home-assistant", "title": "Domotique : les vrais problèmes en domotique Zigbee & Home Assistant", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2026-05-22 18:00:00", "created_at": "2026-05-22 18:00:00", diff --git a/data/da406813-bf15-4f4e-a700-2752550224bb/meta.json b/data/da406813-bf15-4f4e-a700-2752550224bb/meta.json index bff777d..3e28add 100644 --- a/data/da406813-bf15-4f4e-a700-2752550224bb/meta.json +++ b/data/da406813-bf15-4f4e-a700-2752550224bb/meta.json @@ -2,7 +2,7 @@ "uuid": "da406813-bf15-4f4e-a700-2752550224bb", "slug": "quand-la-3g-suffisait-et-qu-on-vous-fait-basculer", "title": "Quand la 3G suffisait… et qu’on vous fait basculer", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 08:38:25", "created_at": "2025-11-05 08:38:25", diff --git a/data/ddb53aae-7214-4e3c-8af5-e42da60d8429/meta.json b/data/ddb53aae-7214-4e3c-8af5-e42da60d8429/meta.json index b8dce44..0de2a1e 100644 --- a/data/ddb53aae-7214-4e3c-8af5-e42da60d8429/meta.json +++ b/data/ddb53aae-7214-4e3c-8af5-e42da60d8429/meta.json @@ -2,7 +2,7 @@ "uuid": "ddb53aae-7214-4e3c-8af5-e42da60d8429", "slug": "test-kobo-elipsa-2e", "title": "Test Kobo Elipsa 2E", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-09 12:07:00", "created_at": "2025-11-09 12:07:00", diff --git a/data/dff7fb71-49d2-4002-81d6-4f5fc228d766/meta.json b/data/dff7fb71-49d2-4002-81d6-4f5fc228d766/meta.json index 78c5388..f37d367 100644 --- a/data/dff7fb71-49d2-4002-81d6-4f5fc228d766/meta.json +++ b/data/dff7fb71-49d2-4002-81d6-4f5fc228d766/meta.json @@ -2,7 +2,7 @@ "uuid": "dff7fb71-49d2-4002-81d6-4f5fc228d766", "slug": "duree-de-vie-du-platre", "title": "Durée de vie du plâtre", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-04-05 12:39:34", "created_at": "2025-04-05 12:39:34", diff --git a/data/e6379d0c-98a6-46ee-bed7-91edeea7b1d7/meta.json b/data/e6379d0c-98a6-46ee-bed7-91edeea7b1d7/meta.json index 0e1a9ef..b482f9d 100644 --- a/data/e6379d0c-98a6-46ee-bed7-91edeea7b1d7/meta.json +++ b/data/e6379d0c-98a6-46ee-bed7-91edeea7b1d7/meta.json @@ -2,7 +2,7 @@ "uuid": "e6379d0c-98a6-46ee-bed7-91edeea7b1d7", "slug": "domotique-invitation-a-comprendre-avant-d-installer", "title": "Domotique : invitation à comprendre avant d’installer", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-05-15 18:00:00", "created_at": "2025-05-15 18:00:00", diff --git a/data/e739bf3c-b380-4567-90aa-32da12f56bc5/meta.json b/data/e739bf3c-b380-4567-90aa-32da12f56bc5/meta.json index 2929b05..82cb6b5 100644 --- a/data/e739bf3c-b380-4567-90aa-32da12f56bc5/meta.json +++ b/data/e739bf3c-b380-4567-90aa-32da12f56bc5/meta.json @@ -2,7 +2,7 @@ "uuid": "e739bf3c-b380-4567-90aa-32da12f56bc5", "slug": "50g-pon-la-fibre-optique-du-futur", "title": "50G-PON : la fibre optique du futur", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-05 08:48:01", "created_at": "2025-11-05 08:48:01", diff --git a/data/f008f509-2cad-437f-9850-7b39ec37262a/meta.json b/data/f008f509-2cad-437f-9850-7b39ec37262a/meta.json index 22a43bf..607993d 100644 --- a/data/f008f509-2cad-437f-9850-7b39ec37262a/meta.json +++ b/data/f008f509-2cad-437f-9850-7b39ec37262a/meta.json @@ -2,7 +2,7 @@ "uuid": "f008f509-2cad-437f-9850-7b39ec37262a", "slug": "gitea-l-installation", "title": "gitea, l'installation", - "author": "", + "author": "cedric@abonnel.fr", "published": false, "published_at": "2025-11-07 11:01:57", "created_at": "2025-11-07 11:01:57", diff --git a/public/assets/css/style.css b/public/assets/css/style.css index 1f15ec3..684c3dd 100644 --- a/public/assets/css/style.css +++ b/public/assets/css/style.css @@ -207,13 +207,24 @@ a:hover { border-color: var(--vl-border) !important; } -/* Indicateur brouillon discret */ -.badge.bg-warning { - background-color: #fef3c7 !important; - color: #92400e !important; - font-weight: 500; - font-size: 0.7rem; - border-radius: 0.375rem; +/* ─── Ribbon brouillon ───────────────────── */ +.draft-ribbon { + position: absolute; + top: 26px; + right: -34px; + width: 130px; + text-align: center; + background: #f59e0b; + color: #fff; + font-size: 0.6rem; + font-weight: 700; + letter-spacing: 0.1em; + text-transform: uppercase; + padding: 5px 0; + transform: rotate(45deg); + pointer-events: none; + z-index: 2; + box-shadow: 0 1px 3px rgba(0,0,0,.18); } /* ─── Buttons ─────────────────────────────── */ diff --git a/public/index.php b/public/index.php index 4b35705..0a43ad7 100644 --- a/public/index.php +++ b/public/index.php @@ -68,6 +68,18 @@ switch ($action) { exit; } + if (!$article['published']) { + $author = $article['author'] ?? ''; + $currentEmail = currentUserEmail() ?? ''; + $canView = ($author !== '' && $currentEmail === $author) + || ($author === '' && isAdmin()); + if (!$canView) { + http_response_code(404); + echo 'Article introuvable.'; + exit; + } + } + $files = $articles->getFiles($article['uuid']); // Résout les chemins de fichiers relatifs dans le contenu @@ -157,7 +169,15 @@ switch ($action) { case 'list': default: - $posts = $articles->getAll(); + $currentEmail = currentUserEmail() ?? ''; + $posts = array_values(array_filter($articles->getAll(), static function (array $a) use ($currentEmail): bool { + if ($a['published']) { + return true; + } + $author = $a['author'] ?? ''; + return ($author !== '' && $currentEmail === $author) + || ($author === '' && isAdmin()); + })); include BASE_PATH . '/templates/post_list.php'; break; } diff --git a/templates/post_list.php b/templates/post_list.php index 576b1f2..c8d2141 100644 --- a/templates/post_list.php +++ b/templates/post_list.php @@ -24,15 +24,15 @@ ob_start(); ?>
+ +
Brouillon
+

- - Brouillon -