Command lines¶
Creates a https static web-application with authentification
Creates a local web-application with very simple authentification
Creates a local web-application with very simple authentification
Creates a https static web-application with authentification
The command line runs a web application meant to be local as there is not https involved. It servers static content. The web app relies on starlette, the server relies on hypercorn. Example:
python -m mathenjeu local_https
With that application, every user can login with a unique password abc.
<<<
python -m mathenjeu local_https --help
>>>
Command not found: 'local_https'.
Available commands:
create_self_signed_cert Creates a signed certificate.
qcm_https Creates a https web-application with https authentification.
qcm_local Creates a local web-application with very simple authentification.
static_https Creates a https web-application with https authentification.
static_local Creates a local web-application with very simple authentification.
(entrée originale : static_app.py:docstring of mathenjeu.cli.static_app.create_static_https_app, line 39)
Creates a https web-application (Q&A) with authentification
The command line runs a web application meant to be local as there is not https involved. It implements a Q&Q. The web app relies on starlette, the server relies on hypercorn. Example:
python -m mathenjeu qcm_https
With that application, every user can login with a unique password abc.
<<<
python -m mathenjeu qcm_https --help
>>>
usage: qcm_https [-h] [-s SECRET_LOG] [-f FOLDER] [-m MAX_AGE] [-c COOKIE_KEY]
[-co COOKIE_NAME] [-coo COOKIE_DOMAIN]
[--cookie_path COOKIE_PATH] [-t TITLE] [-sh SHORT_TITLE]
[-p PAGE_DOC] [-se SECURE] [-d DISPLAY] [-g GAMES] [-po PORT]
[-mi MIDDLES] [-st START] [-u USERPWD] [-de DEBUG]
[-a ACCESS_LOG] [-ac ACCESS_LOG_FORMAT] [-ca CA_CERTS]
[-ce CERTFILE] [-e ERROR_LOG] [-k KEEP_ALIVE] [-ke KEYFILE]
[-r ROOT_PATH] [-w WORKERS] [-re RELOAD] [-ci CIPHERS]
Creates a https web-application with https authentification.
optional arguments:
-h, --help show this help message and exit
-s SECRET_LOG, --secret_log SECRET_LOG
to encrypt log (None to ignore) (default: )
-f FOLDER, --folder FOLDER
folder where to write the logs (None to disable the
logging) (default: .)
-m MAX_AGE, --max_age MAX_AGE
cookie's duration in seconds (default: 1209600)
-c COOKIE_KEY, --cookie_key COOKIE_KEY
to encrypt information in the cookie (cannot be None)
(default: )
-co COOKIE_NAME, --cookie_name COOKIE_NAME
name of the session cookie (default: mathenjeu)
-coo COOKIE_DOMAIN, --cookie_domain COOKIE_DOMAIN
cookie is valid for this path only, also defines the
domain of the web app (its url) (default: 127.0.0.1)
--cookie_path COOKIE_PATH
path of the cookie once storeds (default: /)
-t TITLE, --title TITLE
title (default: Web Application MathEnJeu)
-sh SHORT_TITLE, --short_title SHORT_TITLE
short application title (default: MathEnJeu)
-p PAGE_DOC, --page_doc PAGE_DOC
page documentation (default is
'http://www.xavierdupre.fr/app/mathenjeu/helpsphinx')
(default:
http://www.xavierdupre.fr/app/mathenjeu/helpsphinx/)
-se SECURE, --secure SECURE
use secured connection for cookies (default: False)
-d DISPLAY, --display DISPLAY
display such as :class:`DisplayQuestionChoiceHTML <mat
henjeu.apps.display.html_display.DisplayQuestionChoice
HTML>` (default: )
-g GAMES, --games GAMES
defines which games is available as a dictionary ``{
game_id: (game name, first page id) }`` or
``id,name,page;id,name,page``, *id* can be a filename.
(default: simple_cinema_qcm,simple_cinema_qcm,0;simple
_french_qcm,simple_french_qcm,0;ml_french_qcm,ml_frenc
h_qcm,0)
-po PORT, --port PORT
port to deploy the application (default: 8868)
-mi MIDDLES, --middles MIDDLES
middles ware, list of couple ``[(class, **kwargs)]``
where *kwargs* are the parameter constructor (default:
)
-st START, --start START
starts the application with `uvicorn` (default: False)
-u USERPWD, --userpwd USERPWD
users are authentified with any alias but a common
password (default: )
-de DEBUG, --debug DEBUG
display debug information (`starlette` option)
(default: False)
-a ACCESS_LOG, --access_log ACCESS_LOG
The target location for the access log, use - for
stdout. (default: -)
-ac ACCESS_LOG_FORMAT, --access_log_format ACCESS_LOG_FORMAT
The log format for the access log, see help docs, see
Logging. (default: %(h)s %(r)s %(s)s %(b)s %(D)s)
-ca CA_CERTS, --ca_certs CA_CERTS
Path to the SSL CA certificate file. (default: )
-ce CERTFILE, --certfile CERTFILE
Path to the SSL certificate file. (default: )
-e ERROR_LOG, --error_log ERROR_LOG
The target location for the error log, use - for
stderr. (default: -)
-k KEEP_ALIVE, --keep_alive KEEP_ALIVE
Seconds to keep inactive connections alive for.
(default: 600)
-ke KEYFILE, --keyfile KEYFILE
Path to the SSL key file (default: )
-r ROOT_PATH, --root_path ROOT_PATH
The setting for the ASGI root_path variable. (default:
)
-w WORKERS, --workers WORKERS
The number of workers to spawn and use. (default: 1)
-re RELOAD, --reload RELOAD
Enable automatic reloads on code changes. (default:
False)
-ci CIPHERS, --ciphers CIPHERS
Ciphers to use for the SSL setup, the default can be
found at config.py (default: ECDHE+AESGCM)
(entrée originale : qcm_app.py:docstring of mathenjeu.cli.qcm_app.create_qcm_https_app, line 42)
Creates a local web-application with very simple authentification
The command line runs a web application meant to be local as there is not https involved. It implements a Q&A. The web app relies on starlette, the server relies on uvicorn. Example of use:
python -m mathenjeu qcm_local --cookie_key=dummypwd --start=1 --port=8889 --userpwd=abc
With that application, every user can login with a unique password abc.
<<<
python -m mathenjeu qcm_local --help
>>>
usage: qcm_local [-h] [-s SECRET_LOG] [-f FOLDER] [-m MAX_AGE] [-c COOKIE_KEY]
[-co COOKIE_NAME] [-coo COOKIE_DOMAIN]
[--cookie_path COOKIE_PATH] [-t TITLE] [-sh SHORT_TITLE]
[-p PAGE_DOC] [-se SECURE] [-d DISPLAY] [-fc FCT_GAME]
[-g GAMES] [-po PORT] [-mi MIDDLES] [-st START] [-u USERPWD]
[-de DEBUG]
Creates a local web-application with very simple authentification.
optional arguments:
-h, --help show this help message and exit
-s SECRET_LOG, --secret_log SECRET_LOG
to encrypt log (None to ignore) (default: )
-f FOLDER, --folder FOLDER
folder where to write the logs (None to disable the
logging) (default: .)
-m MAX_AGE, --max_age MAX_AGE
cookie's duration in seconds (default: 1209600)
-c COOKIE_KEY, --cookie_key COOKIE_KEY
to encrypt information in the cookie (cannot be None)
(default: )
-co COOKIE_NAME, --cookie_name COOKIE_NAME
name of the session cookie (default: mathenjeu)
-coo COOKIE_DOMAIN, --cookie_domain COOKIE_DOMAIN
cookie is valid for this path only, also defines the
domain of the web app (its url) (default: 127.0.0.1)
--cookie_path COOKIE_PATH
path of the cookie once storeds (default: /)
-t TITLE, --title TITLE
title (default: Web Application MathEnJeu)
-sh SHORT_TITLE, --short_title SHORT_TITLE
short application title (default: MathEnJeu)
-p PAGE_DOC, --page_doc PAGE_DOC
page documentation (default is `mathenjeu`) (default:
http://www.xavierdupre.fr/app/mathenjeu/helpsphinx/)
-se SECURE, --secure SECURE
use secured connection for cookies (default: False)
-d DISPLAY, --display DISPLAY
display such as :class:`DisplayQuestionChoiceHTML <mat
henjeu.apps.display.html_display.DisplayQuestionChoice
HTML>` (default: )
-fc FCT_GAME, --fct_game FCT_GAME
function *lambda name:* :class:`ActivityGroup
<mathenjeu.activities.base_classes.ActivityGroup>`
(default: )
-g GAMES, --games GAMES
defines which games is available as a dictionary ``{
game_id: (game name, first page id) }`` or
``id,name,page;id,name,page``, *id* can be a filename.
(default: simple_cinema_qcm,simple_cinema_qcm,0;simple
_french_qcm,simple_french_qcm,0;ml_french_qcm,ml_frenc
h_qcm,0)
-po PORT, --port PORT
port to deploy the application (default: 8868)
-mi MIDDLES, --middles MIDDLES
middles ware, list of couple ``[(class, **kwargs)]``
where *kwargs* are the parameter constructor (default:
)
-st START, --start START
starts the application with `uvicorn` (default: False)
-u USERPWD, --userpwd USERPWD
users are authentified with any alias but a common
password (default: )
-de DEBUG, --debug DEBUG
display debug information (`starlette` option)
(default: False)
(entrée originale : qcm_app.py:docstring of mathenjeu.cli.qcm_app.create_qcm_local_app, line 29)
Creates a local web-application with very simple authentification
The command line runs a web application meant to be local as there is not https involved. It serves static content. The web app relies on starlette, the server relies on uvicorn. Example of use:
python -m mathenjeu static_local --cookie_key=dummypwd --start=1 --port=8889 --userpwd=abc --content=display_name,local_folder
With that application, every user can login with a unique password abc.
<<<
python -m mathenjeu static_local --help
>>>
usage: static_local [-h] [-s SECRET_LOG] [-f FOLDER] [-m MAX_AGE]
[-c COOKIE_KEY] [-co COOKIE_NAME] [-coo COOKIE_DOMAIN]
[--cookie_path COOKIE_PATH] [-con CONTENT] [-t TITLE]
[-sh SHORT_TITLE] [-p PAGE_DOC] [-se SECURE] [-po PORT]
[-mi MIDDLES] [-st START] [-u USERPWD] [-d DEBUG]
Creates a local web-application with very simple authentification.
optional arguments:
-h, --help show this help message and exit
-s SECRET_LOG, --secret_log SECRET_LOG
to encrypt log (None to ignore) (default: )
-f FOLDER, --folder FOLDER
folder where to write the logs (None to disable the
logging) (default: .)
-m MAX_AGE, --max_age MAX_AGE
cookie's duration in seconds (default: 1209600)
-c COOKIE_KEY, --cookie_key COOKIE_KEY
to encrypt information in the cookie (cannot be None)
(default: )
-co COOKIE_NAME, --cookie_name COOKIE_NAME
name of the session cookie (default: mathenjeu)
-coo COOKIE_DOMAIN, --cookie_domain COOKIE_DOMAIN
cookie is valid for this path only, also defines the
domain of the web app (its url) (default: 127.0.0.1)
--cookie_path COOKIE_PATH
path of the cookie once storeds (default: /)
-con CONTENT, --content CONTENT
list tuple ``route, folder`` to server or a string
``route1,folder1;route2,folder2;...`` (default: )
-t TITLE, --title TITLE
title (default: Web Application MathEnJeu)
-sh SHORT_TITLE, --short_title SHORT_TITLE
short application title (default: MathEnJeu)
-p PAGE_DOC, --page_doc PAGE_DOC
page documentation (default is `mathenjeu`) (default:
http://www.xavierdupre.fr/app/mathenjeu/helpsphinx/)
-se SECURE, --secure SECURE
use secured connection for cookies (default: False)
-po PORT, --port PORT
port to deploy the application (default: 8868)
-mi MIDDLES, --middles MIDDLES
middles ware, list of couple ``[(class, **kwargs)]``
where *kwargs* are the parameter constructor (default:
)
-st START, --start START
starts the application with `uvicorn` (default: False)
-u USERPWD, --userpwd USERPWD
users are authentified with any alias but a common
password (default: )
-d DEBUG, --debug DEBUG
display debug information (`starlette` option)
(default: False)
(entrée originale : static_app.py:docstring of mathenjeu.cli.static_app.create_static_local_app, line 26)
Creates a signed certificate
The command line creates a certificate used later by a service such as hypercorn or waitress. Example:
python -m mathenjeu create_self_signed_cert --keyfile=key.pem --certfile=cert.pem
<<<
python -m mathenjeu create_self_signed_cert --help
>>>
usage: create_self_signed_cert [-h] [-k KEYFILE] [-c CERTFILE] [-co COUNTRY]
[-s STATE] [-l LOCATION] [-o ORGANIZATION]
[--cn CN] [-or ORGANIZATIONAL_UNIT_NAME]
[-e EMAIL] [-si SIZE] [-d DAYS] [-a ALGO]
Creates a signed certificate.
optional arguments:
-h, --help show this help message and exit
-k KEYFILE, --keyfile KEYFILE
key file (default: key.pem)
-c CERTFILE, --certfile CERTFILE
certificate file (default: cert.pem)
-co COUNTRY, --country COUNTRY
country (default: FR)
-s STATE, --state STATE
state (default: Paris)
-l LOCATION, --location LOCATION
location (default: Paris)
-o ORGANIZATION, --organization ORGANIZATION
organization (default: mathenjeu)
--cn CN common name (default: mathenjeu)
-or ORGANIZATIONAL_UNIT_NAME, --organizational_unit_name ORGANIZATIONAL_UNIT_NAME
organizational unit name (can be empty) (default: )
-e EMAIL, --email EMAIL
email (can be empty) (default: )
-si SIZE, --size SIZE
key size (default: 4096)
-d DAYS, --days DAYS days it is valid (default: 365)
-a ALGO, --algo ALGO algorithm (default: sha256)
(entrée originale : openssl.py:docstring of mathenjeu.cli.openssl.create_self_signed_cert, line 22)