<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.phobos-net.fr/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.phobos-net.fr/feed.php">
        <title>wikinotes</title>
        <description></description>
        <link>https://wiki.phobos-net.fr/</link>
        <image rdf:resource="https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-05-09T21:34:00+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/sphinx/introduction?rev=1740669954&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/python/core/type_chaines_de_caracteres?rev=1701508391&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/convertir_saut_de_ligne_en_espace?rev=1619374216&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/python/documentation_du_code?rev=1672788575&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/powershell/debogage_des_scripts?rev=1688464707&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/bonnes-pratiques?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-de-fichiers?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/uno/configurer-entrees-sorties?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/convertir_colonne_en_ligne?rev=1622208888&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/outils/crosstool?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/syntaxes-if?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/integration_aide?rev=1693178005&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/iot/esp8266/communication_serie_via_minicom?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/iot/esp8266/flash_firmware_esp_at_idf?rev=1612216289&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/python/jupyter-notebook/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/activer-contraintes-fk-sqlite-avec-flask-sqlachemy?rev=1756631453&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_agregation?rev=1753198299&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/android/definition-des-onclicklisteners?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/nouveau-projet-eclipse?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/bash/indirection?rev=1619377414&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/git/alias?rev=1761642728&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/difference?rev=1617012799&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/git/git_log_gestion_historique?rev=1695119856&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/html/favicon?rev=1731151907&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/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/outils/gcc?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/powershell/table_de_hachage?rev=1693052703&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/debogage?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/gestion-des-arguments?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/gestion-des-bibliotheques?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/pip?rev=1638106066&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/raspberry/serveur-audio?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/rust/installer_rust?rev=1726834538&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/android/android-studio/utilisation-de-git?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/frameworks/pyramid/templates?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/iot/esptools/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/lua/opentx/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/ncurses/exemples/ncurses-attron?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/listes?rev=1701270506&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/litteraux?rev=1685365314&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/architecture_projet_flask?rev=1775376548&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/definir_commande_cli?rev=1775393751&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/demarrer_application?rev=1753608365&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&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/selectionner_mot_apres_correspondance?rev=1623173507&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_one-to-many?rev=1754217789&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico">
        <title>wikinotes</title>
        <link>https://wiki.phobos-net.fr/</link>
        <url>https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-06T10:13:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:go:tutoriels:ecrire_un_module_en_go</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff</link>
        <description>dev module tutoriel go

Écrire un module en Go

Ce tutoriel propose de créer deux modules:

	*  Le premier sera une bibliothèque prévue pour être importée par d&#039;autres bibliothèques ou applications ;
	*  Le second est une application appelante utilisant le premier.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/sphinx/introduction?rev=1740669954&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-27T15:25:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:sphinx:introduction</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/sphinx/introduction?rev=1740669954&amp;do=diff</link>
        <description>dev python sphinx documentation

Sphinx : Générer de la documentation

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

	*  La documentation de référence du code (documentation des modules, classes et APIs);
	*  les tutoriaux (documentation à objectifs pédagogiques);</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/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/bash/convertir_saut_de_ligne_en_espace?rev=1619374216&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-25T18:10:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:convertir_saut_de_ligne_en_espace</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/convertir_saut_de_ligne_en_espace?rev=1619374216&amp;do=diff</link>
        <description>dev bash shell

Bash: Convertir les sauts de lignes en espaces

Pour passer de données saisies ligne par ligne à des données séparées par des espaces, on peut utiliser une combinaison des commandes cat et echo:

Le fichier data.txt contient des données saisies lignes par ligne:</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/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/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/powershell/debogage_des_scripts?rev=1688464707&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-04T09:58:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:debogage_des_scripts</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/debogage_des_scripts?rev=1688464707&amp;do=diff</link>
        <description>dev powershell debogage

PowerShell : Débogage des scripts

Généralités

Lorsque des erreurs se produisent, elles sont stockées dans le tableau $Error. Quand une nouvelle erreur est générée, elle est insérée à $Error[0], et l’index des autres erreurs est augmenté d’une unité.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/bonnes-pratiques?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:bonnes-pratiques</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/bonnes-pratiques?rev=1612216289&amp;do=diff</link>
        <description>Bonnes pratiques

Duck typing

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

Dans la majorité des cas il importe peu que l&#039;objet soit une instance d&#039;un type particulier, on cherche à savoir s&#039;il a le bon comportement. On privilégiera donc l&#039;emploie de</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-de-fichiers?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:manipulation-de-fichiers</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-de-fichiers?rev=1612216289&amp;do=diff</link>
        <description>dev python fichier file

Manipulation des fichiers en python

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

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

Écrire du texte dans un fichier

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

Python: introduction

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

Python a été conçu avec l&#039;objectif d&#039;être lisible, compréhensible faciitant son accès et les échanges de codes. Les choix de conceptions ont été guidés par pragmatisme et non par dogmatisme.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/uno/configurer-entrees-sorties?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:arduino:uno:configurer-entrees-sorties</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/uno/configurer-entrees-sorties?rev=1612216289&amp;do=diff</link>
        <description>dev port arduino

Configuration des entrées-sorties numériques

Les broches digitales du port parallèle de l&#039;Arduino peuvent être indépendamment configurées comme des entrées ou des sorties. C&#039;est la fonction pinMode() qui va permettre de configurer chaque ligne du port.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/convertir_colonne_en_ligne?rev=1622208888&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-28T13:34:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:convertir_colonne_en_ligne</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/convertir_colonne_en_ligne?rev=1622208888&amp;do=diff</link>
        <description>dev bash convertion column colonne row

Bash: convertir une colonne en ligne

On cherche à reformater des données présentées d&#039;une colonne vers une ligne.

echo

La commande echo lorsqu&#039;elle reçoit en argument une chaîne de caractères contenant des LF ne les interprète pas, elle peut donc être utilisée pour convertir des données présentées en colonne:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/outils/crosstool?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:outils:crosstool</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/outils/crosstool?rev=1612216289&amp;do=diff</link>
        <description>Crosstool

Crosstool est un outil libre écrit par Dan Kegel et placé sous licence GPLv2. Il regroupe un ensemble de scripts permettant de construire une chaine de compilation croisée. Plus complexe à prendre en main qu&#039;une chaine fournie sous forme de binaire telle que ELDK, crosstool apporte cependant plus de souplesse en s&#039;adaptant aux cibles les plus spécifiques, en permettant au developpeur de choisir les versions du compilateur, des bibliothèques et du noyau avec lesquels la chaine sera con…</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/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/iot/esp8266/communication_serie_via_minicom?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:iot:esp8266:communication_serie_via_minicom</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/iot/esp8266/communication_serie_via_minicom?rev=1612216289&amp;do=diff</link>
        <description>dev iot esp8266 serie minicom

Devkit v3 ESP8266: Communication série avec minicom

Identifier dans un premier temps le fichier périphérique auquel est associée la carte de développement (DevKit) lorsqu&#039;elle est connectée à l’hôte. Pour cela, brancher le DevKit ESP8266 sur le port USB et consulter les journaux système:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/iot/esp8266/flash_firmware_esp_at_idf?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:iot:esp8266:flash_firmware_esp_at_idf</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/iot/esp8266/flash_firmware_esp_at_idf?rev=1612216289&amp;do=diff</link>
        <description>dev iot esp8266 flash firmware at

ESP8266: flasher le firmware AT

Récupérer le firmware:


wget http://download.espressif.com/esp_at/firmware/ESP8266/ESP8266-IDF-AT_V2.1.0.0.zip
unzip ESP8266-IDF-AT_V2.1.0.0.zip



Modifier le fichier download.config, remplacer les retours à la ligne par des espaces.</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/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/flask/flask-sqlalchemy/activer-contraintes-fk-sqlite-avec-flask-sqlachemy?rev=1756631453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-31T09:10:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask-sqlalchemy:activer-contraintes-fk-sqlite-avec-flask-sqlachemy</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/activer-contraintes-fk-sqlite-avec-flask-sqlachemy?rev=1756631453&amp;do=diff</link>
        <description>dev python web flask sqlalchemy flas-sqlachemy

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

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

Problématique

Une contrainte de type</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/android/definition-des-onclicklisteners?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:definition-des-onclicklisteners</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/android/definition-des-onclicklisteners?rev=1612216289&amp;do=diff</link>
        <description>dev android listener ihm

Définition d&#039;un listener onClickListener

Plusieurs solutions existent:

	*  Définition en ligne de la classe, pour les actions contenant peu de code.
	*  Définition d&#039;un attribut privé dans la classe.
	*  Utilisation du fichier XML pour appeler une activité.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/nouveau-projet-eclipse?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:nouveau-projet-eclipse</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/nouveau-projet-eclipse?rev=1612216289&amp;do=diff</link>
        <description>Nouveau projet Arduino

Création d&#039;un nouveau projet Arduino sous l&#039;IDE Eclipse.

	*  Menu File -&gt; new -&gt; C++ Project
	*  Dans la section Project Type Sélectionner AVR Cross Target Application et Empty. Nommer le projet. Ici nous l&#039;appelons helloWorld.</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/bash/indirection?rev=1619377414&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-25T19:03:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:indirection</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/indirection?rev=1619377414&amp;do=diff</link>
        <description>dev bash shell

Bash: Accès par indirection

L&#039;accès à une valeur par indirection est possible en shell. Pour cela il faut procéder à deux substitutions de variable l’une après l’autre. Le détail de la substitution de variable est abordé dans le wiki etapes_de_substitution . Pour relancer une phase de substitution on utilisera la commande</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/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/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/difference?rev=1617012799&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-29T10:13:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:difference</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/difference?rev=1617012799&amp;do=diff</link>
        <description>dev git

Afficher les différences sous git

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

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

Utilisée sans argument, la commande compare l&#039;index (zone d&#039;assemblage pour le prochain commit) et le répertoire de travail. Si une divergence apparaît, la sortie de la commande git diff l&#039;affiche:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/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/html/favicon?rev=1731151907&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-09T11:31:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:html:favicon</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/html/favicon?rev=1731151907&amp;do=diff</link>
        <description>dev html web icon favicon

HTML : Ajout d&#039;un favinco

On définit le favicon associé au site dans le head. La norme HTML5 recommande de définir différentes tailles pour les favicons en utilisant les attributs rel=“icon” et sizes :


&lt;html&gt;
&lt;head&gt;
   &lt;link rel=&quot;icon&quot; type=&quot;image/png&quot; sizes=&quot;48x48&quot; href=&quot;/static/favicon-48x48.png&quot;&gt;
&lt;/head&gt;
...
&lt;/html&gt;</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/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/outils/gcc?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:outils:gcc</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/outils/gcc?rev=1612216289&amp;do=diff</link>
        <description>dev c compilation gcc

GCC

Initialement appelé Gnu C Compiler, il a été renommé Gnu Compiler Collection puisqu&#039;il permet de compiler divers langages tels que:

	*  C/C++
	*  Objective C
	*  Ada
	*  Java
	*  VHDL
	*  etc

Gnu Compiler Collection est l&#039;outil généraliste de compilation du projet GNU. Il s&#039;articule autour de plusieurs outils:</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/powershell/table_de_hachage?rev=1693052703&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-26T12:25:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:table_de_hachage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/table_de_hachage?rev=1693052703&amp;do=diff</link>
        <description>dev powershell

PowerShell : table de hachage

La table de hachage est proche du tableau à l&#039;usage : elle permet de stocker un ensemble d&#039;éléments. Cependant au lieu d&#039;accéder aux éléments par un index, on utilise une clé : une chaîne de caractère unique associée à la valeur.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/debogage?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:debogage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/debogage?rev=1612216289&amp;do=diff</link>
        <description>dev python debug debogage

Outils de débogage avec python

Outils d&#039;analyse statique

Analysent le script/module et détectent les anomalies

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

pyflakes

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

Python: Gestion des arguments d&#039;appel de script

Le module argparse fait partit de la bibliothèque standard python. Il contient tout ce qu&#039;il faut pour gérer les arguments passés au script via la ligne de commande. Il remplace l&#039;ancien module optparse</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/gestion-des-bibliotheques?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:gestion-des-bibliotheques</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/gestion-des-bibliotheques?rev=1612216289&amp;do=diff</link>
        <description>dev python paquetage bibliotheque package library

Gestion des bibliothèques avec pip

Les nombreuses bibliothèques Python sont centralisées et accessibles sur un dépôt en ligne répondant au doux nom de PyPI (Python Package Index). Les opérations de téléchargement, d&#039;installation, de mises à jour ou de suppression des bibliothèques se font via l&#039;outil</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/pip?rev=1638106066&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-28T13:27:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:pip</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/pip?rev=1638106066&amp;do=diff</link>
        <description>dev python pip

pip

pip est un outil de gestion des bibliothèques externes Python. Il permet:

	*  Installer les bibliothèques et les dépendances.
	*  Mettre à jour/downgrader les versions.
	*  Facilite le déploiement d&#039;une application en générant un listing des bibliothèques utilisées et leurs versions</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/raspberry/serveur-audio?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:serveur-audio</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/raspberry/serveur-audio?rev=1612216289&amp;do=diff</link>
        <description>Serveur de son

Utiliser le raspberry en tant que serveur de son grâce au serveur Pulseaudio. Le raspberry sera connecté à la chaine Hifi. Tous les postes du réseau pourront rediriger leurs flux audios sur le serveur pulseaudio du raspberry afin que le son soit joué sur la chaine.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/rust/installer_rust?rev=1726834538&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-20T12:15:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:rust:installer_rust</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/rust/installer_rust?rev=1726834538&amp;do=diff</link>
        <description>dev rust installation

Installer Rust

Installation sous Debian like

Rust s&#039;installe en espace utilisateur, la solution recommandée consiste à exécuter le script disponible en ligne.

Pour une machine sous GNU/Linux :


curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://sh.rustup.rs | sh</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/android/android-studio/utilisation-de-git?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:android-studio:utilisation-de-git</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/android/android-studio/utilisation-de-git?rev=1612216289&amp;do=diff</link>
        <description>dev android android-studio git

Utiliser Git sous Android Studio

Installation de Git

Le gestionnaire de révision doit être installé, le wiki démarrer avec Git détaille l&#039;installation et le paramétrage sous GNU/Linux.


$ sudo apt-get install git


Pour s&#039;assurer qu&#039; Android Studio s&#039;interface correctement avec git:</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/frameworks/pyramid/templates?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:frameworks:pyramid:templates</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/frameworks/pyramid/templates?rev=1612216289&amp;do=diff</link>
        <description>dev web pyramid template

templates avec pyramid

Pyramid peut s&#039;interfacer avec plusieurs moteurs de templates existants:

	*  Chameleon
	*  Jinja2
	*  Mako

Utiliser Chameleon

Dans l&#039;environnement virtuel python, installer le module pyramid_chameleon:


$ pip install pyramid_chameleon</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/iot/esptools/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:iot:esptools:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/iot/esptools/start?rev=1612216289&amp;do=diff</link>
        <description>dev esp esptool firmware flash iot

esptool: Flasher le firmware sur ESP

esptool est l&#039;outil en ligne de commande développé par Espressif permettant de flasher le firmware de son choix sur les microcontrôleurs de la gamme ESP:

	*  ESP8266
	*  ESP32

Installation

La version stable est disponible sur le gestionnaire de packetage Python pip. Créer un environnement virtuel Python:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/lua/opentx/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:lua:opentx:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/lua/opentx/start?rev=1612216289&amp;do=diff</link>
        <description>dev opentx lua

Lua sous OpenTX

OpenTX depuis la version 2.0 utilise les scripts Lua pour étendre ses fonctionnalités. L&#039;utilisateur peut écrire et tester les scripts via le simulateur puis les déposer sur la carte SD pour qu&#039;ils soient exécutes sur la radiocommande.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/ncurses/exemples/ncurses-attron?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:exemples:ncurses-attron</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/ncurses/exemples/ncurses-attron?rev=1612216289&amp;do=diff</link>
        <description>dev c ncurses attributs

Modification des attributs

Les attributs ncurses permettent de changer la mise en forme/couleur du texte le terminal.

Fichier source


#include &lt;stdlib.h&gt;
#include &lt;ncurses.h&gt;
#include &lt;string.h&gt;


int main(int argc, char* argv[])
{
        char msg[] = &quot;Bonjour les Attributs!&quot;;
        char msg_quit[] = &quot;Presser une touche pour quitter...&quot;;

        int mr, mc = 0; // mr pour max_row et mc pour max_column

        initscr();
        start_color();
        init_pair(1,…</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/litteraux?rev=1685365314&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T13:01:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:litteraux</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/litteraux?rev=1685365314&amp;do=diff</link>
        <description>dev python

Les littéraux

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

Pour les chaînes de caractères, le littéral est introduit par un préfixe (stringprefix) et encadré par des guillemets simples, doubles ou triples.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/architecture_projet_flask?rev=1775376548&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T08:09:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:architecture_projet_flask</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/architecture_projet_flask?rev=1775376548&amp;do=diff</link>
        <description>dev python flask web api

Flask

:TODO_DOCUPDATE:

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

Application monolithique

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

Flask : Définir une commande CLI

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

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


from flask import Flask

app = Flask(__name__)

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

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

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

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

Flask : routage

A propos des routes

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

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

Dans le second cas, on peut directement comprendre le sens de l&#039;action à la lecture de l&#039;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/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/python/flask/flask-sqlalchemy/relation_one-to-many?rev=1754217789&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-03T10:43:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask-sqlalchemy:relation_one-to-many</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_one-to-many?rev=1754217789&amp;do=diff</link>
        <description>dev python flask orm db sqlalchemy

:TODO_DOCUPDATE:

Flask-SQLAlchemy : relation one-to-many

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

Pour illustrer le concept on prend un exemple rudimentaire :


MCD via diagramme UML</description>
    </item>
</rdf:RDF>
