From 655dd4c038cbff5176d3aa3cce281188e35aad63 Mon Sep 17 00:00:00 2001 From: Pontoporeia Date: Tue, 9 Jun 2026 14:01:28 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20clarification=20contact=20=C3=A9tudiant?= =?UTF-8?q?=20+=20d=C3=A9placer=20Contact=20visible=20dans=20Informations?= =?UTF-8?q?=20du=20TFE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Label : « Contact visible (optionnel) », placeholder : mail/site/insta/etc. - Hint : demander l'URL complète, le système raccourcit à l'affichage - Affichage public (tfe.php) : extraction d'identifiant depuis l'URL - Déplacement de contact_visible du Backoffice vers le fieldset Informations du TFE - Renommage « Identité » → « Informations du TFE » dans le récapitulatif admin --- TODO.md | 3 +++ app/storage/logs/admin-2026-06-09.log | 1 + app/storage/logs/audit-2026-06-09.log | 2 ++ app/templates/admin/recapitulatif.php | 4 ++-- .../partials/form/fieldset-tfe-info.php | 9 +++++---- app/templates/partials/form/form.php | 11 +---------- app/templates/public/tfe.php | 17 +++++++++++++---- 7 files changed, 27 insertions(+), 20 deletions(-) diff --git a/TODO.md b/TODO.md index 4d64166..3ee7b39 100644 --- a/TODO.md +++ b/TODO.md @@ -20,3 +20,6 @@ - [x] Update 016 and 038 PHP migrations to accept $argv[1] DB path - [x] Fix migration 016 to gracefully handle banner_path column already being dropped - [x] Commit + jj new + +- [x] Formulaire étudiant : préciser "un seul contact" dans le label, mise à jour du hint pour le format le plus court (site sans https://www., insta/mastodon avec @), adaptation de l'affichage public pour supporter ces formats courts (liens automatiques pour @pseudo → Instagram, @pseudo@instance → Mastodon, domaine nu → https://) +- [x] Déplacer "Contact visible" du Backoffice vers "Informations du TFE" dans le formulaire admin edit, renommer "Identité" → "Informations du TFE" dans le récapitulatif admin diff --git a/app/storage/logs/admin-2026-06-09.log b/app/storage/logs/admin-2026-06-09.log index 76bef1a..52c4c77 100644 --- a/app/storage/logs/admin-2026-06-09.log +++ b/app/storage/logs/admin-2026-06-09.log @@ -6,3 +6,4 @@ {"timestamp":"2026-06-09T10:34:45+00:00","ip":"127.0.0.1","user_agent":"Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0","resource":"thesis","action":"edit","status":"success","context":{"thesis_id":26,"title":"DepNum"}} {"timestamp":"2026-06-09T10:34:52+00:00","ip":"127.0.0.1","user_agent":"Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0","resource":"thesis","action":"edit","status":"success","context":{"thesis_id":26,"title":"DepNum"}} {"timestamp":"2026-06-09T10:42:57+00:00","ip":"127.0.0.1","user_agent":"Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0","resource":"thesis","action":"edit","status":"success","context":{"thesis_id":26,"title":"DepNum"}} +{"timestamp":"2026-06-09T12:10:41+00:00","ip":"127.0.0.1","user_agent":"Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0","resource":"thesis","action":"edit","status":"success","context":{"thesis_id":26,"title":"DepNum"}} diff --git a/app/storage/logs/audit-2026-06-09.log b/app/storage/logs/audit-2026-06-09.log index f59506c..e7e02a1 100644 --- a/app/storage/logs/audit-2026-06-09.log +++ b/app/storage/logs/audit-2026-06-09.log @@ -16,3 +16,5 @@ {"timestamp":"2026-06-09T10:34:52+00:00","ip":"127.0.0.1","user_agent":"Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0","actor":"127.0.0.1","action":"DELETE","table":"thesis_files","record_id":7,"old_data":{"id":7,"thesis_id":26,"file_type":"website","file_path":"https://depnum.happyngreen.fr/","file_name":"depnum.happyngreen.fr","file_size":0,"mime_type":"text/html","description":null,"uploaded_at":"2026-06-09 10:34:45","sort_order":1,"display_label":null,"file_hash":null}} {"timestamp":"2026-06-09T10:42:57+00:00","ip":"127.0.0.1","user_agent":"Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0","actor":"127.0.0.1","action":"UPDATE","table":"theses","record_id":26,"old_data":{"id":26,"identifier":"2024-026","title":"DepNum","subtitle":null,"year":2024,"is_doctoral":0,"objet":"tfe","orientation_id":1,"ap_program_id":3,"finality_id":3,"synopsis":"Mon mémoire de Master à l'ERG est un blog autobiographique sur ma dépendance numérique. Chaque post mêle vécu personnel, questions et recherche. J'explore les dynamiques complexes de notre dépendance collective aux technologies numériques, en croisant expérience individuelle et réflexion systémique. JLKJLKJLKJ","context_note":"blposqujdfmlkqshjd mfglkqjhzmdslkf qsdmlkfj mlqskjdf mqskdjf mlqksdjf mlqksdjf mlqksjd fmlkjqsd","remarks":null,"access_type_id":2,"license_id":3,"jury_points":17.5,"jury_note_added":0,"submitted_at":"2026-06-08 08:33:14","defense_date":null,"published_at":null,"is_published":1,"baiu_link":"https://ils.bib.uclouvain.be/global/documents/3830452","created_at":"2026-06-08 08:33:14","updated_at":"2026-06-09 10:34:52","exemplaire_baiu":0,"exemplaire_erg":0,"cc2r":1,"license_custom":null,"deleted_at":null,"contact_visible":null}} {"timestamp":"2026-06-09T10:42:57+00:00","ip":"127.0.0.1","user_agent":"Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0","actor":"127.0.0.1","action":"DELETE","table":"thesis_files","record_id":8,"old_data":{"id":8,"thesis_id":26,"file_type":"website","file_path":"https://depnum.happyngreen.fr/","file_name":"depnum.happyngreen.fr","file_size":0,"mime_type":"text/html","description":null,"uploaded_at":"2026-06-09 10:34:52","sort_order":1,"display_label":null,"file_hash":null}} +{"timestamp":"2026-06-09T12:10:41+00:00","ip":"127.0.0.1","user_agent":"Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0","actor":"127.0.0.1","action":"UPDATE","table":"theses","record_id":26,"old_data":{"id":26,"identifier":"2024-026","title":"DepNum","subtitle":null,"year":2024,"is_doctoral":0,"objet":"tfe","orientation_id":1,"ap_program_id":3,"finality_id":3,"synopsis":"Mon mémoire de Master à l'ERG est un blog autobiographique sur ma dépendance numérique. Chaque post mêle vécu personnel, questions et recherche. J'explore les dynamiques complexes de notre dépendance collective aux technologies numériques, en croisant expérience individuelle et réflexion systémique. JLKJLKJLKJ","context_note":"blposqujdfmlkqshjd mfglkqjhzmdslkf qsdmlkfj mlqskjdf mqskdjf mlqksdjf mlqksdjf mlqksjd fmlkjqsd","remarks":null,"access_type_id":2,"license_id":3,"jury_points":17.5,"jury_note_added":0,"submitted_at":"2026-06-08 08:33:14","defense_date":null,"published_at":null,"is_published":1,"baiu_link":"https://ils.bib.uclouvain.be/global/documents/3830452","created_at":"2026-06-08 08:33:14","updated_at":"2026-06-09 10:50:22","exemplaire_baiu":0,"exemplaire_erg":0,"cc2r":1,"license_custom":null,"deleted_at":null,"contact_visible":null}} +{"timestamp":"2026-06-09T12:10:41+00:00","ip":"127.0.0.1","user_agent":"Mozilla/5.0 (X11; Linux x86_64; rv:151.0) Gecko/20100101 Firefox/151.0","actor":"127.0.0.1","action":"DELETE","table":"thesis_files","record_id":11,"old_data":{"id":11,"thesis_id":26,"file_type":"website","file_path":"https://depnum.happyngreen.fr/","file_name":"depnum.happyngreen.fr","file_size":0,"mime_type":"text/html","description":null,"uploaded_at":"2026-06-09 10:50:22","sort_order":1,"display_label":null,"file_hash":null}} diff --git a/app/templates/admin/recapitulatif.php b/app/templates/admin/recapitulatif.php index 0381fc1..620e2bb 100644 --- a/app/templates/admin/recapitulatif.php +++ b/app/templates/admin/recapitulatif.php @@ -35,9 +35,9 @@

Retour au formulaire

- +
- Identité + Informations du TFE
Identifiant
Titre
diff --git a/app/templates/partials/form/fieldset-tfe-info.php b/app/templates/partials/form/fieldset-tfe-info.php index b560275..1ea64fe 100644 --- a/app/templates/partials/form/fieldset-tfe-info.php +++ b/app/templates/partials/form/fieldset-tfe-info.php @@ -58,14 +58,15 @@ $adminMode = $adminMode ?? false; $hint = 'Séparez les auteur·ices par des virgules.'; include APP_ROOT . '/templates/partials/form/text-field.php'; ?> - 'email']; - $hint = 'Un seul contact. Indiquez l\'URL complète pour un site (https://…), l\'adresse mail, le nom d\'utilisateur avec @ pour Instagram (@pseudo), ou l\'adresse complète pour Mastodon (@pseudo@instance). Ce contact sera visible publiquement sur la fiche du TFE.'; + $placeholder = 'mail/site/insta/etc.'; + $hint = 'Un seul contact. Collez l\'URL complète du site ou du profil (Instagram, Mastodon, site perso…) ou l\'adresse mail. Le lien sera automatiquement raccourci à l\'affichage (ex: https://instagram.com/pseudo → @pseudo, https://www.erg.be → erg.be).'; include APP_ROOT . '/templates/partials/form/text-field.php'; ?> -
diff --git a/app/templates/partials/form/form.php b/app/templates/partials/form/form.php index 48cf750..69d640e 100644 --- a/app/templates/partials/form/form.php +++ b/app/templates/partials/form/form.php @@ -479,16 +479,7 @@ if ($filesMode === 'add'): ?> Case logistique : cocher si un exemplaire physique est disponible à l'ERG.
- -
- - - Contact affiché publiquement sur la page du TFE (email, site web, réseau social…). Laisser vide pour ne rien afficher. -
- - +
Contact : - + + + + (ouvre dans un nouvel onglet) + + +