<?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-09T21:34:12+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/types?rev=1729257449&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/flask_migrate?rev=1757509654&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/operateur-etoile?rev=1612216289&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/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/activer-contraintes-fk-sqlite-avec-flask-sqlachemy?rev=1756631453&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/mqtt?rev=1671580474&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/core/tuples?rev=1701542132&amp;do=diff"/>
                <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/core/tables_de_hash?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_booleen?rev=1701422851&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_none?rev=1728980341&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/pygtk/widgets/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/bonnes-pratiques?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/classes?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/debogage?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/executer_commande_systeme?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-de-fichiers?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/snmp?rev=1641573614&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/tcl-tk?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/convention_nommage_variables?rev=1753097887&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_bytes?rev=1685365314&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_dictionnaire?rev=1701511791&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/conversion_unite_temperature?rev=1658824450&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/flask/templates?rev=1775801399&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/charger_fichier_csv?rev=1619185181&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/start?rev=1612216289&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/flask/flask-sqlalchemy/relation_agregation?rev=1753198299&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: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/core/types?rev=1729257449&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-18T13:17:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:types</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/types?rev=1729257449&amp;do=diff</link>
        <description>dev python types

:TODO_DOCUPDATE:

Python : Vue d&#039;ensemble des types

None

En Python une valeur indéfinie (équivalent de null dans d&#039;autre langages) est associée au singleton None :


&gt;&gt;&gt; id(None)
10746016

&gt;&gt;&gt; aValue = None
&gt;&gt;&gt; id(aValue)
10746016

&gt;&gt;&gt; aValue is None
True</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/flask_migrate?rev=1757509654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-10T13:07:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:extensions:flask_migrate</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/flask_migrate?rev=1757509654&amp;do=diff</link>
        <description>dev python flask extension db migrate migration

Flask : Gérer les migrations avec l&#039;extension Flask-Migrate

Présentation

Flask-Migrate s&#039;appuie sur Alembic pour gérer les migrations de la base de données gérée par l&#039;ORM (SQLAlchemy). Ainsi le modèle de données définit dans l&#039;application Flask peut être amendé/corrigé, c&#039;est l&#039;extension Flask-Migrate qui se chargera de créer les script de migrations capables de modifier le schéma de la base de données préexistante pour que le nouveau modèle de…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/operateur-etoile?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:operateur-etoile</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/operateur-etoile?rev=1612216289&amp;do=diff</link>
        <description>dev python splat etoile

Opérateur étoile avec Python

Unpacking des paramètres effectifs

Lorsque l&#039;opérateur est placé devant un argument effectif sur un appel de fonction, chaque valeur de la variable est passé à un paramètre différent de la fonction. Il doit y avoir correspondance entre le nombre d&#039;éléments de la variables et le nombre de paramètres de la fonction:</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/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:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/start?rev=1612216289&amp;do=diff</link>
        <description>dev python

Python: introduction

Quelques notes à propos des spécificités du langage Python basées sur mes écueils.

Python a été conçu avec l&#039;objectif d&#039;être lisible, compréhensible faciitant son accès et les échanges de codes. Les choix de conceptions ont été guidés par pragmatisme et non par dogmatisme.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/activer-contraintes-fk-sqlite-avec-flask-sqlachemy?rev=1756631453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-31T09:10:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask-sqlalchemy:activer-contraintes-fk-sqlite-avec-flask-sqlachemy</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/activer-contraintes-fk-sqlite-avec-flask-sqlachemy?rev=1756631453&amp;do=diff</link>
        <description>dev python web flask sqlalchemy flas-sqlachemy

Flask-SQLAlchemy : Forcer la vérification des contraintes sur une base SQLite3

Notes concernant l&#039;activation des contraintes sur clé étrangère (FK) sur les bases de type SQLite3 utilisées en backend via Flask-SQLAlchemy.

Problématique

Une contrainte de type</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/mqtt?rev=1671580474&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-20T23:54:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:mqtt</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/mqtt?rev=1671580474&amp;do=diff</link>
        <description>dev python mqtt iot

Python : Communication MQTT

Le projet Eclipse Paho vise à créer des implémentations open source du protocole MQTT pour différents langages de programmation (C, Python, Arduino, Java, JavaScript, C#, etc.).

Le projet propose un client MQTT en Python</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/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/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/core/tables_de_hash?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:core:tables_de_hash</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/tables_de_hash?rev=1612216289&amp;do=diff</link>
        <description>cour python

Python: Les tables de hash

Les tables de hash sont des structures de données particulières permettant de répondre à certaines limitations des types séquence tels que les chaînes de caractères, les listes ou tuples. Python propose deux implémentations des tables de hash: les dictionnaires et les sets (ensembles).</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_booleen?rev=1701422851&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-01T09:27:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:type_booleen</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/type_booleen?rev=1701422851&amp;do=diff</link>
        <description>dev python

Python : Le type Booléen

Le type booléen (bool) permet de représenter les valeurs True (vrai) et False (faux).

Conversions de types en booléen

Toute valeur Python peut être interprétée comme un booléen par conversion implicite. 

Quelques conversion explicites en faisant appel au type booléen :</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_none?rev=1728980341&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-15T08:19:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:type_none</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/type_none?rev=1728980341&amp;do=diff</link>
        <description>dev python core type

:TODO_DOCUPDATE:

Python : Le type None

Références

	*  L&#039;objet non défini en Python</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/pygtk/widgets/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:widgets:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/widgets/start?rev=1612216289&amp;do=diff</link>
        <description>pygtk widget

Widgets

Présentation sommaire de widgets usuels.

Button

Il existe plusieurs types de boutons. Un bouton basique a un simple label définit lors de l&#039;instanciation ou via l&#039;appel de la méthode set_label(). 


bouton1= gtk.Button(&quot;Valider&quot;)
box.pack_end(bouton1, expand=False)
bouton1.show()</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/bonnes-pratiques?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:bonnes-pratiques</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/bonnes-pratiques?rev=1612216289&amp;do=diff</link>
        <description>Bonnes pratiques

Duck typing

La l&#039;oie du canard: If it looks like a duck and quacks like a duck, it must be a duck.

Dans la majorité des cas il importe peu que l&#039;objet soit une instance d&#039;un type particulier, on cherche à savoir s&#039;il a le bon comportement. On privilégiera donc l&#039;emploie de</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/classes?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:classes</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/classes?rev=1612216289&amp;do=diff</link>
        <description>dev python classe objet

Les classes en python

Définition d&#039;une classe

Ci-dessous un exemple minimaliste pour introduire la syntaxe et les mots clés:


class MaClasse(object):
   def __init__(self, name):
      self._name = name
      
   def set_name(self, value=None):
      self.name = value</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/debogage?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:debogage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/debogage?rev=1612216289&amp;do=diff</link>
        <description>dev python debug debogage

Outils de débogage avec python

Outils d&#039;analyse statique

Analysent le script/module et détectent les anomalies

	*  pylint
	*  pychecker
	*  pyflakes
	*  pep8
	*  flake8
	*  mypy: outil standard d&#039;analyse statique du typage

pyflakes

pyflakes est un outil simple capable de détecter les erreurs de syntaxe, les fautes de frappe notamment dans les noms de variables, les imports manquants ou inutilisés. Il peut être intégré à l&#039;EDI notamment à Vim :)</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/executer_commande_systeme?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:executer_commande_systeme</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/executer_commande_systeme?rev=1612216289&amp;do=diff</link>
        <description>dev python command sysadmin

Python: Invoquer une commande

Pour invoquer une commande depuis un script, si les valeurs retournées sur stdout et stderr n&#039;ont pas d&#039;importance, le plus simple:


from os import system as run_command

# La commande a exécuter
cmd=r&#039;whereis snmpget&#039;

# res sauvegarde la valeur de retour de la commande 
res = run_command(cmd)</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-de-fichiers?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:manipulation-de-fichiers</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-de-fichiers?rev=1612216289&amp;do=diff</link>
        <description>dev python fichier file

Manipulation des fichiers en python

Pour manipuler aisément les fichiers il faut avoir abordé 3 notions:

	*  l&#039;encodage
	*  l&#039;itération
	*  le context manager

Écrire du texte dans un fichier

Pour lire et écrire du texte dans les fichiers, il faut spécifier correctement l&#039;encodage. L&#039;objet fichier est créé avec la fonction built-in open(), il se chargera d&#039;encoder/décoder les caractères en fonction de l&#039;encodage choisit:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/snmp?rev=1641573614&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-07T16:40:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:snmp</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/snmp?rev=1641573614&amp;do=diff</link>
        <description>dev python snmp get

Python : Interroger un agent SNMP

PySNMP est un module open-source Python prenant en charge toutes les versions du protocole SNMP et permettant d&#039;agir autant comme manager que comme agent.

Installation

Méthode standard, depuis l&#039;environnement virtuel on utilise pip:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/tcl-tk?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:tcl-tk</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/tcl-tk?rev=1612216289&amp;do=diff</link>
        <description>Tcl/Tk

Tcl/Tk permet de concevoir facilement des interfaces graphiques.

	*  Tcl: language de script non typé.
	*  Tk  outils de conception d&#039;interfaces graphiques.

	*  Convient parfaitement aux logiciels de petite taille, aux prototypages et peut s&#039;interfacer avec C pour les logiciels de grande taille.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/convention_nommage_variables?rev=1753097887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-21T11:38:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:convention_nommage_variables</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/convention_nommage_variables?rev=1753097887&amp;do=diff</link>
        <description>dev python variable nommage nomenclature

:TODO_DOCUPDATE:

Python : variables et conventions de nommage

Syntaxe

En python les variables ne peuvent pas commencer par un chiffre, ne doivent pas contenir d&#039;espaces ou de caractères spéciaux. Le nom d&#039;une variable ne doit pas être identique aux mots réservés du langage :</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_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/type_dictionnaire?rev=1701511791&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-02T10:09:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:type_dictionnaire</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/type_dictionnaire?rev=1701511791&amp;do=diff</link>
        <description>dev cours python dictionnaire

Python: le type dictionnaire

Les dictionnaires sont des tables de hash, la principale caractéristique de cette structure de données est que les opérations (telles que l&#039;insertion ou le test d&#039;appartenance) sont indépendantes du nombre d&#039; éléments.

	*  Les dictionnaires sont des objets mutables, ils peuvent être modifiés en place.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/conversion_unite_temperature?rev=1658824450&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-26T08:34:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:exemples:conversion_unite_temperature</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/exemples/conversion_unite_temperature?rev=1658824450&amp;do=diff</link>
        <description>python conversion temperature

Python : changement d&#039;unité de température

Pint permet d&#039;effectuer de nombreuses conversion d&#039;unités. Ci dessous un exemple de conversion d&#039;une température en degrés Kelvin en degrés Celsius.



from pint import UnitRegistry 

# Initalisation du registre (helper)
ureg = UnitRegistry()

# Précision souhaitée  
ureg.default_format = &#039;.3f&#039;                                                                                                                                  …</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/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/jupyter-notebook/charger_fichier_csv?rev=1619185181&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-23T13:39:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:jupyter-notebook:charger_fichier_csv</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/charger_fichier_csv?rev=1619185181&amp;do=diff</link>
        <description>dev data jupyter python csv

Jupyter Notebook: Charger des données au format CSV


import pandas as pd

# Load CSV to data frame
df = pd.read_csv(&quot;./data.csv&quot;, encoding=&quot;utf8&quot;, header=None, sep=&quot;,&quot;)


La documentation de pandas détaille les différents paramètres de la méthode à l&#039;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/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:jupyter-notebook:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/start?rev=1612216289&amp;do=diff</link>
        <description>dev python jupyter

Jupyter notebook

Le nom Jupyter vient de la contraction des 3 principaux langages utilisés dans le domaine de la data science: Julia, Python et R. L&#039;extension d&#039;un fichier notebook produit par Jupyter est .pynb pour IPython NoteBook, ancien nom du projet Jupyter.</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/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/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>
</rdf:RDF>
