<?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-06T14:15:52+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/start?rev=1695128712&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_chaines_de_caracteres?rev=1701508391&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/git_log_gestion_historique?rev=1695119856&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/bash/arguments_et_options_de_script?rev=1676049820&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/cas-pratiques/deplacer_pointeur_head?rev=1643144497&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/python/core/tuples?rev=1701542132&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/usage_guillemets?rev=1669242629&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/make/start?rev=1679579719&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/python/logging?rev=1729000987&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/uml/agregation-composition?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/web/chameleon?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/bash/exemples/verifier_definition_variable?rev=1674053185&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/definir_commande_cli?rev=1775393751&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_formulaires_wtforms?rev=1775989580&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/tests_unitaires_via_pytest?rev=1753628163&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/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/regex/exemples/minuscules_sans_carateres_speciaux?rev=1711214867&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/regex/exemples/selectionner_mot_apres_correspondance?rev=1623173507&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/iot/riot/esp32/utiliser_convertisseur_analogique_numerique?rev=1618764547&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/expression-rationnelle?rev=1728748968&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/joystick?rev=1659271663&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/uno-programmateur-isp?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/debogage?rev=1669211307&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/c-cpp/preprocesseur?rev=1618743790&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/alias?rev=1761642728&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/branches?rev=1694795728&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/configuration?rev=1755692957&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/depot-nu?rev=1695109338&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/generer-archive?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/gerer_revisions_fichiers_binaires?rev=1727983329&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/gerer-zone-index?rev=1732028219&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/m4/start?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/php/debogage?rev=1751211477&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/argument_whatif?rev=1693141715&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/charger_donnees_depuis_fichier?rev=1688052416&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/powershell/parametres?rev=1693165821&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/structures_de_controle?rev=1687522079&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/documentation_du_code?rev=1672788575&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/environnement_virtuel_avec_git?rev=1753090397&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/environnements_virtuels?rev=1753090988&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/generer-nombres-aleatoire?rev=1612216289&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/snmp?rev=1641573614&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/exemples/passage-a-niveau?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/shield-memoire/montage?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_mode_execution_interactif?rev=1674119325&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_permissions_via_stat?rev=1674031048&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/c-cpp/tests-unitaires/boost?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/micropython?rev=1617526396&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/esp/esp8266/connexion-a-un-reseau-wifi?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/cas-pratiques/lister-branches-fusionnees?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/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&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/powershell/exemples/demande_identifiants_depuis_interpreteur?rev=1688134677&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/identifier_processus_consommateur_cpu?rev=1685712419&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/execution_programme_python_depuis_environnement_virtuel?rev=1753103016&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/serialisation_json?rev=1732206470&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_dictionnaire?rev=1701511791&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/exemples/conversion_unite_temperature?rev=1658824450&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/creer_type_exception?rev=1672234857&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/tester_existance_fichier?rev=1729167885&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/version_interpreteur?rev=1698680373&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/transmettre_objets_python_au_javascript?rev=1732198017&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/raspberry/cross-toolchain/start?rev=1612216289&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_agregation?rev=1753198299&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_composition?rev=1754250594&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/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:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/flask-sqlalchemy/afficher-les-requetes?rev=1756406120&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico">
        <title>wikinotes</title>
        <link>https://wiki.phobos-net.fr/</link>
        <url>https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-10T08:22:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:routage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&amp;do=diff</link>
        <description>dev python flask routes

Flask : routage

A propos des routes

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

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

Dans le second cas, on peut directement comprendre le sens de l&#039;action à la lecture de l&#039;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/start?rev=1695128712&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-09-19T13:05:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/start?rev=1695128712&amp;do=diff</link>
        <description>git dev

Git

Git est un outil de suivi de version ou gestionnaire de révisions. Contrairement à certains outils centralisés du même type comme svn, Git est distribué, ce  qui le rend très réactif, plus didactique car aucun serveur n&#039;est nécessaire pour apprendre à travailler avec Git.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-03T14:40:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:module_et_paquetage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff</link>
        <description>dev python module package

:TODO_DOCUPDATE:

Python : module et package

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

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

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

:TODO_DOCUPDATE:

Python: Les chaînes de caractères

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

:TODO_DOCUPDATE:

Historique git

Git est un gestionnaire de révision ou CVS, son principal objectif est de conserver l&#039;historique des modifications apportées à un projet. C&#039;est en consultant cet historique qu&#039;on sera en mesure par exemple :

	*  De savoir qui à contribuer à quoi ;</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/bash/arguments_et_options_de_script?rev=1676049820&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-10T17:23:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:arguments_et_options_de_script</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/arguments_et_options_de_script?rev=1676049820&amp;do=diff</link>
        <description>dev bash script option argument

Gestion des options et arguments dans les scripts Bash

Les arguments transmis au script bash courant sont accessibles via les variables $1 à $n. La variable $@ désigne l&#039;ensemble des arguments.

getopts et getopt sont deux moyens similaires mais non identiques pour gérer de façon avancée les options et les arguments passés aux scripts.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/cas-pratiques/deplacer_pointeur_head?rev=1643144497&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-25T21:01:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:cas-pratiques:deplacer_pointeur_head</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/cas-pratiques/deplacer_pointeur_head?rev=1643144497&amp;do=diff</link>
        <description>dev git supprimer blob commit

Git : Déplacer le pointeur HEAD


Pour déplacer le pointeur HEAD sur un commit identifié par son SHA (pour l&#039;exemple 0cb5c64):


git reset --hard 0cb5c64


Le blob précédemment pointé par le HEAD n&#039;est alors plus référencé mais il est conservé dans le dépôt. Git conserve un moment les données pour permettre à l&#039;utilisateur de rattraper d&#039;éventuelles erreurs de manipulation.</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/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/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/usage_guillemets?rev=1669242629&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-23T22:30:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:usage_guillemets</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/usage_guillemets?rev=1669242629&amp;do=diff</link>
        <description>dev bash shell

:TODO: :TODO_DOCUPDATE:

Usage des guillemets

Notes et exemples d&#039;usages des guillemets simples ou doubles dans les scripts bash et sur la ligne de commande.

Notons qu&#039;on ne peut pas placer de guillemet simple même protégé (échappé par &#039;\&#039;) entre 2 guillemets simples:</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/make/start?rev=1679579719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-23T13:55:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:make:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/make/start?rev=1679579719&amp;do=diff</link>
        <description>dev c make makefile compilation

make

make est un programme permettant d&#039;automatiser les différentes étapes de compilation permettant d&#039;aboutir à la création de fichiers binaires exécutables.

Installation

Via le gestionnaire de paquets:


sudo apt-get install make


Makefile</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/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/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/uml/agregation-composition?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:uml:agregation-composition</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/uml/agregation-composition?rev=1612216289&amp;do=diff</link>
        <description>uml agregation composition

Différencier agrégation / composition

En UML, l&#039;agrégation et la composition sont deux types de relations entre des objets de classes différentes.

Composition

Dans le diagramme de classes ci dessous, une relation de composition a été crée entre les classes A et B.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/web/chameleon?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:web:chameleon</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/web/chameleon?rev=1612216289&amp;do=diff</link>
        <description>web python template chameleon pyramid

Moteur de template Chameleon

Chameleon est un moteur de template Python. Il permet de générer des documents textes formatés par des balises(XML/HTML) à partir de modèles (les templates). Chameleon accepte en entrée des documents XML/HTML bien formés (le modèle ou template) et via un système d&#039;attributs (les déclarations ou statements) il génère un fichier texte XML qui n&#039;est pas nécessairement bien formé.</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/bash/exemples/verifier_definition_variable?rev=1674053185&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-18T14:46:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:exemples:verifier_definition_variable</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_definition_variable?rev=1674053185&amp;do=diff</link>
        <description>dev bash variable code snippet exemple guide howto

Bash : vérifier l’existence d&#039;une variable

Pour vérifier qu&#039;une variable est définie en bash, une méthode simple consiste à utiliser la primitive declare:


# Retourne 0 si MAVAR existe
declare -p MAVAR &amp;&gt; /dev/null

# Équivalent avec l&#039;alias typeset
typeset -p MAVAR &amp;&gt; /dev/null</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/definir_commande_cli?rev=1775393751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T12:55:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:definir_commande_cli</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/definir_commande_cli?rev=1775393751&amp;do=diff</link>
        <description>dev python flask cli commande

Flask : Définir une commande CLI

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

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


from flask import Flask

app = Flask(__name__)

@app.cli.command(&quot;version&quot;)
def version():
  &quot;&quot;&quot;Show application version.&quot;&quot;&quot; 
  print(&quot;0.0.1&quot;)</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_formulaires_wtforms?rev=1775989580&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-12T10:26:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask_formulaires_wtforms</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_formulaires_wtforms?rev=1775989580&amp;do=diff</link>
        <description>dev python flask web formulaire

:TODO_DOCUPDATE:

Flask : Créer des formulaires via Flask-WTF

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

Ici on utilise le paquet Flask-WTF qui intègre la bibliothèque WTForms au micro framework Flask.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/tests_unitaires_via_pytest?rev=1753628163&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-27T14:56:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:tests_unitaires_via_pytest</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/tests_unitaires_via_pytest?rev=1753628163&amp;do=diff</link>
        <description>dev python test pytest

:TODO_DOCUPDATE:

Flask : tests unitaires avec pytest

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

Nomenclature

Par défaut les tests sont regroupés dans le dossier ./tests du projet. Les tests sont des fonctions dont le nom commence par</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/regex/exemples/minuscules_sans_carateres_speciaux?rev=1711214867&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-23T17:27:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:regex:exemples:minuscules_sans_carateres_speciaux</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/regex/exemples/minuscules_sans_carateres_speciaux?rev=1711214867&amp;do=diff</link>
        <description>regex exemple

Regex : minuscules sans caractères spéciaux

On souhaite sélectionner seulement des mots en minuscules pouvant intégrer des chiffres et les caractères &#039;-&#039; et &#039;_&#039; : les autres caractères spéciaux, les accents ou ponctuations ne sont pas acceptés.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/regex/exemples/selectionner_mot_apres_correspondance?rev=1623173507&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-06-08T17:31:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:regex:exemples:selectionner_mot_apres_correspondance</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/regex/exemples/selectionner_mot_apres_correspondance?rev=1623173507&amp;do=diff</link>
        <description>dev regex

Regex: Sélectionner le mot après le début de la correspondance

On souhaite pouvoir sélectionner un mot après le début du motif sur lequel commence la correspondance. Pour illustrer ce besoin nous avons une ligne de log générée par UFW:


un  8 18:19:02 node-7c87 kernel: [34684.553602] [UFW BLOCK] IN=enp0s31f6 OUT= MAC=84:2a:fd:56:7c:87:00:50:56:bf:87:1b:08:00 SRC=192.9.200.231 DST=192.9.200.14 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=22420 DF PROTO=TCP SPT=64327 DPT=21 WINDOW=8192 RES=0x…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/iot/riot/esp32/utiliser_convertisseur_analogique_numerique?rev=1618764547&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-18T16:49:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:iot:riot:esp32:utiliser_convertisseur_analogique_numerique</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/iot/riot/esp32/utiliser_convertisseur_analogique_numerique?rev=1618764547&amp;do=diff</link>
        <description>riot esp esp32 can adc

Utiliser le pilote ADC de RIOt avec l&#039;ESP32

RIOT propose une abstraction simple pour utiliser les convertisseurs analogiques numériques (CAN ou ADC) intégrés dans la plupart des MCU: le pilote ADC (periph/adc). Cette interface de périphérique est construite autour du concept de lignes (ADC LINES).</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/expression-rationnelle?rev=1728748968&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-12T16:02:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:expression-rationnelle</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/expression-rationnelle?rev=1728748968&amp;do=diff</link>
        <description>dev regex

Expression rationnelle

Les expressions rationnelles ou  expressions régulières (de l&#039;anglais regex) sont particulièrement efficaces et utiles pour les traitements automatiques de flux ou de fichiers textes (recherches, subtitutions). Elles ont été mises en œuvres dans de nombreux langages, une norme POSIX existe.</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/joystick?rev=1659271663&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-31T12:47:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:arduino:joystick</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/joystick?rev=1659271663&amp;do=diff</link>
        <description>dev arduino joystick usb hid

Arduino: Joystick

Il est possible de modifier le firmware de la puce de communication FTDI présente sur la carte Arduino pour qu&#039;elle soit reconnue comme un périphérique USB HID de type joystick. C&#039;est ce que permet de faire le projet UnoJoy d&#039; Alan Chatham.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/uno-programmateur-isp?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-programmateur-isp</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/uno-programmateur-isp?rev=1612216289&amp;do=diff</link>
        <description>dev arduino isp

Uno en programmateur ISP pour ATtiny85

On utilise la carte Arduino Uno comme programmateur pour flasher des ATtiny85.

Lancer IDE Arduino et vérifier la configuratation

	*  Outils -&gt; Type de carte -&gt; Arduino Uno
	*  Outils -&gt; Programmateur -&gt; Arduino as ISP</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/debogage?rev=1669211307&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-23T13:48:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:debogage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/debogage?rev=1669211307&amp;do=diff</link>
        <description>dev shell bash debug

Débogage de scripts shell

Avant toute exécution, on peut vouloir valider la syntaxe d&#039;un fichier de script. Pour cela on peut invoquer un shell avec l&#039;option -n (noexec) et le scrit à vérifier en paramètre:


bash -n monscript.sh


Le shell Bash peut être invoqué avec l&#039;option</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/c-cpp/preprocesseur?rev=1618743790&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-18T11:03:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:c-cpp:preprocesseur</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/c-cpp/preprocesseur?rev=1618743790&amp;do=diff</link>
        <description>dev c cpp todo

Le préprocesseur

Le préprocesseur (de texte) est un programme s’exécutant avant la compilation. Il parcours le fichier source à la recherche de directives de précompilation (introduites par le caractères &#039;#&#039;) qu&#039;il traite et remplace.

Directive include</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/alias?rev=1761642728&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-28T09:12:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:alias</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/alias?rev=1761642728&amp;do=diff</link>
        <description>git dev alias

Les alias sous git

Les alias permettent de définir de nouvelles commandes git à partir de commandes existantes accompagnées des options souhaitées ou en appelant des commandes externes à git.

Créer un alias

Dans l&#039;exemple ci-dessous on définit un alias en modifiant la configuration globale via l&#039;argument</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/branches?rev=1694795728&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-09-15T16:35:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:branches</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/branches?rev=1694795728&amp;do=diff</link>
        <description>git dev branches todo

Gestion des branches avec git

Le HEAD est le pointeur sur le dernier commit de la branche courante. La commande git branch liste les branches existantes et marque d&#039;une astérisque la branche courante:


# lister les branches
git branch

# Afficher seulement le nom de la branche courante
git branch --show-current

# lister les branches non fusionnées
# avec la branche courante
git branch --no-merged

# lister les branches fusionnées avec
# avec la branche courante
git bran…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/configuration?rev=1755692957&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T12:29:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:configuration</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/configuration?rev=1755692957&amp;do=diff</link>
        <description>git dev config configuration

Configuration des dépots Git

La commande git config permet de personnaliser/spécifier le comportement par défaut de git

Afficher la configuration

Pour lister la configuration actuellement définie:


git config --list


Portée des définitions</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/depot-nu?rev=1695109338&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-09-19T07:42:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:depot-nu</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/depot-nu?rev=1695109338&amp;do=diff</link>
        <description>dev git

Création d&#039;un dépot nu

Un dépôt nu ou bare repository est un dépôt sans répertoire de travail. Il sert simplement à faciliter le travail collaboratif en centralisant les révisions. Chaque développeur clone le dépôt nu présent sur un serveur accessible à tous. Il apporte ses modifications, puis une fois son travail terminé et ordonné sur son instance locale, il peut pousser (commande</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/generer-archive?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:git:generer-archive</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/generer-archive?rev=1612216289&amp;do=diff</link>
        <description>dev git archive zip tgz

Générer une archive avec Git

Git est en mesure de générer des archives dans différents formats. Pour lister les formats disponibles:


$ git archive --list


Ceci permet de distribuer simplement le projet dans une révision particulière, par exemple celle marquée du tag</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/gerer_revisions_fichiers_binaires?rev=1727983329&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-03T19:22:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:gerer_revisions_fichiers_binaires</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/gerer_revisions_fichiers_binaires?rev=1727983329&amp;do=diff</link>
        <description>dev git fichier binaire binary file

:TODO_DOCUPDATE:

Git : Gérer les révisions de fichiers binaires

Pensé avant tout pour gérer les fichiers sources (textes), Git peut également être utilisé pour le versioning de fichiers binaires.

Via le fichier .gitattributes on peut spécifier précisément quelles extensions doivent être considérées comme des fichiers binaires</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/gerer-zone-index?rev=1732028219&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-19T14:56:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:gerer-zone-index</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/gerer-zone-index?rev=1732028219&amp;do=diff</link>
        <description>dev git index commit

Gestion de la zone d&#039;index git

Un commit est un instantané de la zone d&#039;index ou zone d&#039;assemblage (staging area). La zone d&#039;index est hors du répertoire de travail. Seuls les fichiers et dossiers présents dans la zone d&#039;index seront enregistrés en l’état lors du commit.</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/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/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/php/debogage?rev=1751211477&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-29T15:37:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:php:debogage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/debogage?rev=1751211477&amp;do=diff</link>
        <description>dev php

:TODO_DOCUPDATE:

A propos du débogage en PHP

vérifier la syntaxe d&#039;un script depuis la ligne de commande:


php -l mon_script.php


Afficher les fichiers de configuration chargés par la CLI :


# 
php --ini


Afficher les modules actifs :


php -m</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/argument_whatif?rev=1693141715&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-27T13:08:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:argument_whatif</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/argument_whatif?rev=1693141715&amp;do=diff</link>
        <description>dev powershell

Powershell : l&#039;argument -WhatIf

De nombreuses cmdlet contiennent un argument -WhatIf qui correspond à un dry-run (exécution à blanc ou simulée). La commande n&#039;a pas d&#039;effet sur le système : à la place un message est affiché dans la console pour explicité son action normale.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/charger_donnees_depuis_fichier?rev=1688052416&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-29T15:26:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:charger_donnees_depuis_fichier</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/charger_donnees_depuis_fichier?rev=1688052416&amp;do=diff</link>
        <description>dev powershell

PowerShell : Charger ou importer des données

Les données exportées dans des fichiers textes au format brut, CSV ou JSON peuvent être relues et chargées en mémoire dans des objets accessibles par les scripts PowerShell.

La cmdlet Get-Content permet de relire un fichier texte et d&#039;obtenir un tableau. Chaque élément du tableau correspond à une ligne du fichier.</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/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/powershell/structures_de_controle?rev=1687522079&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-23T12:07:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:structures_de_controle</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/structures_de_controle?rev=1687522079&amp;do=diff</link>
        <description>dev powershell

PowerShell : Les structures de contrôle

Les boucles

ForEach

La boucle ForEach permet de traiter chaque éléments d&#039;un tableau ou plus généralement d&#039;un objet itérable :


ForEach ($user in $users) {
     Set-ADUser $user -Department &quot;Marketing&quot;
}</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/documentation_du_code?rev=1672788575&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-03T23:29:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:documentation_du_code</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/documentation_du_code?rev=1672788575&amp;do=diff</link>
        <description>dev python code documentation

:TODO_DOCUPDATE:

Python : Génération de la documentation

La documentation embarquée dans le code (les docstrings) peut être extraite et mise en forme par le module pydoc.

Les conventions d&#039;écriture des docstring sont abordées dans la PEP 257.

Les annotations de types (type hinting) participent également à la lisibilité et la documentation du code.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/environnement_virtuel_avec_git?rev=1753090397&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-21T09:33:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:environnement_virtuel_avec_git</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/environnement_virtuel_avec_git?rev=1753090397&amp;do=diff</link>
        <description>dev python venv git

Python : environnement virtuel dans Git

L&#039;environnement virtuel est créé afin de garantir une isolation des dépendances nécessaires au bon fonctionnement du programme Python. Ainsi, les mises à jours des bibliothèques du système ne remplaceront pas les versions nécessaires au bon fonctionnement de l&#039;application.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/environnements_virtuels?rev=1753090988&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-21T09:43:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:environnements_virtuels</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/environnements_virtuels?rev=1753090988&amp;do=diff</link>
        <description>dev python virtualenv venv environnement virtuel

Environnements virtuels en Python

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

virtualenv</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/generer-nombres-aleatoire?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:generer-nombres-aleatoire</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/generer-nombres-aleatoire?rev=1612216289&amp;do=diff</link>
        <description>dev python aleatoire

Python: générer des nombres aléatoires

Pour générer des entiers aléatoires entre deux bornes (bornes comprises), on peut s&#039; appuyer sur la méthode randint() du module random. Dans l&#039;exemple ci-dessous un nombre pseudo-aléatoire compris entre 10 et 100 est généré et affecté à la variable x:</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/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/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/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/arduino/shield-memoire/montage?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:shield-memoire:montage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/shield-memoire/montage?rev=1612216289&amp;do=diff</link>
        <description>dev arduino snootlab sd

Montage du Shield Mémoire de Snootlab

Le shield mémoire 1.0 de Snootlab intègre un composant SPI avec lequel le microcontrôleur communiquera pour écrire sur la carte SD. Le composant du Shield Mémoire 1.0 est câblé sur la pin10. Pour faire fonctionner le Sketch d&#039;exemple présent par défaut dans l&#039;IDE (File</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_mode_execution_interactif?rev=1674119325&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-19T09:08:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:exemples:verifier_mode_execution_interactif</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_mode_execution_interactif?rev=1674119325&amp;do=diff</link>
        <description>dev bash exemple code snippet guide howto

:TODO_DOCUPDATE:

Bash : vérifier le mode d&#039;exécution interactif

Lorsque Bash est lancé en mode interactif l&#039;option -i est précisée et la variable PS1 est définie. Les options actives sont listées dans la variable $-.

Le script ~/.basrc utilise la valeur de cette variable pour déterminer si l&#039;exécution courante est interactive ou non et adapter son comportement.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_permissions_via_stat?rev=1674031048&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-18T08:37:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:exemples:verifier_permissions_via_stat</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_permissions_via_stat?rev=1674031048&amp;do=diff</link>
        <description>bash exemple extrait guide how-to code snippet

Bash : vérifier les droits d&#039;accès sur un fichier

Pour vérifier les permissions d&#039;accès d&#039;un fichier ou d&#039; un dossier depuis un script Bash, on peut utiliser la commande stat avec l&#039;option --format qui permet de retourner les droits d&#039;accès au fichier sous forme octale:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/c-cpp/tests-unitaires/boost?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:boost</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/c-cpp/tests-unitaires/boost?rev=1612216289&amp;do=diff</link>
        <description>tests unitaires avec boost

Boost est une bibliothèque C/C++ qui étend les fonctionnalité de la bibliothèque standard. Elle offre notamment un framework de tests.

Installer boost

Installation de la bibliothèque via le gestionnaire de paquets:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/micropython?rev=1617526396&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-04T08:53:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:esp:esp32:micropython</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/micropython?rev=1617526396&amp;do=diff</link>
        <description>dev esp32 micropython todo

ESP32: Micropython

MicroPython est une implémentation légère et compacte de l&#039; interpréteur Python 3. Il inclus un petit sous ensemble de la bibliothèque standard Python et est optimisé pour s&#039;exécuter sur microcontrôleur ( tel qu&#039;un ESP32) ou en environnement contraint (en ressources matérielles). Le cœur Micropython utilise 256Ko d&#039;espace en flash et 16 Ko de RAM.</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/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/git/cas-pratiques/lister-branches-fusionnees?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:git:cas-pratiques:lister-branches-fusionnees</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/cas-pratiques/lister-branches-fusionnees?rev=1612216289&amp;do=diff</link>
        <description>git dev branches

Lister les branches déjà fusionnées

git branch possède une option intéressante permettant de supprimer sans danger les branches déjà fusionnées.

Se placer sur la branche souhaitée


$ git checkout master


Maintenant le HEAD est positionné sur master. Pour ne lister que les branches déjà fusionnées à master:</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/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/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/powershell/exemples/demande_identifiants_depuis_interpreteur?rev=1688134677&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-30T14:17:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:exemples:demande_identifiants_depuis_interpreteur</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/demande_identifiants_depuis_interpreteur?rev=1688134677&amp;do=diff</link>
        <description>dev powershell securite identifiant credential code snippet extrait

PowerShell : Récupérer des identifiants depuis la ligne de commande

Certaines commandes doivent pouvoir s&#039;exécuter avec un niveau de privilèges plus élevé. La cmdlet Get-Credential permet de demander des identifiants à l&#039;utilisateur mais nécessite un environnement graphique pour s&#039;exécuter (les identifiants sont récupérés via une fenêtre modale).</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/identifier_processus_consommateur_cpu?rev=1685712419&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-02T13:26:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:exemples:identifier_processus_consommateur_cpu</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/identifier_processus_consommateur_cpu?rev=1685712419&amp;do=diff</link>
        <description>dev powershell code snippet exemple

Powershell : Identifier les processus consommant le temps CPU

Identifier les trois principaux processus consommant du temps CPU sur l&#039;hôte : 


Get-Process | Where-Object CPU -gt 2 | Sort-Object CPU -Descending | Select-Object -First 3</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/execution_programme_python_depuis_environnement_virtuel?rev=1753103016&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-21T13:03:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:execution_programme_python_depuis_environnement_virtuel</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/execution_programme_python_depuis_environnement_virtuel?rev=1753103016&amp;do=diff</link>
        <description>dev python venv programme execution script

Python : Exécuter un programme basé sur un environnement virtuel

En général, lorsqu&#039;un un script ou un programme Python s&#039;appuie sur des dépendances hors paquetages de la bibliothèque standard on utilise un environnement virtuel Python.

Grossièrement, la création de l&#039; environnement virtuel conduit à dédier un interpréteur Python et créer un environnement dans lequel le programme ou script peut être lancé correctement (modification PATH et PYTHONPATH…</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/serialisation_json?rev=1732206470&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-21T16:27:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:serialisation_json</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/serialisation_json?rev=1732206470&amp;do=diff</link>
        <description>dev python json serialisation javascript

:TODO_DOCUPDATE:

Sérialiser un type(classe) quelconque en JSON

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

Dans cet exemple le type Memo est une Classe complexe conçue pour une application Flask et permettant d&#039;enregistrer les données dans une base via l&#039;ORM SQLAlchemy</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/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_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/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/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/exemples/creer_type_exception?rev=1672234857&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-28T13:40:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:exemples:creer_type_exception</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/exemples/creer_type_exception?rev=1672234857&amp;do=diff</link>
        <description>dev python code exemple extrait snippet

:TODO_DOCUPDATE:

Python : créer un nouveau type d&#039;exception

On crée un type nouveau type d&#039;exception en héritant du type de base Exception. Dans sa forme la plus simple sans redéfinition de méthode:



class aNewException(Exception):
    pass</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/tester_existance_fichier?rev=1729167885&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-17T12:24:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:exemples:tester_existance_fichier</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/exemples/tester_existance_fichier?rev=1729167885&amp;do=diff</link>
        <description>dev python exemple extrait code snippet

:TODO_DOCUPDATE:

Python : tester l&#039;existence d&#039;un fichier


from pathlib import Path

aPath = Path(&#039;/path/to/file.csv&#039;)                                                                                                                     

# Retourne True si le fichier existe
aPath.exists()</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/version_interpreteur?rev=1698680373&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-30T15:39:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:exemples:version_interpreteur</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/exemples/version_interpreteur?rev=1698680373&amp;do=diff</link>
        <description>dev python code exemple snippet

Version de l&#039;interpréteur Python

Pour récupérer la version de l&#039;interpréteur Python depuis un script en cours d&#039;exécution:


import sys

version_description = sys.version

type(version_description)
&lt;class &#039;str&#039;&gt;

print(version_description)
3.12.0 (main, Oct 21 2023, 17:44:38) [GCC 9.4.0]

# La classe sys.version_info permet d&#039;obtenir les numéros de versions : majeur, mineur, micro etc
sys.version_info.major
sys.version_info.minor
sys.version_info.micro</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/transmettre_objets_python_au_javascript?rev=1732198017&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-21T14:06:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:transmettre_objets_python_au_javascript</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/transmettre_objets_python_au_javascript?rev=1732198017&amp;do=diff</link>
        <description>dev python flask javascript

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

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

Le template peut contenir du code javascript : il est parfois utile de pouvoir transmettre des objets au script afin de les exploiter côté client.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/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/raspberry/cross-toolchain/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:raspberry:cross-toolchain:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/raspberry/cross-toolchain/start?rev=1612216289&amp;do=diff</link>
        <description>La compilation croisée

Principe

On utilise des outils (on parle de chaine de compilation croisée ou cross toolchain) pour générer des fichiers exécutables par une autre machine (la cible) basée sur une architecture différente.

Application courante: J&#039;utilise mon PC pour générer des programmes qui s&#039;éxecuteront sur une machine ayant de plus faibles ressources: ma raspeberry Pi.</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_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_composition?rev=1754250594&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-03T19:49:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask-sqlalchemy:relation_composition</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_composition?rev=1754250594&amp;do=diff</link>
        <description>dev python sql sqlalchemy relation

:TODO_DOCUPDATE:

Flask-SQLAlchemy : relation de composition

La relation de composition est une forme particulière de relation one-to-many. Le diagramme UML la représente comme ci-dessous :



	*  Une voiture (le composite) peut contenir un ou plusieurs sièges (les composants);</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/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>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/flask-sqlalchemy/afficher-les-requetes?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:extensions:flask-sqlalchemy:afficher-les-requetes</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/flask-sqlalchemy/afficher-les-requetes?rev=1756406120&amp;do=diff</link>
        <description>dev python sql sqlalchemy

Afficher les requêtes produites par l&#039;ORM SQLAlchemy

La variable de configuration SQLALCHEMY_ECHO

Lorsqu&#039;on utilise l&#039;extension Flask-SQLAlchemy, on peut afficher un retour des requêtes produites par l&#039;ORM sur la console en utilisant la variable de configuration</description>
    </item>
</rdf:RDF>
