<?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-09T19:42:14+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&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/c-cpp/pointeurs?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/fonction_et_module?rev=1692702838&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/integration_aide?rev=1693178005&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/operateur-etoile?rev=1612216289&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/flask/templates?rev=1775801399&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/arduino/uno/configurer-entrees-sorties?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/programmation-multitache?rev=1612216289&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_chaines_de_caracteres?rev=1701508391&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/maths-fonction-polynome?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/uno/entrees-analogiques?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/javascript/core/fondamentaux?rev=1728818667&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/undefined-function-dl?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/interruptions?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/ncurses/fenetres?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/logging?rev=1729000987&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/warning_strtotime?rev=1636914222&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/authentification-utilisateur-via-flask-login?rev=1756406298&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/parametres?rev=1693165821&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/annotations?rev=1672674892&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/callable?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/arduino/exemples/passage-a-niveau?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/demarrer_en_go?rev=1690984059&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_dictionnaire?rev=1701511791&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/flask_formulaires_wtforms?rev=1775989580&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/unittest/start?rev=1658346668&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_many-to-many?rev=1754432187&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/programmation-evenementielle?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/c-cpp/profilage-code?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/gracet/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/ncurses/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/parametre_courant_verbose?rev=1693482195&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-du-temps?rev=1671980764&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/exceptions?rev=1729182573&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/types_numeriques?rev=1701508457&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_application_factory?rev=1753528543&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/flask/exemples/redirections?rev=1775538587&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/bonnes-pratiques?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/android/generation-des-logs?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/port-serie?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/generer_nombre_aleatoire?rev=1619346491&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/rechercher-chaine-dans-plusieurs-fichiers?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/structure-case?rev=1676626932&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/difference?rev=1617012799&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/m4/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/ncurses/menus?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/syntaxes-if?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/debogage_des_scripts?rev=1688464707&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/import?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/occupation_memoire?rev=1626425932&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/pyflakes?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/sfml/sprites?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/capteurs/temperature-lm35?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/ide-arduino/buildchain-esp32?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/shields/encodeur-rotatif?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/esp/esp8266/connexion-a-un-reseau-wifi?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/deprecated-constructor?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/listes?rev=1701270506&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/sequences?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/structures_de_controle?rev=1753634674&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_ensemble?rev=1701334991&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/core/yield_et_generateurs?rev=1753295319&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/jupyter-notebook/installation_jupyter_via_docker?rev=1630235390&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/pytest/tester_une_sortie_console?rev=1700333331&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/c-cpp/tests-unitaires/cunit/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/exemples/serveur-udp?rev=1612216289&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/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/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-06T10:13:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:go:tutoriels:ecrire_un_module_en_go</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff</link>
        <description>dev module tutoriel go

Écrire un module en Go

Ce tutoriel propose de créer deux modules:

	*  Le premier sera une bibliothèque prévue pour être importée par d&#039;autres bibliothèques ou applications ;
	*  Le second est une application appelante utilisant le premier.</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/c-cpp/pointeurs?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:c-cpp:pointeurs</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/c-cpp/pointeurs?rev=1612216289&amp;do=diff</link>
        <description>dev c pointeurs tableaux

pointeurs et tableaux

Un pointeur est une variable dont la taille est adaptée au stockage de l&#039;adresse d&#039;une autre variable. On déclare un pointeur via l&#039;opérateur * suffixé par le type pointé.


// Déclaration d&#039;une variable de type pointeur sur entier ayant le label ptr_int
int* ptr_int;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/fonction_et_module?rev=1692702838&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-22T11:13:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:fonction_et_module</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/fonction_et_module?rev=1692702838&amp;do=diff</link>
        <description>dev powershell fonction

PowerShell : Fonctions et modules

Lorsqu&#039;on produit du code on peut avoir envie ou besoin de :

	*  Réutiliser une même séquence d&#039; instructions plusieurs fois dans un script ;
	*  Réutiliser des traitements dans un autre contexte.

Les fonctions</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/integration_aide?rev=1693178005&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-27T23:13:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:integration_aide</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/integration_aide?rev=1693178005&amp;do=diff</link>
        <description>dev powershell aide

PowerShell : Intégrer l&#039;aide au code

La cmdlet Get-Help peut extraire les commentaires présents dans les scripts (module et les fonctions) et générer / mettre en forme l&#039;aide. La documentation officielle désigne cela par aide basée sur les commentaires</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/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/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/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/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/arduino/uno/configurer-entrees-sorties?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:arduino:uno:configurer-entrees-sorties</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/uno/configurer-entrees-sorties?rev=1612216289&amp;do=diff</link>
        <description>dev port arduino

Configuration des entrées-sorties numériques

Les broches digitales du port parallèle de l&#039;Arduino peuvent être indépendamment configurées comme des entrées ou des sorties. C&#039;est la fonction pinMode() qui va permettre de configurer chaque ligne du port.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/programmation-multitache?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:esp:esp32:programmation-multitache</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/programmation-multitache?rev=1612216289&amp;do=diff</link>
        <description>dev esp esp32 todo

Programmation multitâche avec l&#039;ESP32

L&#039;ESP32 2 coeurs

cores/esp32/main.cpp

Le sketck s&#039;exécute sur le cœur 1 par défaut.

Pour exécuter du code sur un cœur en particulier.

	*  Créer une fonction
	*  Utiliser la fonction xTaskCreatePinnedToCore() pour l&#039;attacher au cœur choisit.</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_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/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/maths-fonction-polynome?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:maths-fonction-polynome</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/maths-fonction-polynome?rev=1612216289&amp;do=diff</link>
        <description>Maths avec python

Représenter et résoudre une fonction polynôme du second degré avec python. Ici nous allons représenter et résoudre la fonction polynome de second degré f(x) = 2x2 +5x +3 

Installer les modules


$ sudo apt-get install python-numpy ipython</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/uno/entrees-analogiques?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:arduino:uno:entrees-analogiques</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/uno/entrees-analogiques?rev=1612216289&amp;do=diff</link>
        <description>hardware arduino

Entrées analogiques

ATmega 328 possède 5 entrées analogiques broches A0 à A4. Le CAN a une résolution de 10 bits, il convertit une tension analogique en une valeur numérique, un nombre entre 0-1023 codé sur un entier (int) en environ 100 us. Comme l&#039;ATmega 328 est cadencé à 16</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/javascript/core/fondamentaux?rev=1728818667&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-13T11:24:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:javascript:core:fondamentaux</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/javascript/core/fondamentaux?rev=1728818667&amp;do=diff</link>
        <description>dev javascript js code

:TODO_DOCUPDATE:

Javascript : Fondamentaux

Javascript a été conçu pour rendre les pages web dynamiques. Il s&#039;intègre et permet d&#039;interagir avec les documents HTML et le CSS.

Un script peut être introduit dans n&#039;importe quelle partie du document</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/undefined-function-dl?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:php:erreurs:undefined-function-dl</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/undefined-function-dl?rev=1612216289&amp;do=diff</link>
        <description>dev php php7 erreur debug todo

Php7: Fonction dl() indéfinie

Cette erreur a été rencontrée lors de la migration d&#039;une application web fonctionnant normalement sous Apache/ PHP5 vers une version plus récente Apache/PHP7

Le message d&#039;erreur obtenu:


Fatal error: Uncaught Error: Call to undefined function dl() in /srv/opencourrier/web/php/pear/DB.php:710</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/interruptions?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:arduino:interruptions</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/interruptions?rev=1612216289&amp;do=diff</link>
        <description>dev arduino interruption

Gestion des interruptions avec Arduino

Les interruption externes peuvent être câblées sur les broches 2 et 3 de l&#039;ATmega 328. On utilisera la fonction attachInterrupt() pour configurer la gestion des interruptions externes.


#define PIN_2 0
#define PIN_3 1

void traitementSurInterruption();

void setup()
{
   attachInterrupt(PIN_2, traitementSurInterruption, RAISING);
}</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/ncurses/fenetres?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:ncurses:fenetres</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/ncurses/fenetres?rev=1612216289&amp;do=diff</link>
        <description>ncurses windows fenetres

Les fenêtres avec ncurses

stdscr est la fenêtre par défaut proposée par ncurses. L&#039;utilisateur a la possibilité de créer ses propres fenêtres. Les fenêtres permettent de définir des zones d&#039;affichage indépendantes.

Les fenêtres sont crées via l&#039;appel de la fonction</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/logging?rev=1729000987&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-15T14:03:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:logging</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/logging?rev=1729000987&amp;do=diff</link>
        <description>Les logs en Python

La bibliothèque standard python intègre un module simple et flexible pour générer ses logs. 

Lorsqu&#039;on utilise directement les fonctions au niveau du module, on utilise en fait le logger par défaut root qui est configuré pour écrire sur la sortie erreur standard.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/warning_strtotime?rev=1636914222&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-14T18:23:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:php:erreurs:warning_strtotime</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/warning_strtotime?rev=1636914222&amp;do=diff</link>
        <description>dev php error warning

PHP: warning retourné par la fonction strtotime()

L&#039;utilisation de la fonction strtotime() provoque l&#039;affichage ou la journalisation d&#039;un warning de la forme:


Error (Warning) strtotime(): It is not safe to rely on the system&#039;s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. W…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/authentification-utilisateur-via-flask-login?rev=1756406298&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-28T18:38:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:extensions:authentification-utilisateur-via-flask-login</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/authentification-utilisateur-via-flask-login?rev=1756406298&amp;do=diff</link>
        <description>dev python flask authentification

:TODO:

Flask : Gérer l&#039;authentification avec Flask-Login

Charger l&#039;environnement virtuel Python du projet et installer le paquetage Flask-Login :


pip install Flask-Login


Création d&#039;un Blueprint

On va s&#039;appuyer sur le système de Blueprint de Flask afin de pouvoir regrouper les ressources et fonctionnalités liées à l&#039;authentification. De cette manière les templates, routes, modèles, formulaires etc peuvent être regroupés au sein d&#039;un package Python puis fa…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/parametres?rev=1693165821&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-27T19:50:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:parametres</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/parametres?rev=1693165821&amp;do=diff</link>
        <description>dev powershell

PowerShell : Utiliser des paramètres nommés

Pour plus de flexibilité, les scripts et les fonctions peuvent accepter des paramètres nommés.

On déclare les paramètres nommés en début de script ou de fonction avec le bloc Param():


# Début de script aScript.ps1
Param (
  $FirstParam,
  $SecondParam,
  $ThirdParam
)</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/annotations?rev=1672674892&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-02T15:54:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:annotations</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/annotations?rev=1672674892&amp;do=diff</link>
        <description>dev python

Python: Annotations de type

Les annotations de type (type hinting) fournissent des méta-informations sur le type d&#039;un paramètre dans la définition d&#039;une fonction ou d&#039;une méthode en Python.

	*  L&#039;annotation est optionnelle
	*  L&#039;annotation doit être une expression Python valide. Elle est évaluée une seule fois au chargement du module, le résultat est accessible via l&#039;attribut</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/callable?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:callable</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/callable?rev=1612216289&amp;do=diff</link>
        <description>dev python callable

Les Callables

En Python, tout objet exécutable est un callable, cela comprend:

	*  Les fonctions/méthodes natives ou built-in
	*  Les fonctions/méthodes définies par l&#039;utilisateur user-defined
	*  Toute instance dont la classe possède un méthode</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/arduino/exemples/passage-a-niveau?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:arduino:exemples:passage-a-niveau</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/exemples/passage-a-niveau?rev=1612216289&amp;do=diff</link>
        <description>dev arduino exemple todo

Arduino: Passage à niveau

Schéma du montage

Sketch

Ci-dessous le programme complet.



/*
  Fun MOOC, Programmer un objet avec Arduino
  TP 04: Le passage à niveau

  Le fonctionnement normal est un feu allumé au rouge (le feu vert est éteint) et une barrière fermée (0°).
  Le fonctionnement normal est interrompu par l&#039;appui sur un bouton poussoir.
  Si l&#039;appui du bouton est détecté, alors la barrière (actionnée par le servomoteur) se relève doucement.
  Lorsque la b…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/demarrer_en_go?rev=1690984059&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-02T13:47:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:go:tutoriels:demarrer_en_go</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/demarrer_en_go?rev=1690984059&amp;do=diff</link>
        <description>dev go tutoriel

Tutoriel : Introduction au langage Go

Ce tutoriel est une introduction rapide au langage Go. On y aborde :

	*  L&#039;installation de Go ;
	*  La création d&#039;un programme simple de type “Hello World” ;
	*  L&#039;utilisation de la commande go pour exécuter le code ;</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_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/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/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/unittest/start?rev=1658346668&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-20T19:51:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:unittest:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/unittest/start?rev=1658346668&amp;do=diff</link>
        <description>dev python test unittest

Tests unitaires en python avec unittest

Généralités

unittest est un framework de test unitaires, c&#039;est une implémentation Python des frameworks de type xUnit inspirés de SUnit(Smalltalk&#039;s SUnit), conçu par Kent Beck in 1998 pour le langage orienté objet Smalltalk.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_many-to-many?rev=1754432187&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-05T22:16:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask-sqlalchemy:relation_many-to-many</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_many-to-many?rev=1754432187&amp;do=diff</link>
        <description>dev python flask orm db sqlalchemy

Flask-SQLAlchemy : Mise en œuvre d&#039;une relation many-to-many

:TODO:

Suppression des enregistrements orphelins dans une association many-to-many

Un cas typique est la gestion des étiquettes (tags) ou des mots-clés (keywords).

Dans cet exemple on souhaite pouvoir associer des mots-clés à des jeux :</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/programmation-evenementielle?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:programmation-evenementielle</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/programmation-evenementielle?rev=1612216289&amp;do=diff</link>
        <description>dev conception callback

Programmation événementielle

Dans un paradigme (ou modèle) événementiel, le programme principal est à l&#039;écoute des événements (ou signaux). Lorsque ceux-ci se produisent il se charge d&#039;appeler les fonctions de post-traitement associées ou fonction de rappel (callback). Cela permet de produire un code modulaire. La programmation événementielle est utilisée notamment par les interfaces graphiques.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/c-cpp/profilage-code?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:c-cpp:profilage-code</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/c-cpp/profilage-code?rev=1612216289&amp;do=diff</link>
        <description>dev c cpp profilage

Profilage du code avec grpof

Des programmes sont dédiés à l&#039;optimisation du code on parle de profilage du code.

Dans quels cas optimiser?

	*  Si le programme est instable
	*  Si le programme apparaît comme trop lent
	*  pour la beauté du geste, la compréhension, la curiosité</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/gracet/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:gracet:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/gracet/start?rev=1612216289&amp;do=diff</link>
        <description>Grafcet

Le grapfcet est utilisé pour concevoir des automatismes. Il aide à penser un automatisme sans utiliser un langage de programmation. Il peut être plus ou moins détaillé utilisé a différents étapes du cycle de vie du prjet. Etape de conception. Permet aux automaticiens et au client de concevoir l&#039;outil.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/ncurses/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:ncurses:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/ncurses/start?rev=1612216289&amp;do=diff</link>
        <description>dev c ncurses

ncurses

ncurses pour new curses et curses pour cursor optimization. C&#039;est une bibliothèque de fonctions C permettant une gestion avancée des entrées/sorties sur un terminal en ligne de commandes (CLI). ncurses se charge de détecter les capacités du terminal et envoi les caractères de contrôles adaptés.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/parametre_courant_verbose?rev=1693482195&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-31T11:43:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:parametre_courant_verbose</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/parametre_courant_verbose?rev=1693482195&amp;do=diff</link>
        <description>dev powershell verbose

Powershell : Utiliser l&#039;option Verbose

L&#039;option -Verbose fait parti des paramètres courants (Common parameters) disponibles pour les cmdlets ou les fonctions.

Les messages émis en mode verbeux utilisent un canal (buffer) dédié. Ces messages ne sont pas affiché par défaut dans la console de l&#039;utilisateur. C&#039;est la variable</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-du-temps?rev=1671980764&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-25T15:06:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:manipulation-du-temps</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-du-temps?rev=1671980764&amp;do=diff</link>
        <description>dev python temps date

Manipulation du temps en python

Plusieurs modules permettent de manipuler le temps en Python:

	*  datetime
	*  time
	*  calendar

Module time


import time
help(time)


Le temps est représenté via le tuple time_struct:


now = time.gmtime()
type(now)
  time.struct_time
print(now)
  time.struct_time(tm_year=2018, tm_mon=5, tm_mday=1, tm_hour=9, tm_min=10, tm_sec=35, tm_wday=1, tm_yday=121, tm_isdst=0)</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/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/types_numeriques?rev=1701508457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-02T09:14:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:types_numeriques</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/types_numeriques?rev=1701508457&amp;do=diff</link>
        <description>dev python types

Python: Types numériques

Les types numériques en python comprennent:

	*  Nombres entiers type int de précision illimité
	*  Les décimaux type float
	*  Les nombres complexes
	*  Les booléens type bool

Usages simples

Priorités

:TODO_DOCUPDATE:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_application_factory?rev=1753528543&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-26T11:15:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask_application_factory</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_application_factory?rev=1753528543&amp;do=diff</link>
        <description>dev python web flask

Flask : Usage de la fonction create_app

La création de l&#039;application Flask peut se faire de plusieurs manières. L&#039;utilisation de l&#039;application factory est l&#039;approche recommandée pour les projets qui gagent en envergure. Elle permet de concevoir une application plus facilement extensible et maintenable.</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/flask/exemples/redirections?rev=1775538587&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-07T05:09:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:exemples:redirections</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/exemples/redirections?rev=1775538587&amp;do=diff</link>
        <description>dev python flask redirection

Flask : redirections

Le framework Flask propose la fonction redirect(). Pour les redirections internes, on l&#039;utilise conjointement à la fonction url_for() :


from flask import Flask, redirect, url_for

app = Flask(__name__)

@app.route(&#039;/&#039;)
def home():
    return &#039;Welcome to Home Page&#039;

# Redirection externe
@app.route(&#039;/goto/sponsor/example_dot_com&#039;)
def external_redirect():
    return redirect(&#039;https://www.example.com&#039;)

# Redirection interne
@app.route(&#039;/test-p…</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/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:bonnes-pratiques</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bonnes-pratiques?rev=1612216289&amp;do=diff</link>
        <description>Bonnes pratiques

Recommandations d&#039;ordre général à mettre en œuvre pour tout développement:

	*  Essayer de produire un code clair, privilégier la clarté à trop de concision.
	*  Commenter
	*  Lors de toute modification factoriser et supprimer le code inutile.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/android/generation-des-logs?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:android:generation-des-logs</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/android/generation-des-logs?rev=1612216289&amp;do=diff</link>
        <description>dev android log logcat

Générer des logs

Sous Android Studio, logcat permet de visualiser les logs générés par le système ou les applications. Pour générer des messages depuis l&#039;application quelques étapes sont nécessaires:

Configuration

Sur les émulateurs cette fonction est active par défaut, par contre sur un périphérique physique, pour que le débogage puisse être utilisé, il faut qu&#039;il soit activé:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/port-serie?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:arduino:port-serie</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/port-serie?rev=1612216289&amp;do=diff</link>
        <description>dev arduino serie

Port série avec Arduino

Liaison série asynchrone, utilise les broches 0 pour la réception (Rx) et 1 pour la transmission (Tx). Si le port série est utilisé dans le programme, les broches 0 et 1 ne seront plus disponible en tant qu&#039;entrées/sorties numériques du port parallèle.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/generer_nombre_aleatoire?rev=1619346491&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-25T10:28:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:generer_nombre_aleatoire</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/generer_nombre_aleatoire?rev=1619346491&amp;do=diff</link>
        <description>dev bash shell

Bash: Générer un nombre aléatoire

Pour obtenir un nombre aléatoire dans l&#039;intervalle [0-32767] depuis le shell, on peut utiliser la variable $RANDOM.

Pour limiter la valeur maximum de l&#039;intervalle entre [0-N] avec N &lt; 32767, on peut utiliser l&#039;opérateur modulo. Lorsqu&#039;on divise un nombre par N, le reste de la division est toujours compris entre [0-(N-1)]. Le reste est disponible via l&#039;opérateur modulo.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/rechercher-chaine-dans-plusieurs-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:bash:rechercher-chaine-dans-plusieurs-fichiers</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/rechercher-chaine-dans-plusieurs-fichiers?rev=1612216289&amp;do=diff</link>
        <description>sysadmin dev script bash recherche

Rechercher une chaîne dans un ensemble de fichiers

Retrouver une chaîne de caractères dans un ensemble de fichiers sources. Ce script est une simple boucle for. Elle peut être directement tapée dans l’interpréteur bash. On récupère les fichiers dont on souhaite scruter le contenu. Ils sont fournis séquentiellement en argument à la commande grep avec les options</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/structure-case?rev=1676626932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-17T09:42:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:structure-case</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/structure-case?rev=1676626932&amp;do=diff</link>
        <description>dev sysadmin bash case switch

Structure de contrôle case

Au sein des scripts bash, la structure de contrôle case ou selon (équivalent du switch... case en C) permet d&#039;effectuer différents traitements en fonction des valeurs attendues pour une variable donnée.


case &quot;$C&quot; in
&quot;1&quot;)
    do_this()
    ;;
&quot;2&quot; | &quot;3&quot;)
    do_what_you_are_supposed_to_do()
    ;;
*)
    do_nothing()
    ;;
esac</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/difference?rev=1617012799&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-29T10:13:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:difference</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/difference?rev=1617012799&amp;do=diff</link>
        <description>dev git

Afficher les différences sous git

La commande git diff permet d&#039;afficher les différences introduites:

	*  entre deux commits,
	*  entre l&#039;espace de travail et un commit
	*  etc.

Utilisée sans argument, la commande compare l&#039;index (zone d&#039;assemblage pour le prochain commit) et le répertoire de travail. Si une divergence apparaît, la sortie de la commande git diff l&#039;affiche:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/m4/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:m4:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/m4/start?rev=1612216289&amp;do=diff</link>
        <description>dev macros m4 todo

M4

M4 est la mise en œuvre par le projet GNU du processeur de macro traditionnel UNIX. M4 lit et interprète un fichier texte en entrée et produit un fichier texte en sortie. Il possède des fonctions internes permettant notamment:

	*  d&#039;inclure des fichiers,</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/ncurses/menus?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:ncurses:menus</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/ncurses/menus?rev=1612216289&amp;do=diff</link>
        <description>dev c ncurses menu

Menus avec ncurses

La bibliothèque menu permet de générer des menus personnalisables. Un menu est un affichage permettant à l&#039;utilisateur de choisir une option dans un ensemble. La bibliothèque permet également de définir des menus avec des choix multiples.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/php/syntaxes-if?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:php:syntaxes-if</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/syntaxes-if?rev=1612216289&amp;do=diff</link>
        <description>dev php syntaxe

Syntaxes if

Au sein d&#039;un script PHP la syntaxe standard:


if(expression_conditionnelle)
{
   instructions;
}
elseif(condition)
{
   instructions;
}
else
{
   instructions;
}



La notation condensée


expression_conditionnelle ? instructionSiVrai : instructionSiFaux;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/debogage_des_scripts?rev=1688464707&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-04T09:58:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:debogage_des_scripts</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/debogage_des_scripts?rev=1688464707&amp;do=diff</link>
        <description>dev powershell debogage

PowerShell : Débogage des scripts

Généralités

Lorsque des erreurs se produisent, elles sont stockées dans le tableau $Error. Quand une nouvelle erreur est générée, elle est insérée à $Error[0], et l’index des autres erreurs est augmenté d’une unité.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/import?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:import</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/import?rev=1612216289&amp;do=diff</link>
        <description>dev python import module

Import en python

La directive import en python provoque l&#039;appel de la fonction __import__() qui retourne une référence sur un objet de type module. Les deux exemples suivants sont équivalents:


import sys



sys= __import__(&#039;sys&#039;)


Pour Python:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/occupation_memoire?rev=1626425932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-16T08:58:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:occupation_memoire</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/occupation_memoire?rev=1626425932&amp;do=diff</link>
        <description>dev python empreinte memoire

Python: déterminer la taille mémoire d&#039;un objet

Le module sys contient la fonction  getsizeof() qui retourne la taille d&#039;un ou plusieurs objets en Octets.


# création d&#039;un ensemble vide
&gt;&gt;&gt; t1 = ()

# le tuple (ensemble) vide ne contient aucun élément
&gt;&gt;&gt; len(t1)
0

# mais l&#039;objet tuple occupe de la mémoire
&gt;&gt;&gt; import sys                                                                                       

&gt;&gt;&gt; sys.getsizeof(t1)                                   …</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/pyflakes?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:pyflakes</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/pyflakes?rev=1612216289&amp;do=diff</link>
        <description>pyflakes

Installation


$ pip install --upgrade pyflakes


Utilisation

Pour vérifier le code, il suffit d&#039;invoquer pyflakes avec en argument le script a vérifier. Il retourne sur la sortie standard les anomalies détectées:


$ pyflakes ./mon-script.py</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/sfml/sprites?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:sfml:sprites</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/sfml/sprites?rev=1612216289&amp;do=diff</link>
        <description>Affichage des sprites

Les sprites et les images sont des objets différents. Une image est un tableau de pixels en mémoire. Sous sfml chaque pixel peut être représente par un objet de la classe Color().

Un sprite est un élément qui peut être dessiné dans un canevas ou une fenêtre de rendu (RenderWindow). Un sprite est une représentation d&#039;une image.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/capteurs/temperature-lm35?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:arduino:capteurs:temperature-lm35</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/capteurs/temperature-lm35?rev=1612216289&amp;do=diff</link>
        <description>dev arduino capteur temperature

Capteur LM35

Utilisation du capteur keyestudio Ks0022.
Relever la température ambiante via le circuit LM35 avec une sensibilité de 10mV/°C. Fonctionne sur la plage 0-100°C

Montage

Code


// Le capteur LM35 doit etre connecté sur une
// entrée analogique, ici A0
const int CAPTEUR = A0;

void setup()
{
    //Initialise le port série pour transmettre les valeurs
    //relevées par le capteur
    Serial.begin(9600);
    
}

 void loop()
{  int val;
    int dat;
  …</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/ide-arduino/buildchain-esp32?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:arduino:ide-arduino:buildchain-esp32</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/ide-arduino/buildchain-esp32?rev=1612216289&amp;do=diff</link>
        <description>dev esp esp32 buildchain

Installer la buildchain pour ESP32 dans l&#039;IDE Arduino

Ivan Grokhotkov, le contributeur qui a permis le succès du module ESP8286 sous l&#039; IDE Arduino a rejoint Espressif le constructeur de ESP32. Le constructeur propose ainsi un module pour ESP32 sous l&#039;IDE Arduino.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/shields/encodeur-rotatif?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:arduino:shields:encodeur-rotatif</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/shields/encodeur-rotatif?rev=1612216289&amp;do=diff</link>
        <description>electronique shield arduino

Encodeur rotatif Snootlab

Installer la bibliothèque disponible sur le github. L&#039;installation d&#039;une nouvelle bibliothèque dans l&#039;IDE Arduino est détaillée ici

Le fonctionnement correct du shield repose sur l&#039;activation et la gestion des interruptions. Le fichier</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/esp/esp8266/connexion-a-un-reseau-wifi?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:esp:esp8266:connexion-a-un-reseau-wifi</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/esp/esp8266/connexion-a-un-reseau-wifi?rev=1612216289&amp;do=diff</link>
        <description>dev esp8266 todo

Connexion au réseau wifi

Dans l&#039;exemple ci dessous, l&#039;ESP se connecte au réseau et écrit sur le port série


#include &lt;ESP8266WiFi.h&gt;


void setup()
{
  //Initialisation du port série
  Serial.begin(115200);
  Serial.println();

  //Connexion de l&#039;ESP au réseau 
  WiFi.begin(&quot;SSID&quot;, &quot;MonMotDePasse&quot;);

  Serial.print(&quot;Connecting&quot;);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(&quot;.&quot;);
  }
  Serial.println();

  //la fonction printDiag permet d&#039;obten…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/deprecated-constructor?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:php:erreurs:deprecated-constructor</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/deprecated-constructor?rev=1612216289&amp;do=diff</link>
        <description>dev php php7 debug

php7: Notification &quot;has deprecated constructor&quot;

Lors de l&#039;execution de certains scripts, suivant la verbosité des logs, le message suivant peut remonter dans les logs ou être affiché selon la configuration des logs d&#039;erreurs:


PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; MyObject has a deprecated constructor in /path/to/script/MyObject.php on line 3</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/listes?rev=1701270506&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-29T15:08:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:listes</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/listes?rev=1701270506&amp;do=diff</link>
        <description>dev python liste

Les listes en python

Une liste est un ensemble ordonné d&#039;objets. On parle de structure de données de type séquence car chaque élément est accessible via son index.

La liste peut être vue comme une généralisation des chaînes de caractères : là où la chaîne est une séquence de caractères, la liste peut contenir des valeurs de tous types : n’importe quelle valeur peut être contenue dans une liste.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/sequences?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:sequences</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/sequences?rev=1612216289&amp;do=diff</link>
        <description>dev python todo

Python: Les séquences

Les séquences regroupent un ensemble de types notamment:

	*  Les listes (list),
	*  Les tuples (tuple);
	*  Les chaînes de caractères (str),
	*  bytes (immuable), et bytearray (mutable)
	*  range objects

Une séquence est un ensemble fini et ordonné d&#039;éléments indicés à partir de 0.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/structures_de_controle?rev=1753634674&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-27T16:44:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:structures_de_controle</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/structures_de_controle?rev=1753634674&amp;do=diff</link>
        <description>dev python

Structures de contrôle

Structures conditionnelles

if


if a_condition:
    # bloc a exécuter lorsque a_condition est vraie
elif other_condition:
    # bloc a exécuter lorsque a condition est fausse
    # et other_condition est vraie
else:
    # bloc a exécuter si les conditions précédentes sont fausses.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_ensemble?rev=1701334991&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-30T09:03:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:type_ensemble</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/type_ensemble?rev=1701334991&amp;do=diff</link>
        <description>dev python set ensemble

Python: les ensembles ou sets

Les sets ou ensembles sont très proches des dictionnaires. Ils sont mutables mais à la différence des dictionnaires les sets ne stockent que des clés mais pas de valeurs.
Le set a été créé et optimisé pour des opérations spécifiques.</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/core/yield_et_generateurs?rev=1753295319&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-23T18:28:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:yield_et_generateurs</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/yield_et_generateurs?rev=1753295319&amp;do=diff</link>
        <description>dev python generator yield

Python : yield et fonction générateur

Références

	*  Vidéo Python : Mise en œuvre d&#039;un générateur (youtube.com @DominiqueLiard06)</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/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/pytest/tester_une_sortie_console?rev=1700333331&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-18T18:48:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:pytest:tester_une_sortie_console</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/pytest/tester_une_sortie_console?rev=1700333331&amp;do=diff</link>
        <description>dev python test-unitaire console cli

Python : Tester une sortie sur la console avec Pytest

On souhaite écrire un test unitaire pour vérifier la sortie produite sur le terminal par la méthode Writer.hello_user(). La classe est définie dans le fichier parts.py


myapp/
├── __init__.py
└── models
    ├── __init__.py
    └── parts.py</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/c-cpp/tests-unitaires/cunit/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:c-cpp:tests-unitaires:cunit:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/c-cpp/tests-unitaires/cunit/start?rev=1612216289&amp;do=diff</link>
        <description>dev c tests-unitaires

CUnit

CUnit est un framework de tests unitaires pour les programmes en C. Étapes générales:

	*  Définir les fonctions de test en s’appuyant sur les fonctions et les structures de la bibliothèque CUnit.
	*  Initialiser le catalogue (registry)</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/exemples/serveur-udp?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:esp:esp32:exemples:serveur-udp</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/exemples/serveur-udp?rev=1612216289&amp;do=diff</link>
        <description>esp32 dev udp

Serveur UDP

L&#039;ESP se connecte au WiFi et écoute en UDP sur le port 3333. Il attend une commande sous forme de chaîne de caractères on/off et allume en ou éteint en fonction la LED intégrée sur le port 2. Ce croquis s&#039;appuie sur l&#039;exemple WiFiUDPClient</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/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>
