Cahier des charges — gtk4sermo

1. Contexte

Port de gtk3sermo 1.0.0 vers GTK4 >= 4.6.0. Binaire gtk4sermo, coexistant avec gtk3sermo (GTK3).

2. Objectifs

3. Widgets cibles (47)

<aspectframe>, <button>, <calendar>, <checkbox>, <colorbutton>, <combobox>, <comboboxtext>, <drawingarea>, <edit>, <entry>, <eventbox>, <expander>, <filechooser>, <flowbox>, <fontbutton>, <frame>, <hbox>, <hscale>, <hseparator>, <image>, <infobar>, <levelbar>, <linkbutton>, <list>, <menubar>, <menuitem>, <notebook>, <overlay>, <password>, <pixmap>, <progressbar>, <pulse>, <radiobutton>, <revealer>, <searchentry>, <spinbutton>, <spinner>, <stack>, <statusbar>, <switch>, <table>, <terminal>, <text>, <timer>, <togglebutton>, <tree>, <vbox>, <vscale>, <vseparator>, <window>

4. Exigences de sécurité

IDExigenceNiveau
SEC-1Aucun appel direct à system() ou popen()Obligatoire
SEC-2Aucun strcpy/strcat/sprintf sans borneObligatoire
SEC-3-D_FORTIFY_SOURCE=3Obligatoire
SEC-4-fstack-protector-strongObligatoire
SEC-5-fPIE -pie (ASLR)Obligatoire
SEC-6-Wl,-z,relro -Wl,-z,nowObligatoire

5. Livrables

LivrableStatut
Code source — infrastructure✅ Livré
widget_*.c pour 50 widgets⏳ En cours
Binaire compilé gtk4sermo✅ Livré
Paquet .deb gtk4sermo_1.1.4-1✅ Livré
Documentation (ce site)✅ Livré

6. Jalons

JalonDescriptionÉtat
J1Infrastructure et build system
J2Widgets P1 (boutons, entrées, conteneurs)
J3Widgets P2 (listes, menus, avancés)
J4Compilation sans erreur
J5Tests fonctionnels
J6Paquet .deb