From 36d5fb1a4c299b5933ec2e0ed8f903c0e4ad39c3 Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Wed, 15 Sep 2021 18:20:39 +0200 Subject: Start a GUI --- README | 2 + configure.ac | 1 + guix/vkraus/packages/disfluid.scm | 7 +- po/POTFILES.in | 1 + po/disfluid.pot | 177 +++++++++++++++--------------- po/fr.po | 199 ++++++++++++++++++---------------- src/scm/webid-oidc/client/Makefile.am | 6 +- src/scm/webid-oidc/client/gui.scm | 74 +++++++++++++ src/scm/webid-oidc/program.scm | 14 ++- 9 files changed, 290 insertions(+), 191 deletions(-) create mode 100644 src/scm/webid-oidc/client/gui.scm diff --git a/README b/README index 6fdfc58..0324bd2 100644 --- a/README +++ b/README @@ -34,6 +34,8 @@ These are the run-time dependencies: - guile-rdf - guile-jsonld - guile-readline +- guile-gi (for the user interface) +- gtk+ 3.0 - gnutls (so that guile can fetch resources with https) - nettle diff --git a/configure.ac b/configure.ac index 960196b..379d65a 100644 --- a/configure.ac +++ b/configure.ac @@ -44,6 +44,7 @@ GUILE_MODULE_REQUIRED([turtle tordf]) GUILE_MODULE_REQUIRED([turtle fromrdf]) GUILE_MODULE_REQUIRED([nquads tordf]) GUILE_MODULE_REQUIRED([jsonld]) +GUILE_MODULE_REQUIRED([gi]) AC_CONFIG_FILES([Makefile po/Makefile.in man/Makefile]) AC_CONFIG_FILES([man/reset-env], [chmod +x man/reset-env]) diff --git a/guix/vkraus/packages/disfluid.scm b/guix/vkraus/packages/disfluid.scm index 07282e3..f69248a 100644 --- a/guix/vkraus/packages/disfluid.scm +++ b/guix/vkraus/packages/disfluid.scm @@ -31,7 +31,8 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages gettext) #:use-module (gnu packages man) - #:use-module (gnu packages tls)) + #:use-module (gnu packages tls) + #:use-module (gnu packages gtk)) (define-public disfluid-snapshot (package @@ -122,8 +123,10 @@ ("guile-json" ,guile-json-4) ("guile-rdf" ,guile-rdf) ("guile-jsonld" ,guile-rdf) + ("guile-gi" ,guile-gi) ("gnutls" ,gnutls) - ("nettle" ,nettle))) + ("nettle" ,nettle) + ("gtk+" ,gtk+))) (synopsis "Demanding Interoperability to Strengthen the Free (Libre) Web: Introducing Disfluid") (description "Demanding Interoperability to Strengthen the Free (Libre) Web: Introducing Disfluid") (home-page "https://labo.planete-kraus.eu/webid-oidc.git") diff --git a/po/POTFILES.in b/po/POTFILES.in index ceb991f..fd3266b 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -36,6 +36,7 @@ src/scm/webid-oidc/client.scm src/scm/webid-oidc/client/accounts.scm src/scm/webid-oidc/client/application.scm src/scm/webid-oidc/client/client.scm +src/scm/webid-oidc/client/gui.scm src/scm/webid-oidc/dpop-proof.scm src/scm/webid-oidc/errors.scm src/scm/webid-oidc/example-app.scm diff --git a/po/disfluid.pot b/po/disfluid.pot index 7a3ceca..278e03e 100644 --- a/po/disfluid.pot +++ b/po/disfluid.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: disfluid SNAPSHOT\n" "Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n" -"POT-Creation-Date: 2021-09-15 12:41+0200\n" +"POT-Creation-Date: 2021-09-15 23:04+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -569,6 +569,14 @@ msgid "" "pair.." msgstr "" +#: src/scm/webid-oidc/client/gui.scm:59 +msgid "Hello, world!\n" +msgstr "" + +#: src/scm/webid-oidc/client/gui.scm:64 +msgid "Hello, world!" +msgstr "" + #: src/scm/webid-oidc/dpop-proof.scm:91 #, scheme-format msgid "this is not a DPoP proof, because it is not even a JWS: ~a" @@ -975,7 +983,7 @@ msgstr "" msgid "~a version ~a\n" msgstr "" -#: src/scm/webid-oidc/hello-world.scm:128 src/scm/webid-oidc/program.scm:625 +#: src/scm/webid-oidc/hello-world.scm:128 src/scm/webid-oidc/program.scm:628 msgid "" "You are legally required to link to the complete corresponding source code.\n" msgstr "" @@ -1463,8 +1471,8 @@ msgid "" " run an authenticating reverse proxy." msgstr "" -#: src/scm/webid-oidc/program.scm:315 src/scm/webid-oidc/program.scm:507 -#: src/scm/webid-oidc/program.scm:708 +#: src/scm/webid-oidc/program.scm:315 src/scm/webid-oidc/program.scm:510 +#: src/scm/webid-oidc/program.scm:710 msgid "command-line|command|reverse-proxy" msgstr "" @@ -1476,8 +1484,8 @@ msgid "" " run an identity provider." msgstr "" -#: src/scm/webid-oidc/program.scm:319 src/scm/webid-oidc/program.scm:532 -#: src/scm/webid-oidc/program.scm:730 +#: src/scm/webid-oidc/program.scm:319 src/scm/webid-oidc/program.scm:535 +#: src/scm/webid-oidc/program.scm:732 msgid "command-line|command|identity-provider" msgstr "" @@ -1489,8 +1497,8 @@ msgid "" " serve the pages for a public application." msgstr "" -#: src/scm/webid-oidc/program.scm:323 src/scm/webid-oidc/program.scm:553 -#: src/scm/webid-oidc/program.scm:772 +#: src/scm/webid-oidc/program.scm:323 src/scm/webid-oidc/program.scm:556 +#: src/scm/webid-oidc/program.scm:774 msgid "command-line|command|client-service" msgstr "" @@ -1503,18 +1511,24 @@ msgid "" " facility." msgstr "" -#: src/scm/webid-oidc/program.scm:328 src/scm/webid-oidc/program.scm:579 -#: src/scm/webid-oidc/program.scm:801 +#: src/scm/webid-oidc/program.scm:328 src/scm/webid-oidc/program.scm:582 +#: src/scm/webid-oidc/program.scm:803 msgid "command-line|command|server" msgstr "" #: src/scm/webid-oidc/program.scm:330 msgid "" "\n" +"If no command is specified, run the browser." +msgstr "" + +#: src/scm/webid-oidc/program.scm:333 +msgid "" +"\n" "General options:" msgstr "" -#: src/scm/webid-oidc/program.scm:332 +#: src/scm/webid-oidc/program.scm:335 #, scheme-format msgid "" "\n" @@ -1523,7 +1537,7 @@ msgid "" " code. For instance, this would be an URI pointing to a tarball." msgstr "" -#: src/scm/webid-oidc/program.scm:337 +#: src/scm/webid-oidc/program.scm:340 #, scheme-format msgid "" "\n" @@ -1531,7 +1545,7 @@ msgid "" " display a short help message and exit." msgstr "" -#: src/scm/webid-oidc/program.scm:341 +#: src/scm/webid-oidc/program.scm:344 #, scheme-format msgid "" "\n" @@ -1539,7 +1553,7 @@ msgid "" " display the version information (~a, released ~a) and exit." msgstr "" -#: src/scm/webid-oidc/program.scm:347 +#: src/scm/webid-oidc/program.scm:350 #, scheme-format msgid "" "\n" @@ -1547,7 +1561,7 @@ msgid "" " describe the project in the DOAP vocabulary and exit." msgstr "" -#: src/scm/webid-oidc/program.scm:351 +#: src/scm/webid-oidc/program.scm:354 #, scheme-format msgid "" "\n" @@ -1555,7 +1569,7 @@ msgid "" " redirect the program standard output to FILE.log." msgstr "" -#: src/scm/webid-oidc/program.scm:355 +#: src/scm/webid-oidc/program.scm:358 #, scheme-format msgid "" "\n" @@ -1563,13 +1577,13 @@ msgid "" " redirect the program errors to FILE.err." msgstr "" -#: src/scm/webid-oidc/program.scm:360 +#: src/scm/webid-oidc/program.scm:363 msgid "" "\n" "General server-side options:" msgstr "" -#: src/scm/webid-oidc/program.scm:362 +#: src/scm/webid-oidc/program.scm:365 #, scheme-format msgid "" "\n" @@ -1577,7 +1591,7 @@ msgid "" " set the server port to bind, 8080 by default." msgstr "" -#: src/scm/webid-oidc/program.scm:366 +#: src/scm/webid-oidc/program.scm:369 #, scheme-format msgid "" "\n" @@ -1585,13 +1599,13 @@ msgid "" " set the public server URI (scheme, userinfo, host, and port)." msgstr "" -#: src/scm/webid-oidc/program.scm:371 +#: src/scm/webid-oidc/program.scm:374 msgid "" "\n" "Options for the resource server:" msgstr "" -#: src/scm/webid-oidc/program.scm:373 +#: src/scm/webid-oidc/program.scm:376 #, scheme-format msgid "" "\n" @@ -1601,7 +1615,7 @@ msgid "" " authentication." msgstr "" -#: src/scm/webid-oidc/program.scm:379 +#: src/scm/webid-oidc/program.scm:382 #, scheme-format msgid "" "\n" @@ -1610,13 +1624,13 @@ msgid "" " reverse-proxy command." msgstr "" -#: src/scm/webid-oidc/program.scm:385 +#: src/scm/webid-oidc/program.scm:388 msgid "" "\n" "Options for the identity provider:" msgstr "" -#: src/scm/webid-oidc/program.scm:387 +#: src/scm/webid-oidc/program.scm:390 #, scheme-format msgid "" "\n" @@ -1625,7 +1639,7 @@ msgid "" " key is generated. The server does not offer an HTTPS service." msgstr "" -#: src/scm/webid-oidc/program.scm:392 +#: src/scm/webid-oidc/program.scm:395 #, scheme-format msgid "" "\n" @@ -1633,7 +1647,7 @@ msgid "" " set the identity of the subject." msgstr "" -#: src/scm/webid-oidc/program.scm:396 +#: src/scm/webid-oidc/program.scm:399 #, scheme-format msgid "" "\n" @@ -1641,7 +1655,7 @@ msgid "" " set the encrypted password to recognize the user." msgstr "" -#: src/scm/webid-oidc/program.scm:400 +#: src/scm/webid-oidc/program.scm:403 #, scheme-format msgid "" "\n" @@ -1649,7 +1663,7 @@ msgid "" " load the user’s encrypted password from ENCRYPTED_PASSWORD_FILE." msgstr "" -#: src/scm/webid-oidc/program.scm:404 +#: src/scm/webid-oidc/program.scm:407 #, scheme-format msgid "" "\n" @@ -1657,7 +1671,7 @@ msgid "" " set the URI to query the key of the server." msgstr "" -#: src/scm/webid-oidc/program.scm:408 +#: src/scm/webid-oidc/program.scm:411 #, scheme-format msgid "" "\n" @@ -1665,7 +1679,7 @@ msgid "" " set the authorization endpoint of the issuer." msgstr "" -#: src/scm/webid-oidc/program.scm:412 +#: src/scm/webid-oidc/program.scm:415 #, scheme-format msgid "" "\n" @@ -1673,13 +1687,13 @@ msgid "" " set the token endpoint of the issuer." msgstr "" -#: src/scm/webid-oidc/program.scm:417 +#: src/scm/webid-oidc/program.scm:420 msgid "" "\n" "Options for the client service:" msgstr "" -#: src/scm/webid-oidc/program.scm:419 +#: src/scm/webid-oidc/program.scm:422 #, scheme-format msgid "" "\n" @@ -1688,7 +1702,7 @@ msgid "" " dereferenced to a semantic resource." msgstr "" -#: src/scm/webid-oidc/program.scm:424 +#: src/scm/webid-oidc/program.scm:427 #, scheme-format msgid "" "\n" @@ -1697,7 +1711,7 @@ msgid "" " page is presented with the code to paste in the application." msgstr "" -#: src/scm/webid-oidc/program.scm:429 +#: src/scm/webid-oidc/program.scm:432 #, scheme-format msgid "" "\n" @@ -1705,7 +1719,7 @@ msgid "" " set the user-visible application name (may be misleading...)." msgstr "" -#: src/scm/webid-oidc/program.scm:433 +#: src/scm/webid-oidc/program.scm:436 #, scheme-format msgid "" "\n" @@ -1714,13 +1728,13 @@ msgid "" " application (again, may be misleading)." msgstr "" -#: src/scm/webid-oidc/program.scm:439 +#: src/scm/webid-oidc/program.scm:442 msgid "" "\n" "Environment variables:" msgstr "" -#: src/scm/webid-oidc/program.scm:441 +#: src/scm/webid-oidc/program.scm:444 msgid "" "\n" " XML_CATALOG_FILES: the server will fetch resources on the web. By\n" @@ -1731,23 +1745,23 @@ msgid "" " content-type." msgstr "" -#: src/scm/webid-oidc/program.scm:449 src/scm/webid-oidc/program.scm:456 -#: src/scm/webid-oidc/program.scm:465 src/scm/webid-oidc/program.scm:473 -#: src/scm/webid-oidc/program.scm:481 +#: src/scm/webid-oidc/program.scm:452 src/scm/webid-oidc/program.scm:459 +#: src/scm/webid-oidc/program.scm:468 src/scm/webid-oidc/program.scm:476 +#: src/scm/webid-oidc/program.scm:484 #, scheme-format msgid "" "the-environment-variable|\n" " It is currently set to ~s." msgstr "" -#: src/scm/webid-oidc/program.scm:452 +#: src/scm/webid-oidc/program.scm:455 msgid "" "\n" " LANG: set the locale of the user interface (for the server commands,\n" " the user is the system administrator)." msgstr "" -#: src/scm/webid-oidc/program.scm:459 +#: src/scm/webid-oidc/program.scm:462 msgid "" "\n" " XDG_DATA_HOME: where the program stores persistent data. The\n" @@ -1756,7 +1770,7 @@ msgid "" " recommended to set it to /var/lib." msgstr "" -#: src/scm/webid-oidc/program.scm:468 +#: src/scm/webid-oidc/program.scm:471 msgid "" "\n" " XDG_CACHE_HOME: where the program stores and updates the seed file,\n" @@ -1764,7 +1778,7 @@ msgid "" " time. The seed file will be initialized from /dev/random." msgstr "" -#: src/scm/webid-oidc/program.scm:476 +#: src/scm/webid-oidc/program.scm:479 msgid "" "\n" " HOME: if XDG_DATA_HOME or XDG_CACHE_HOME is not set, they are\n" @@ -1772,13 +1786,13 @@ msgid "" " not used otherwise." msgstr "" -#: src/scm/webid-oidc/program.scm:485 +#: src/scm/webid-oidc/program.scm:488 msgid "" "\n" "Running a reverse proxy" msgstr "" -#: src/scm/webid-oidc/program.scm:487 +#: src/scm/webid-oidc/program.scm:490 msgid "" "\n" "Suppose that you operate data.provider.com. You want to run an\n" @@ -1791,7 +1805,7 @@ msgid "" "from this reverse proxy." msgstr "" -#: src/scm/webid-oidc/program.scm:497 +#: src/scm/webid-oidc/program.scm:500 #, scheme-format msgid "" "\n" @@ -1805,20 +1819,20 @@ msgid "" " --~a '/var/log/proxy.err'" msgstr "" -#: src/scm/webid-oidc/program.scm:512 +#: src/scm/webid-oidc/program.scm:515 msgid "" "\n" "Running an identity provider" msgstr "" -#: src/scm/webid-oidc/program.scm:514 +#: src/scm/webid-oidc/program.scm:517 msgid "" "\n" "The identity provider running at webid-oidc-demo.planete-kraus.eu is\n" "invoked with the following options:" msgstr "" -#: src/scm/webid-oidc/program.scm:518 +#: src/scm/webid-oidc/program.scm:521 #, scheme-format msgid "" "\n" @@ -1837,20 +1851,20 @@ msgid "" " --~a $PORT" msgstr "" -#: src/scm/webid-oidc/program.scm:538 +#: src/scm/webid-oidc/program.scm:541 msgid "" "\n" "Running the public pages for an application" msgstr "" -#: src/scm/webid-oidc/program.scm:540 +#: src/scm/webid-oidc/program.scm:543 msgid "" "\n" "The example client application pages for\n" "webid-oidc-demo.planete-kraus.eu are served this way:" msgstr "" -#: src/scm/webid-oidc/program.scm:544 +#: src/scm/webid-oidc/program.scm:547 #, scheme-format msgid "" "\n" @@ -1866,13 +1880,13 @@ msgid "" " --~a $PORT" msgstr "" -#: src/scm/webid-oidc/program.scm:558 +#: src/scm/webid-oidc/program.scm:561 msgid "" "\n" "Running a full server" msgstr "" -#: src/scm/webid-oidc/program.scm:561 +#: src/scm/webid-oidc/program.scm:564 msgid "" "\n" "To run the server with identity provider and\n" @@ -1880,7 +1894,7 @@ msgid "" "options for the parts." msgstr "" -#: src/scm/webid-oidc/program.scm:565 +#: src/scm/webid-oidc/program.scm:568 #, scheme-format msgid "" "\n" @@ -1899,14 +1913,14 @@ msgid "" " --~a '...port...'" msgstr "" -#: src/scm/webid-oidc/program.scm:590 +#: src/scm/webid-oidc/program.scm:593 #, scheme-format msgid "" "\n" "If you find a bug, then please send a report to ~a." msgstr "" -#: src/scm/webid-oidc/program.scm:595 +#: src/scm/webid-oidc/program.scm:598 #, scheme-format msgid "" "~a version ~a\n" @@ -1914,108 +1928,101 @@ msgid "" "Rreleased ~a\n" msgstr "" -#: src/scm/webid-oidc/program.scm:632 +#: src/scm/webid-oidc/program.scm:635 #, scheme-format msgid "The --~a argument must be a number, not ~s.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:638 +#: src/scm/webid-oidc/program.scm:641 #, scheme-format msgid "The --~a argument must be an integer, not ~s.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:644 +#: src/scm/webid-oidc/program.scm:647 #, scheme-format msgid "The --~a argument must be positive, ~s is invalid.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:649 +#: src/scm/webid-oidc/program.scm:652 #, scheme-format msgid "The --~a argument must be less than 65536, ~s is invalid.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:677 +#: src/scm/webid-oidc/program.scm:680 msgid "" "You specified two different passwords: one directly, and one from a file. " "Please set only one password.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:701 -#, scheme-format -msgid "" -"Usage: ~a COMMAND [OPTIONS]...\n" -"See --~a (-h).\n" -msgstr "" - -#: src/scm/webid-oidc/program.scm:711 src/scm/webid-oidc/program.scm:733 -#: src/scm/webid-oidc/program.scm:803 +#: src/scm/webid-oidc/program.scm:713 src/scm/webid-oidc/program.scm:735 +#: src/scm/webid-oidc/program.scm:805 #, scheme-format msgid "You must pass --~a to set the server name.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:715 +#: src/scm/webid-oidc/program.scm:717 #, scheme-format msgid "You must pass --~a to set the backend URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:737 src/scm/webid-oidc/program.scm:807 +#: src/scm/webid-oidc/program.scm:739 src/scm/webid-oidc/program.scm:809 #, scheme-format msgid "" "You must pass --~a to set the file where to store the identity provider " "key.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:741 src/scm/webid-oidc/program.scm:811 +#: src/scm/webid-oidc/program.scm:743 src/scm/webid-oidc/program.scm:813 #, scheme-format msgid "You must pass --~a to set the subject of the identity provider.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:745 +#: src/scm/webid-oidc/program.scm:747 #, scheme-format msgid "You must pass --~a or --~a to set the subject’s encrypted password.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:749 src/scm/webid-oidc/program.scm:819 +#: src/scm/webid-oidc/program.scm:751 src/scm/webid-oidc/program.scm:821 #, scheme-format msgid "You must pass --~a to set the JWKS URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:753 src/scm/webid-oidc/program.scm:823 +#: src/scm/webid-oidc/program.scm:755 src/scm/webid-oidc/program.scm:825 #, scheme-format msgid "You must pass --~a to set the authorization endpoint URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:757 src/scm/webid-oidc/program.scm:827 +#: src/scm/webid-oidc/program.scm:759 src/scm/webid-oidc/program.scm:829 #, scheme-format msgid "You must pass --~a to set the token endpoint URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:775 +#: src/scm/webid-oidc/program.scm:777 #, scheme-format msgid "You must pass --~a to set the application web ID.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:779 +#: src/scm/webid-oidc/program.scm:781 #, scheme-format msgid "You must pass --~a to set the redirection URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:783 +#: src/scm/webid-oidc/program.scm:785 #, scheme-format msgid "You must pass --~a to set the informative client name.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:787 +#: src/scm/webid-oidc/program.scm:789 #, scheme-format msgid "You must pass --~a to set the informative client URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:815 +#: src/scm/webid-oidc/program.scm:817 #, scheme-format msgid "You must pass --~a to set the subject’s encrypted password.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:870 +#: src/scm/webid-oidc/program.scm:872 #, scheme-format msgid "Unknown command ~s\n" msgstr "" diff --git a/po/fr.po b/po/fr.po index 71788d1..41a0057 100644 --- a/po/fr.po +++ b/po/fr.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: webid-oidc 0.0.0\n" "Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n" -"POT-Creation-Date: 2021-09-15 12:41+0200\n" -"PO-Revision-Date: 2021-09-15 12:41+0200\n" +"POT-Creation-Date: 2021-09-15 23:04+0200\n" +"PO-Revision-Date: 2021-09-15 23:05+0200\n" "Last-Translator: Vivien Kraus \n" "Language-Team: French \n" "Language: fr\n" @@ -598,6 +598,14 @@ msgstr "" "L’ID de client et l’URI de redirection doivent être des URIs, et la paire de " "clés doit être une paire de clés." +#: src/scm/webid-oidc/client/gui.scm:59 +msgid "Hello, world!\n" +msgstr "Bonjour, le monde !\n" + +#: src/scm/webid-oidc/client/gui.scm:64 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + #: src/scm/webid-oidc/dpop-proof.scm:91 #, scheme-format msgid "this is not a DPoP proof, because it is not even a JWS: ~a" @@ -1054,7 +1062,7 @@ msgstr "" msgid "~a version ~a\n" msgstr "~a version ~a\n" -#: src/scm/webid-oidc/hello-world.scm:128 src/scm/webid-oidc/program.scm:625 +#: src/scm/webid-oidc/hello-world.scm:128 src/scm/webid-oidc/program.scm:628 msgid "" "You are legally required to link to the complete corresponding source code.\n" msgstr "" @@ -1564,8 +1572,8 @@ msgstr "" " ~a :\n" " exécute le proxy inverse authentifiant." -#: src/scm/webid-oidc/program.scm:315 src/scm/webid-oidc/program.scm:507 -#: src/scm/webid-oidc/program.scm:708 +#: src/scm/webid-oidc/program.scm:315 src/scm/webid-oidc/program.scm:510 +#: src/scm/webid-oidc/program.scm:710 msgid "command-line|command|reverse-proxy" msgstr "proxy-inversé" @@ -1580,8 +1588,8 @@ msgstr "" " ~a :\n" " exécute un fournisseur d’identité." -#: src/scm/webid-oidc/program.scm:319 src/scm/webid-oidc/program.scm:532 -#: src/scm/webid-oidc/program.scm:730 +#: src/scm/webid-oidc/program.scm:319 src/scm/webid-oidc/program.scm:535 +#: src/scm/webid-oidc/program.scm:732 msgid "command-line|command|identity-provider" msgstr "fournisseur-identité" @@ -1596,8 +1604,8 @@ msgstr "" " ~a :\n" " sert les pages d’une application publique." -#: src/scm/webid-oidc/program.scm:323 src/scm/webid-oidc/program.scm:553 -#: src/scm/webid-oidc/program.scm:772 +#: src/scm/webid-oidc/program.scm:323 src/scm/webid-oidc/program.scm:556 +#: src/scm/webid-oidc/program.scm:774 msgid "command-line|command|client-service" msgstr "service-client" @@ -1614,20 +1622,28 @@ msgstr "" " exécute un serveur complet, avec un fournisseur d’identité et\n" " une fonction de stockage de ressources." -#: src/scm/webid-oidc/program.scm:328 src/scm/webid-oidc/program.scm:579 -#: src/scm/webid-oidc/program.scm:801 +#: src/scm/webid-oidc/program.scm:328 src/scm/webid-oidc/program.scm:582 +#: src/scm/webid-oidc/program.scm:803 msgid "command-line|command|server" msgstr "serveur" #: src/scm/webid-oidc/program.scm:330 msgid "" "\n" +"If no command is specified, run the browser." +msgstr "" +"\n" +"Si aucune commande n’est spécifiée, exécute le navigateur." + +#: src/scm/webid-oidc/program.scm:333 +msgid "" +"\n" "General options:" msgstr "" "\n" "Options générales :" -#: src/scm/webid-oidc/program.scm:332 +#: src/scm/webid-oidc/program.scm:335 #, scheme-format msgid "" "\n" @@ -1641,7 +1657,7 @@ msgstr "" " correspondant. Par exemple, MOYEN serait une URI pointant vers\n" " l’archive de code." -#: src/scm/webid-oidc/program.scm:337 +#: src/scm/webid-oidc/program.scm:340 #, scheme-format msgid "" "\n" @@ -1652,7 +1668,7 @@ msgstr "" " -h, --~a :\n" " affiche un court message d’aide et quitte." -#: src/scm/webid-oidc/program.scm:341 +#: src/scm/webid-oidc/program.scm:344 #, scheme-format msgid "" "\n" @@ -1663,7 +1679,7 @@ msgstr "" " -v, --~a :\n" " affiche le numéro de version (~a, publiée le ~a) et quitte." -#: src/scm/webid-oidc/program.scm:347 +#: src/scm/webid-oidc/program.scm:350 #, scheme-format msgid "" "\n" @@ -1674,7 +1690,7 @@ msgstr "" " --~a :\n" " décrit le projet dans le vocabulaire DOAP et quitte." -#: src/scm/webid-oidc/program.scm:351 +#: src/scm/webid-oidc/program.scm:354 #, scheme-format msgid "" "\n" @@ -1685,7 +1701,7 @@ msgstr "" " -l FICHIER.journal, --~a=FICHIER.journal :\n" " redirige la sortie standard du programme vers FICHIER.journal." -#: src/scm/webid-oidc/program.scm:355 +#: src/scm/webid-oidc/program.scm:358 #, scheme-format msgid "" "\n" @@ -1696,7 +1712,7 @@ msgstr "" " -e FICHIER.erreurs, --~a=FICHIER.erreurs :\n" " redirige les erreurs du programme vers FICHIER.erreurs." -#: src/scm/webid-oidc/program.scm:360 +#: src/scm/webid-oidc/program.scm:363 msgid "" "\n" "General server-side options:" @@ -1704,7 +1720,7 @@ msgstr "" "\n" "Options générales pour un serveur :" -#: src/scm/webid-oidc/program.scm:362 +#: src/scm/webid-oidc/program.scm:365 #, scheme-format msgid "" "\n" @@ -1715,7 +1731,7 @@ msgstr "" " -p PORT, --~a=PORT :\n" " définit le port à lier, 8080 par défaut." -#: src/scm/webid-oidc/program.scm:366 +#: src/scm/webid-oidc/program.scm:369 #, scheme-format msgid "" "\n" @@ -1727,7 +1743,7 @@ msgstr "" " définit l’URI publique du serveur (schéma, identifiant de\n" " l’utilisateur, hôte et port)." -#: src/scm/webid-oidc/program.scm:371 +#: src/scm/webid-oidc/program.scm:374 msgid "" "\n" "Options for the resource server:" @@ -1735,7 +1751,7 @@ msgstr "" "\n" "Options pour le serveur de ressources :" -#: src/scm/webid-oidc/program.scm:373 +#: src/scm/webid-oidc/program.scm:376 #, scheme-format msgid "" "\n" @@ -1750,7 +1766,7 @@ msgstr "" " authentifié, XXX-Agent par défaut. Pour un serveur complet, ceci\n" " désactive l’authentification par Solid-OIDC." -#: src/scm/webid-oidc/program.scm:379 +#: src/scm/webid-oidc/program.scm:382 #, scheme-format msgid "" "\n" @@ -1763,7 +1779,7 @@ msgstr "" " définit l’URI sortante du proxy inversé, seulement pour la\n" " commande proxy-inversé." -#: src/scm/webid-oidc/program.scm:385 +#: src/scm/webid-oidc/program.scm:388 msgid "" "\n" "Options for the identity provider:" @@ -1771,7 +1787,7 @@ msgstr "" "\n" "Options du fournisseur d’identité :" -#: src/scm/webid-oidc/program.scm:387 +#: src/scm/webid-oidc/program.scm:390 #, scheme-format msgid "" "\n" @@ -1785,7 +1801,7 @@ msgstr "" " nouvelle clé sera générée. Le serveur n’offre pas de service\n" " HTTPS." -#: src/scm/webid-oidc/program.scm:392 +#: src/scm/webid-oidc/program.scm:395 #, scheme-format msgid "" "\n" @@ -1796,7 +1812,7 @@ msgstr "" " -s WEBID, --~a=WEBID :\n" " définit l'identité du sujet." -#: src/scm/webid-oidc/program.scm:396 +#: src/scm/webid-oidc/program.scm:399 #, scheme-format msgid "" "\n" @@ -1807,7 +1823,7 @@ msgstr "" " -w MOT_DE_PASSE_CHIFFRÉ, --~a=MOT_DE_PASSE_CHIFFRÉ :\n" " définit le mot de passe chiffré pour reconnaître l’utilisateur." -#: src/scm/webid-oidc/program.scm:400 +#: src/scm/webid-oidc/program.scm:403 #, scheme-format msgid "" "\n" @@ -1820,7 +1836,7 @@ msgstr "" " lit le mot de passe chiffré de l’utilisateur dans " "FICHIER_DE_MOT_DE_PASSE_CHIFFRÉ." -#: src/scm/webid-oidc/program.scm:404 +#: src/scm/webid-oidc/program.scm:407 #, scheme-format msgid "" "\n" @@ -1831,7 +1847,7 @@ msgstr "" " -j URI, --~a=URI :\n" " définit l’URI pour requêter les clés du serveur." -#: src/scm/webid-oidc/program.scm:408 +#: src/scm/webid-oidc/program.scm:411 #, scheme-format msgid "" "\n" @@ -1843,7 +1859,7 @@ msgstr "" " définit l'URI du terminal d'autorisation de l’émetteur\n" " d’identité." -#: src/scm/webid-oidc/program.scm:412 +#: src/scm/webid-oidc/program.scm:415 #, scheme-format msgid "" "\n" @@ -1854,7 +1870,7 @@ msgstr "" " -t URI, --~a=URI :\n" " définit le terminal de jeton de l’émetteur d’identité." -#: src/scm/webid-oidc/program.scm:417 +#: src/scm/webid-oidc/program.scm:420 msgid "" "\n" "Options for the client service:" @@ -1862,7 +1878,7 @@ msgstr "" "\n" "Options pour le service associé à un client :" -#: src/scm/webid-oidc/program.scm:419 +#: src/scm/webid-oidc/program.scm:422 #, scheme-format msgid "" "\n" @@ -1875,7 +1891,7 @@ msgstr "" " définit l’identifiant web de l’application client, qui est\n" " déréférencé pour une ressource sémantique." -#: src/scm/webid-oidc/program.scm:424 +#: src/scm/webid-oidc/program.scm:427 #, scheme-format msgid "" "\n" @@ -1889,7 +1905,7 @@ msgstr "" " d’autorisation. La page de redirection affiche le code à coller\n" " dans l’application." -#: src/scm/webid-oidc/program.scm:429 +#: src/scm/webid-oidc/program.scm:432 #, scheme-format msgid "" "\n" @@ -1901,7 +1917,7 @@ msgstr "" " définit le nom de l’application visible par l’utilisateur (peut\n" " être trompeur…)." -#: src/scm/webid-oidc/program.scm:433 +#: src/scm/webid-oidc/program.scm:436 #, scheme-format msgid "" "\n" @@ -1914,7 +1930,7 @@ msgstr "" " définit l’URI présentant plus d’informations à propos de\n" " l’application (peut aussi être trompeur)." -#: src/scm/webid-oidc/program.scm:439 +#: src/scm/webid-oidc/program.scm:442 msgid "" "\n" "Environment variables:" @@ -1922,7 +1938,7 @@ msgstr "" "\n" "Variables d’environnement :" -#: src/scm/webid-oidc/program.scm:441 +#: src/scm/webid-oidc/program.scm:444 msgid "" "\n" " XML_CATALOG_FILES: the server will fetch resources on the web. By\n" @@ -1941,9 +1957,9 @@ msgstr "" " fichiers depuis le système de fichiers, parce qu’il n’y a pas de\n" " moyen de spécifier le type de contenu." -#: src/scm/webid-oidc/program.scm:449 src/scm/webid-oidc/program.scm:456 -#: src/scm/webid-oidc/program.scm:465 src/scm/webid-oidc/program.scm:473 -#: src/scm/webid-oidc/program.scm:481 +#: src/scm/webid-oidc/program.scm:452 src/scm/webid-oidc/program.scm:459 +#: src/scm/webid-oidc/program.scm:468 src/scm/webid-oidc/program.scm:476 +#: src/scm/webid-oidc/program.scm:484 #, scheme-format msgid "" "the-environment-variable|\n" @@ -1952,7 +1968,7 @@ msgstr "" " \n" " Elle vaut actuellement ~s." -#: src/scm/webid-oidc/program.scm:452 +#: src/scm/webid-oidc/program.scm:455 msgid "" "\n" " LANG: set the locale of the user interface (for the server commands,\n" @@ -1962,7 +1978,7 @@ msgstr "" " LANG : définit la locale de l’interface utilisateur (pour les\n" " commandes serveur, l’utilisateur est l’administrateur système)." -#: src/scm/webid-oidc/program.scm:459 +#: src/scm/webid-oidc/program.scm:462 msgid "" "\n" " XDG_DATA_HOME: where the program stores persistent data. The\n" @@ -1977,7 +1993,7 @@ msgstr "" " ici. Pour un service système, il est recommandé d’utiliser\n" " /var/lib." -#: src/scm/webid-oidc/program.scm:468 +#: src/scm/webid-oidc/program.scm:471 msgid "" "\n" " XDG_CACHE_HOME: where the program stores and updates the seed file,\n" @@ -1990,7 +2006,7 @@ msgstr "" " supprimer ce dossier n’importe quand. Le fichier de graine sera\n" " initialisé à partir de /dev/random." -#: src/scm/webid-oidc/program.scm:476 +#: src/scm/webid-oidc/program.scm:479 msgid "" "\n" " HOME: if XDG_DATA_HOME or XDG_CACHE_HOME is not set, they are\n" @@ -2002,7 +2018,7 @@ msgstr "" " valeur est calculée à partir de la variable d’environnement\n" " HOME. Elle n’est pas utilisée autrement." -#: src/scm/webid-oidc/program.scm:485 +#: src/scm/webid-oidc/program.scm:488 msgid "" "\n" "Running a reverse proxy" @@ -2010,7 +2026,7 @@ msgstr "" "\n" "Exécution d’un proxy inversé" -#: src/scm/webid-oidc/program.scm:487 +#: src/scm/webid-oidc/program.scm:490 msgid "" "\n" "Suppose that you operate data.provider.com. You want to run an\n" @@ -2032,7 +2048,7 @@ msgstr "" "authentifié. https://private.data.provider.com ne doit accepter que\n" "les requêtes depuis ce proxy inversé." -#: src/scm/webid-oidc/program.scm:497 +#: src/scm/webid-oidc/program.scm:500 #, scheme-format msgid "" "\n" @@ -2056,7 +2072,7 @@ msgstr "" " --~a '/var/log/proxy.log' \\\n" " --~a '/var/log/proxy.err'" -#: src/scm/webid-oidc/program.scm:512 +#: src/scm/webid-oidc/program.scm:515 msgid "" "\n" "Running an identity provider" @@ -2064,7 +2080,7 @@ msgstr "" "\n" "Exécution d’un fournisseur d’identité" -#: src/scm/webid-oidc/program.scm:514 +#: src/scm/webid-oidc/program.scm:517 msgid "" "\n" "The identity provider running at webid-oidc-demo.planete-kraus.eu is\n" @@ -2075,7 +2091,7 @@ msgstr "" "webid-oidc-demo.planete-kraus.eu est invoqué avec les options\n" "suivantes :" -#: src/scm/webid-oidc/program.scm:518 +#: src/scm/webid-oidc/program.scm:521 #, scheme-format msgid "" "\n" @@ -2109,7 +2125,7 @@ msgstr "" " --~a 'https://webid-oidc-demo.planete-kraus.eu/token' \\\n" " --~a $PORT" -#: src/scm/webid-oidc/program.scm:538 +#: src/scm/webid-oidc/program.scm:541 msgid "" "\n" "Running the public pages for an application" @@ -2117,7 +2133,7 @@ msgstr "" "\n" "Service des pages publiques pour une application" -#: src/scm/webid-oidc/program.scm:540 +#: src/scm/webid-oidc/program.scm:543 msgid "" "\n" "The example client application pages for\n" @@ -2127,7 +2143,7 @@ msgstr "" "Les pages de l’application client d’exemple pour\n" "webid-oidc-demo.planete-kraus.eu sont servies de cette façon :" -#: src/scm/webid-oidc/program.scm:544 +#: src/scm/webid-oidc/program.scm:547 #, scheme-format msgid "" "\n" @@ -2155,7 +2171,7 @@ msgstr "" "html#Running-a-client' \\\n" " --~a $PORT" -#: src/scm/webid-oidc/program.scm:558 +#: src/scm/webid-oidc/program.scm:561 msgid "" "\n" "Running a full server" @@ -2163,7 +2179,7 @@ msgstr "" "\n" "Exécution d’un serveur complet" -#: src/scm/webid-oidc/program.scm:561 +#: src/scm/webid-oidc/program.scm:564 msgid "" "\n" "To run the server with identity provider and\n" @@ -2175,7 +2191,7 @@ msgstr "" "un serveur de ressources pour un utilisateur particulier, vous devez\n" "combiner les options des parties." -#: src/scm/webid-oidc/program.scm:565 +#: src/scm/webid-oidc/program.scm:568 #, scheme-format msgid "" "\n" @@ -2209,7 +2225,7 @@ msgstr "" " --~a 'https://data.planete-kraus.eu/token' \\\n" " --~a '...port...'" -#: src/scm/webid-oidc/program.scm:590 +#: src/scm/webid-oidc/program.scm:593 #, scheme-format msgid "" "\n" @@ -2218,7 +2234,7 @@ msgstr "" "\n" "Si vous trouvez une erreur, veuillez en envoyer un rapport à ~a." -#: src/scm/webid-oidc/program.scm:595 +#: src/scm/webid-oidc/program.scm:598 #, scheme-format msgid "" "~a version ~a\n" @@ -2229,27 +2245,27 @@ msgstr "" "\n" "Publiée le ~a\n" -#: src/scm/webid-oidc/program.scm:632 +#: src/scm/webid-oidc/program.scm:635 #, scheme-format msgid "The --~a argument must be a number, not ~s.\n" msgstr "L’argument de --~a doit être un nombre, pas ~s.\n" -#: src/scm/webid-oidc/program.scm:638 +#: src/scm/webid-oidc/program.scm:641 #, scheme-format msgid "The --~a argument must be an integer, not ~s.\n" msgstr "L’argument de --~a doit être un entier, pas ~s.\n" -#: src/scm/webid-oidc/program.scm:644 +#: src/scm/webid-oidc/program.scm:647 #, scheme-format msgid "The --~a argument must be positive, ~s is invalid.\n" msgstr "L’argument de --~a doit être positif, ~s est invalide.\n" -#: src/scm/webid-oidc/program.scm:649 +#: src/scm/webid-oidc/program.scm:652 #, scheme-format msgid "The --~a argument must be less than 65536, ~s is invalid.\n" msgstr "L’argument de --~a doit être inférieur à 65536, ~s est invalide.\n" -#: src/scm/webid-oidc/program.scm:677 +#: src/scm/webid-oidc/program.scm:680 msgid "" "You specified two different passwords: one directly, and one from a file. " "Please set only one password.\n" @@ -2257,27 +2273,18 @@ msgstr "" "Vous avez spécifié deux mots de passe différents : l’un directement,\n" "et un autre depuis un fichier. Veuillez n’en spécifier qu’un.\n" -#: src/scm/webid-oidc/program.scm:701 -#, scheme-format -msgid "" -"Usage: ~a COMMAND [OPTIONS]...\n" -"See --~a (-h).\n" -msgstr "" -"Utilisation : ~a COMMANDE [OPTIONS]...\n" -"Voir --~a (-h).\n" - -#: src/scm/webid-oidc/program.scm:711 src/scm/webid-oidc/program.scm:733 -#: src/scm/webid-oidc/program.scm:803 +#: src/scm/webid-oidc/program.scm:713 src/scm/webid-oidc/program.scm:735 +#: src/scm/webid-oidc/program.scm:805 #, scheme-format msgid "You must pass --~a to set the server name.\n" msgstr "Vous devez passer --~a pour définir le nom du serveur.\n" -#: src/scm/webid-oidc/program.scm:715 +#: src/scm/webid-oidc/program.scm:717 #, scheme-format msgid "You must pass --~a to set the backend URI.\n" msgstr "Vous devez passer --~a pour définir l'URI du service d’arrière-plan.\n" -#: src/scm/webid-oidc/program.scm:737 src/scm/webid-oidc/program.scm:807 +#: src/scm/webid-oidc/program.scm:739 src/scm/webid-oidc/program.scm:809 #, scheme-format msgid "" "You must pass --~a to set the file where to store the identity provider " @@ -2286,66 +2293,66 @@ msgstr "" "Vous devez passer --~a pour définir le nom du fichier pour sauvegarder\n" "la clé du fournisseur d’identité.\n" -#: src/scm/webid-oidc/program.scm:741 src/scm/webid-oidc/program.scm:811 +#: src/scm/webid-oidc/program.scm:743 src/scm/webid-oidc/program.scm:813 #, scheme-format msgid "You must pass --~a to set the subject of the identity provider.\n" msgstr "" "Vous devez passer --~a pour définir le sujet du fournisseur d’identité.\n" -#: src/scm/webid-oidc/program.scm:745 +#: src/scm/webid-oidc/program.scm:747 #, scheme-format msgid "You must pass --~a or --~a to set the subject’s encrypted password.\n" msgstr "" "Vous devez passer --~a ou --~a pour définir le mot de passe chiffré du " "sujet.\n" -#: src/scm/webid-oidc/program.scm:749 src/scm/webid-oidc/program.scm:819 +#: src/scm/webid-oidc/program.scm:751 src/scm/webid-oidc/program.scm:821 #, scheme-format msgid "You must pass --~a to set the JWKS URI.\n" msgstr "Vous devez passer --~a pour définir l'URI du JWKS.\n" -#: src/scm/webid-oidc/program.scm:753 src/scm/webid-oidc/program.scm:823 +#: src/scm/webid-oidc/program.scm:755 src/scm/webid-oidc/program.scm:825 #, scheme-format msgid "You must pass --~a to set the authorization endpoint URI.\n" msgstr "" "Vous devez passer --~a pour définir l'URI du terminal d'autorisation.\n" -#: src/scm/webid-oidc/program.scm:757 src/scm/webid-oidc/program.scm:827 +#: src/scm/webid-oidc/program.scm:759 src/scm/webid-oidc/program.scm:829 #, scheme-format msgid "You must pass --~a to set the token endpoint URI.\n" msgstr "Vous devez passer --~a pour définir l'URI du terminal de jeton.\n" -#: src/scm/webid-oidc/program.scm:775 +#: src/scm/webid-oidc/program.scm:777 #, scheme-format msgid "You must pass --~a to set the application web ID.\n" msgstr "" "Vous devez passer --~a pour définir l'identifiant web de l’application.\n" -#: src/scm/webid-oidc/program.scm:779 +#: src/scm/webid-oidc/program.scm:781 #, scheme-format msgid "You must pass --~a to set the redirection URI.\n" msgstr "Vous devez passer --~a pour définir l'URI de redirection.\n" -#: src/scm/webid-oidc/program.scm:783 +#: src/scm/webid-oidc/program.scm:785 #, scheme-format msgid "You must pass --~a to set the informative client name.\n" msgstr "" "Vous devez passer --~a pour donner un nom pour l’application à titre " "informatif.\n" -#: src/scm/webid-oidc/program.scm:787 +#: src/scm/webid-oidc/program.scm:789 #, scheme-format msgid "You must pass --~a to set the informative client URI.\n" msgstr "" "Vous devez passer --~a pour définir l'URI du client, à titre informatif.\n" -#: src/scm/webid-oidc/program.scm:815 +#: src/scm/webid-oidc/program.scm:817 #, scheme-format msgid "You must pass --~a to set the subject’s encrypted password.\n" msgstr "" "Vous devez passer --~a pour définir le mot de passe chiffré du sujet.\n" -#: src/scm/webid-oidc/program.scm:870 +#: src/scm/webid-oidc/program.scm:872 #, scheme-format msgid "Unknown command ~s\n" msgstr "Commande inconnue ~s\n" @@ -2550,6 +2557,14 @@ msgstr "" "

Vous voulez utiliser

~s
comme type d’offre, mais ce n’est pas " "supporté.

" +#, scheme-format +#~ msgid "" +#~ "Usage: ~a COMMAND [OPTIONS]...\n" +#~ "See --~a (-h).\n" +#~ msgstr "" +#~ "Utilisation : ~a COMMANDE [OPTIONS]...\n" +#~ "Voir --~a (-h).\n" + #, scheme-format #~ msgid "~s (issued by ~s)" #~ msgstr "~s (émis par ~s)" @@ -2590,14 +2605,6 @@ msgstr "" #~ msgid "status|not initialized yet" #~ msgstr "pas encore initialisé" -#~ msgid "" -#~ "\n" -#~ "If no command is specified, run the graphical user interface." -#~ msgstr "" -#~ "\n" -#~ "Si aucune commande n’est spécifiée, exécute l’interface utilisateur " -#~ "graphique." - #~ msgid "xml-langlen" #~ msgstr "fr" diff --git a/src/scm/webid-oidc/client/Makefile.am b/src/scm/webid-oidc/client/Makefile.am index 313efcb..bf9feb7 100644 --- a/src/scm/webid-oidc/client/Makefile.am +++ b/src/scm/webid-oidc/client/Makefile.am @@ -17,9 +17,11 @@ dist_clientwebidoidcmod_DATA += \ %reldir%/accounts.scm \ %reldir%/client.scm \ - %reldir%/application.scm + %reldir%/application.scm \ + %reldir%/gui.scm clientwebidoidcgo_DATA += \ %reldir%/accounts.go \ %reldir%/client.go \ - %reldir%/application.go + %reldir%/application.go \ + %reldir%/gui.go diff --git a/src/scm/webid-oidc/client/gui.scm b/src/scm/webid-oidc/client/gui.scm new file mode 100644 index 0000000..3bfaf6a --- /dev/null +++ b/src/scm/webid-oidc/client/gui.scm @@ -0,0 +1,74 @@ +;; disfluid, implementation of the Solid specification +;; Copyright (C) 2021 Vivien Kraus + +;; This program is free software: you can redistribute it and/or modify +;; it under the terms of the GNU Affero General Public License as +;; published by the Free Software Foundation, either version 3 of the +;; License, or (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU Affero General Public License for more details. + +;; You should have received a copy of the GNU Affero General Public License +;; along with this program. If not, see . + +(define-module (webid-oidc client gui) + #:use-module (gi) + #:use-module (gi types) + #:use-module (gi util) + #:use-module (ice-9 match) + #:use-module (ice-9 exceptions) + #:use-module (ice-9 i18n) + #:use-module (ice-9 receive) + #:use-module (ice-9 optargs) + #:use-module (ice-9 pretty-print) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-19) + #:use-module (webid-oidc errors) + #:use-module (webid-oidc web-i18n) + #:use-module ((webid-oidc parameters) #:prefix p:) + #:use-module ((webid-oidc stubs) #:prefix stubs:) + #:use-module ((webid-oidc oidc-id-token) #:prefix id:) + #:use-module ((webid-oidc oidc-configuration) #:prefix cfg:) + #:use-module ((webid-oidc jwk) #:prefix jwk:) + #:use-module ((webid-oidc dpop-proof) #:prefix dpop:) + #:use-module ((webid-oidc client client) #:prefix client:) + #:use-module (web uri) + #:use-module (web response) + #:use-module (web client) + #:use-module (rnrs bytevectors) + #:use-module (oop goops) + #:declarative? #t + #:export + ( + main + ) + #:declarative? #t) + +(push-duplicate-handler! 'merge-generics) + +;; This avoids a crash when compiling the module +(use-typelibs ("GdkPixbuf" "2.0")) + +(use-typelibs (("Gio" "2.0") #:renamer (protect 'application:new)) + ("Gtk" "3.0")) + +(define (print-hello button) + (format #t (G_ "Hello, world!\n"))) + +(define (on-activate application) + (let ((window (make + #:application application)) + (button (make #:label (G_ "Hello, world!")))) + (connect button clicked print-hello) + (add window button) + (show-all window))) + +(define (main) + (let ((app (application:new + "eu.planete_kraus.Disfluid" + (list->application-flags '(flags-none))))) + (connect app activate on-activate) + (run app (command-line)))) diff --git a/src/scm/webid-oidc/program.scm b/src/scm/webid-oidc/program.scm index 6af3665..760734e 100644 --- a/src/scm/webid-oidc/program.scm +++ b/src/scm/webid-oidc/program.scm @@ -328,6 +328,9 @@ Available commands:")) (G_ "command-line|command|server")) (format #t "\n") (format #t (G_ " +If no command is specified, run the browser.")) + (format #t "\n") + (format #t (G_ " General options:")) (format #t (G_ " -S MEANS, --~a=MEANS: @@ -620,7 +623,7 @@ Rreleased ~a\n") (let ((rest (option-ref options '() '())) (complete-corresponding-source (let ((str (option-ref options complete-corresponding-source-sym #f))) - (unless str + (unless (or (null? (option-ref options '() '())) str) (format (current-error-port) (G_ "You are legally required to link to the complete corresponding source code.\n")) (exit 1)) @@ -697,11 +700,10 @@ Rreleased ~a\n") (client-uri (option-ref options client-uri-sym #f))) (when (null? rest) - (format (current-error-port) - (G_ "Usage: ~a COMMAND [OPTIONS]...\nSee --~a (-h).\n") - (car (command-line)) - help-sym) - (exit 1)) + (eval + '(main) + (resolve-module '(webid-oidc client gui))) + (exit 0)) (let ((command (car rest)) (non-options (cdr rest))) (cond -- cgit v1.2.3