<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.phobos-net.fr/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.phobos-net.fr/feed.php">
        <title>wikinotes</title>
        <description></description>
        <link>https://wiki.phobos-net.fr/</link>
        <image rdf:resource="https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-05-10T22:41:02+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/installation_jupyter_via_docker?rev=1630235390&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_one-to-many?rev=1754217789&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/exceptions?rev=1729182573&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_chaines_de_caracteres?rev=1701508391&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_sqlalchemy?rev=1756406120&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/sphinx/introduction?rev=1740669954&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_agregation?rev=1753198299&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/environnements_virtuels?rev=1753090988&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/sqlalchemy?rev=1733182283&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/type-dictionnaire?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/unites_et_conversions?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/litteraux?rev=1685365314&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/serialisation_json?rev=1732206470&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/tuples?rev=1701542132&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_bytes?rev=1685365314&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/variables_environnement?rev=1753023789&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/architecture_projet_flask?rev=1775376548&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/definir_commande_cli?rev=1775393751&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/demarrer_application?rev=1753608365&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_formulaires_wtforms?rev=1775989580&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/telechargement_de_fichier?rev=1730838981&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/templates?rev=1775801399&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/tests_unitaires_via_pytest?rev=1753628163&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/transmettre_objets_python_au_javascript?rev=1732198017&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/agencement-widgets?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/pytest/initialiser_et_detruire_environnement_de_test?rev=1729093508&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/tutoriel/webstore?rev=1733180890&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico">
        <title>wikinotes</title>
        <link>https://wiki.phobos-net.fr/</link>
        <url>https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-10T08:22:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:routage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&amp;do=diff</link>
        <description>dev python flask routes

Flask : routage

A propos des routes

Définir une URL ayant un sens pour l&#039;utilisateur est préférable en général. Les deux URL ci-dessous peuvent produire le même résultat :

	*  &lt;https://www.example.com/script?action=33257&gt;
	*  &lt;https://www.example.com/create/user&gt;

Dans le second cas, on peut directement comprendre le sens de l&#039;action à la lecture de l&#039;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/installation_jupyter_via_docker?rev=1630235390&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-08-29T11:09:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:jupyter-notebook:installation_jupyter_via_docker</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/installation_jupyter_via_docker?rev=1630235390&amp;do=diff</link>
        <description>software python jupyter jupyterlab notebook install docker todo

Installer Jupyter via Docker

Il existe plusieurs images, la version scipy-notebook inclus des packages populaires de l&#039;écosystème scientifique Python:


docker pull jupyter/scipy-notebook:python-3.9.6
docker run --rm -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes -v &quot;${PWD}&quot;:/home/jovyan/work jupyter/scipy-notebook:python-3.9.6</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_one-to-many?rev=1754217789&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-03T10:43:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask-sqlalchemy:relation_one-to-many</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_one-to-many?rev=1754217789&amp;do=diff</link>
        <description>dev python flask orm db sqlalchemy

:TODO_DOCUPDATE:

Flask-SQLAlchemy : relation one-to-many

Quelques notes à propos de l&#039;implémentation d&#039;une relation un à plusieurs (one to many) avec l&#039;extension Flask-SQLAlchemy.

Pour illustrer le concept on prend un exemple rudimentaire :


MCD via diagramme UML</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/exceptions?rev=1729182573&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-17T16:29:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:exceptions</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/exceptions?rev=1729182573&amp;do=diff</link>
        <description>dev python exceptions

Python: les exceptions

	*  Une exception n&#039;est pas une fatalité, c&#039;est un mécanisme de communication d&#039;erreur tout à fait normal dans un programme et on est capable de la capturer et d&#039;y réagir.
	*  Les exceptions fournissent de l&#039;information sur l&#039;erreur qui se produit, c&#039;est donc un mécanisme de notification d&#039;erreur très utile.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-03T14:40:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:module_et_paquetage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff</link>
        <description>dev python module package

:TODO_DOCUPDATE:

Python : module et package

Généralités à propos des modules Python

Il y a 3 types de modules que l&#039;on peut d&#039;intégrer à son code :

	*  Un module écrit en Python ;
	*  Un module écrit en C et chargé dynamiquement comme le module</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_chaines_de_caracteres?rev=1701508391&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-02T09:13:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:type_chaines_de_caracteres</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/type_chaines_de_caracteres?rev=1701508391&amp;do=diff</link>
        <description>dev python caracteres

:TODO_DOCUPDATE:

Python: Les chaînes de caractères

En python caractère et chaîne de caractères sont des objets de type str. Les chaînes de caractères sont des objets immuables: une fois crées elles ne peuvent plus être modifiées. Les méthodes permettant d&#039;altérer les chaînes retournent donc un nouvel objet str.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_sqlalchemy?rev=1756406120&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-28T18:35:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask_sqlalchemy</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_sqlalchemy?rev=1756406120&amp;do=diff</link>
        <description>dev python orm flask sqlachemy

:TODO_DOCUPDATE:

L&#039;extension Flask-SQLAlchemy

A propos de SQLAlchemy

SQLAlchemy est un ORM (Object-Relational Mapping) il permet de traduire les objets Python en données pouvant être enregistrées dans un SGBD externe. 

Installation

Pour pouvoir utiliser l&#039;extension, installer le module</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/sphinx/introduction?rev=1740669954&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-27T15:25:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:sphinx:introduction</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/sphinx/introduction?rev=1740669954&amp;do=diff</link>
        <description>dev python sphinx documentation

Sphinx : Générer de la documentation

Sphinx est un programme dédié à la génération de tout type de documentation associée à un projet:

	*  La documentation de référence du code (documentation des modules, classes et APIs);
	*  les tutoriaux (documentation à objectifs pédagogiques);</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_agregation?rev=1753198299&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-22T15:31:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask-sqlalchemy:relation_agregation</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_agregation?rev=1753198299&amp;do=diff</link>
        <description>dev python sql sqlalchemy relation

Flask-SQLAlchemy : Définir une relation d&#039;agrégation

La relation d&#039;agrégation est une forme particulière de relation one-to-many. C&#039;est une composition sans appartenance : la suppression d&#039;une instance de la classe regroupant les agrégats n&#039;entraine pas la suppression des agrégats.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/environnements_virtuels?rev=1753090988&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-21T09:43:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:environnements_virtuels</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/environnements_virtuels?rev=1753090988&amp;do=diff</link>
        <description>dev python virtualenv venv environnement virtuel

Environnements virtuels en Python

Plusieurs solutions existent. Depuis python 3.3 la bibliothèque venv est intégrée, c&#039;est la solution recommandée avec Python3, l&#039;usage de virtualenv est déprécié ou réservé à des besoins spécifiques.

virtualenv</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/sqlalchemy?rev=1733182283&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-02T23:31:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:sqlalchemy</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/sqlalchemy?rev=1733182283&amp;do=diff</link>
        <description>:TODO_DOCUPDATE:

SQLAlchemy

L&#039; ORM est une technique employée par les langages orientés objets permettant de convertir des données entre systèmes ayant des types de données incompatibles.

Les langages orientés objets tels que Python permettent de définir des types non-scalaires qui ne peuvent pas être exprimés directement en types primitifs tels que des entiers ou des chaînes de caractères. Par exemple un objet de type</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/type-dictionnaire?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:type-dictionnaire</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/type-dictionnaire?rev=1612216289&amp;do=diff</link>
        <description>python dictionnaire

Traitements sur dictionnaire

Définir une variable de type dictionnaire:


dico_vide= {}
mon_dico = {&#039;prenom&#039;: &#039;yoann&#039;, &#039;age&#039;: 32, }


Ajout/suppression de clés

Pour supprimer le couple (clé,valeur):


del mon_dico[&#039;cle&#039;]


Pour ajouter une nouvelle clé à un dictionnaire existant:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/unites_et_conversions?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:unites_et_conversions</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/unites_et_conversions?rev=1612216289&amp;do=diff</link>
        <description>dev python unit conversion

Python: unités et conversions

Installer le module pint dans l&#039;environnement virtuel ou sur le système:


pip3 install pint


Avant de pouvoir utiliser pint, initialiser:


from pint import UnitRegistry
ureg = UnitRegistry()


Occupation disque

Définir une quantité à partir d&#039;une chaine de caractère:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/litteraux?rev=1685365314&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T13:01:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:litteraux</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/litteraux?rev=1685365314&amp;do=diff</link>
        <description>dev python

Les littéraux

En Python, le littéral désigne la notation utilisée pour définir une valeur constante sur un type de base comme la chaîne de caractères (str), la suite d&#039;octets (bytes) et même les valeurs numériques.

Pour les chaînes de caractères, le littéral est introduit par un préfixe (stringprefix) et encadré par des guillemets simples, doubles ou triples.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/serialisation_json?rev=1732206470&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-21T16:27:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:serialisation_json</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/serialisation_json?rev=1732206470&amp;do=diff</link>
        <description>dev python json serialisation javascript

:TODO_DOCUPDATE:

Sérialiser un type(classe) quelconque en JSON

Si on tente de sérialiser directement une instance d&#039;une classe de son cru via le module json on obtient en général une erreur :

Dans cet exemple le type Memo est une Classe complexe conçue pour une application Flask et permettant d&#039;enregistrer les données dans une base via l&#039;ORM SQLAlchemy</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/tuples?rev=1701542132&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-02T18:35:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:tuples</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/tuples?rev=1701542132&amp;do=diff</link>
        <description>dev python

Python: le type tuple

le tuple (traduit couple ou n-uplets) est un type builtin très proche de la liste mais immuable: c&#039;est une séquence, on peut donc y appliquer les opérations telles que:

	*  Accéder aux éléments avec l’opérateur d&#039;indexation</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_bytes?rev=1685365314&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T13:01:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:type_bytes</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/type_bytes?rev=1685365314&amp;do=diff</link>
        <description>dev python

Python : le type Bytes

Le type natif Bytes permet de définir une suite d&#039;octets (séquence immuable d&#039;octets).

Seuls les caractères ASCII sont autorisés dans les littéraux de bytes (quel que soit l’encodage du code source déclaré). Toutes les valeurs au delà de 127 doivent être entrés dans littéraux de bytes en utilisant une séquence d’échappement appropriée.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/variables_environnement?rev=1753023789&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-20T15:03:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:variables_environnement</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/variables_environnement?rev=1753023789&amp;do=diff</link>
        <description>dev python variable environnement

Python : Gestion des variables d&#039;environnement

Plusieurs solutions pour définir des variables d&#039;environnement en Python :

	*  Créer un fichier .env ;
	*  Éditer le fichier activate de l&#039;environnement virtuel Python ;
	*  Utiliser le Dockerfile si le projet s&#039;appuie sur Docker.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/architecture_projet_flask?rev=1775376548&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T08:09:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:architecture_projet_flask</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/architecture_projet_flask?rev=1775376548&amp;do=diff</link>
        <description>dev python flask web api

Flask

:TODO_DOCUPDATE:

Flask n&#039;impose aucune arborescence, selon les besoins on peut opter pour une application monolithique ou modulaire.

Application monolithique

Pour les petit projets, les tests ou les tutoriaux, on utilise généralement un simple module Python qui se charge d&#039; instancier directement l&#039;objet Flask. Cette approche monolithique permet de coder rapidement une preuve de concept (PoC), un prototype par exemple.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/definir_commande_cli?rev=1775393751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T12:55:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:definir_commande_cli</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/definir_commande_cli?rev=1775393751&amp;do=diff</link>
        <description>dev python flask cli commande

Flask : Définir une commande CLI

Le framework Flask s&#039;appuie sur le paquetage Python Click pour la gestion de la ligne de commande.

On utilise les décorateurs pour déclarer une commande. Ci-dessous un exemple simple de commande sans argument :


from flask import Flask

app = Flask(__name__)

@app.cli.command(&quot;version&quot;)
def version():
  &quot;&quot;&quot;Show application version.&quot;&quot;&quot; 
  print(&quot;0.0.1&quot;)</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/demarrer_application?rev=1753608365&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-27T09:26:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:demarrer_application</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/demarrer_application?rev=1753608365&amp;do=diff</link>
        <description>dev python framework flask

Flask : Démarrer l&#039;application depuis la CLI

La commande flask permet notamment d&#039;exécuter l&#039;application sur un serveur de développement intégré au framework ou de démarrer un shell interactif dans le contexte de l&#039;application.

Par défaut la commande tente d&#039;importer un module ou un paquetage nommé</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_formulaires_wtforms?rev=1775989580&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-12T10:26:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask_formulaires_wtforms</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_formulaires_wtforms?rev=1775989580&amp;do=diff</link>
        <description>dev python flask web formulaire

:TODO_DOCUPDATE:

Flask : Créer des formulaires via Flask-WTF

WTForms est une bibliothèque Python permettant de gérer des formulaires web via des Classes et objets en POO.

Ici on utilise le paquet Flask-WTF qui intègre la bibliothèque WTForms au micro framework Flask.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/telechargement_de_fichier?rev=1730838981&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-05T20:36:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:telechargement_de_fichier</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/telechargement_de_fichier?rev=1730838981&amp;do=diff</link>
        <description>dev python flask web upload download file fichier

Flask : Upload/Download de fichiers

Les fichiers transmis sont placés dans un espace temporaire en mémoire ou dans un dossier (qui peut être obtenu via tempfile.gettempdir()). Par défaut Flask ne limite pas la taille des fichiers transmis par l&#039;utilisateur mais on peut la définir via la variable</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/templates?rev=1775801399&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-10T06:09:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:templates</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/templates?rev=1775801399&amp;do=diff</link>
        <description>dev python flask templates jinja2

Flask : Utilisation des templates

Généralités

Grossièrement, le template est une page web à trous. Il contient des sections invariantes en HTML/javascript directement interprétables par le navigateur web et des sections dynamiques ou non remplies désignées</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/tests_unitaires_via_pytest?rev=1753628163&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-27T14:56:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:tests_unitaires_via_pytest</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/tests_unitaires_via_pytest?rev=1753628163&amp;do=diff</link>
        <description>dev python test pytest

:TODO_DOCUPDATE:

Flask : tests unitaires avec pytest

Flask s&#039;appuie sur le framework pytest pour créer et exécuter les tests.

Nomenclature

Par défaut les tests sont regroupés dans le dossier ./tests du projet. Les tests sont des fonctions dont le nom commence par</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/transmettre_objets_python_au_javascript?rev=1732198017&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-21T14:06:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:transmettre_objets_python_au_javascript</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/transmettre_objets_python_au_javascript?rev=1732198017&amp;do=diff</link>
        <description>dev python flask javascript

Flask : Transmettre des objets Python à un script Javascript du template

Depuis le contrôleur (la fonction associée à la route), on crée des objets Python qu&#039;on peut transmettre facilement au template.

Le template peut contenir du code javascript : il est parfois utile de pouvoir transmettre des objets au script afin de les exploiter côté client.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/agencement-widgets?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:pygtk:agencement-widgets</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/agencement-widgets?rev=1612216289&amp;do=diff</link>
        <description>dev pygtk widget conteneur

Agencer les widgets

Pour organiser les différents composants de l&#039;interface graphique (widgets) PyGTK propose un système de boites (box) qui sont des conteneurs invisibles à l’intérieur desquels on insère les widgets. Il existe deux familles: les conteneurs verticaux et les horizontaux. Dans un conteneur horizontal, les objets insérés sont placés les un à la suite des autres en file indienne. Dans un conteneur vertical, les objets seront disposés verticalement les un…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/start?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:pygtk:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/start?rev=1612216289&amp;do=diff</link>
        <description>du boot, pc rendu a Nathalie Barret. Pas de retour utilisateur. Fermeture ticket.

dev python ihm pygtk

IHM pour python avec PyGTK

Présentation générale de la conception d&#039;une application Python utilisant une IHM GTK

	*  Les classes Python modélisent les données métier et intègrent les traitements.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/pytest/initialiser_et_detruire_environnement_de_test?rev=1729093508&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-16T15:45:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:pytest:initialiser_et_detruire_environnement_de_test</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/pytest/initialiser_et_detruire_environnement_de_test?rev=1729093508&amp;do=diff</link>
        <description>dev python test pytest setup unit unitaire

:TODO_DOCUPDATE:

Pytest : Initialisation et suppression d&#039;un environnement de test

Pour s&#039;assurer de la reproductibilité des tests unitaires, il est important de pouvoir :

	*  Initialiser / définir un contexte d&#039;exécution ;
	*  Supprimer / libérer les ressources et le contexte d&#039;exécution.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/tutoriel/webstore?rev=1733180890&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-02T23:08:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:tutoriel:webstore</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/tutoriel/webstore?rev=1733180890&amp;do=diff</link>
        <description>dev python flask sqlalchemy tutoriel

Exemple d&#039;Application web avec Flask et le module flask_sqlalchemy

On crée une petite application web “webstore” qui stocke des articles dans différents magasins

Initialisation du projet, création d&#039;un dépôt et d&#039;un environnement virtuel


cd ~/dev
git init webstore

cd ~/dev/webstore
python3 -m venv .venv</description>
    </item>
</rdf:RDF>
