<?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:57+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/javascript/core/fondamentaux?rev=1728818667&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/modifier-commit?rev=1643150858&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/core/type_booleen?rev=1701422851&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/configurer-eclipse?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arm/distribution-linux-minimale?rev=1612216289&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/c-cpp/profilage-code?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/powershell/structures_de_controle?rev=1687522079&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/raspberry/install-debian?rev=1776249503&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/git/cas-pratiques/annuler-dernier-commit?rev=1635764331&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/tuples?rev=1701542132&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/android/generation-des-logs?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/android/installer-android-studio?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/icsp-et-bootloader?rev=1612216289&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/recommandations?rev=1612216289&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/generer-archive?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/powershell/integration_aide?rev=1693178005&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/bonnes-pratiques?rev=1612216289&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/executer_commande_systeme?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-de-fichiers?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/operateur-etoile?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/operation-modulo?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/python/py-yamal?rev=1639521971&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/raspberry/serveur-audio?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/uno/entrees-analogiques?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/frameworks/pyramid/routage?rev=1612216289&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/git/cas-pratiques/modifier_dernier_commit?rev=1693069607&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/iot/esp8266/flasher_firmware_espressif?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/undefined-function-dl?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/convention_nommage_variables?rev=1753097887&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/exceptions?rev=1729182573&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/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/type_dictionnaire?rev=1701511791&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/variables_environnement?rev=1753023789&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/architecture_projet_flask?rev=1775376548&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/demarrer_application?rev=1753608365&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_formulaires_wtforms?rev=1775989580&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/telechargement_de_fichier?rev=1730838981&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/sphinx/introduction?rev=1740669954&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/unittest/start?rev=1658346668&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/c-cpp/tests-unitaires/cunit/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/flask_migrate?rev=1757509654&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/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_many-to-many?rev=1754432187&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/frameworks/flask/integrer-documentation-sphinx-dans-application-flask?rev=1759660420&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/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/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-06T10:13:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:go:tutoriels:ecrire_un_module_en_go</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff</link>
        <description>dev module tutoriel go

Écrire un module en Go

Ce tutoriel propose de créer deux modules:

	*  Le premier sera une bibliothèque prévue pour être importée par d&#039;autres bibliothèques ou applications ;
	*  Le second est une application appelante utilisant le premier.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-03T14:40:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:module_et_paquetage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff</link>
        <description>dev python module package

:TODO_DOCUPDATE:

Python : module et package

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

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

	*  Un module écrit en Python ;
	*  Un module écrit en C et chargé dynamiquement comme le module</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/git/modifier-commit?rev=1643150858&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-25T22:47:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:modifier-commit</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/modifier-commit?rev=1643150858&amp;do=diff</link>
        <description>dev git

Modifier un commit

Modifications sur le dernier commit

Un cas fréquent: Le commit a été fait mais on se rend compte rapidement qu&#039;il manque un ou plusieurs fichiers ou que la description du commit comporte des erreurs. Il suffit de placer les fichiers dans la zone d&#039;index ou de mettre à jour l&#039;index comme désiré et d&#039;entrer la commande</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/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/arduino/configurer-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:configurer-eclipse</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/configurer-eclipse?rev=1612216289&amp;do=diff</link>
        <description>Développer pour Arduino sous Eclipse

Paramétrage et configuration de l&#039;EDI Eclipse pour développement (cross compilation) sur plateforme Arduino.

Installer IDE Arduino

L&#039;IDE Arduino inclus les outils et les fichiers headers qui seront utilisés par la suite par l&#039;IDE Eclipse.
Recuperer l&#039;archive et decompresser l&#039;IDE Arduino. Dans mon cas l&#039;IDe Arduino est installer au noeud:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arm/distribution-linux-minimale?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:arm:distribution-linux-minimale</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arm/distribution-linux-minimale?rev=1612216289&amp;do=diff</link>
        <description>Construction d&#039;une distribution Linux minimale

Nous cherchons ici a construire une distribution GNU/Linux minimale pour une platerforme ARM9 (Versatile). Ce type de plateforme est bien connue, cela nous permettra de l&#039;émuler facilement.

Une distribution GNU/Linux minimale s&#039;articule autour:</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/c-cpp/profilage-code?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:c-cpp:profilage-code</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/c-cpp/profilage-code?rev=1612216289&amp;do=diff</link>
        <description>dev c cpp profilage

Profilage du code avec grpof

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

Dans quels cas optimiser?

	*  Si le programme est instable
	*  Si le programme apparaît comme trop lent
	*  pour la beauté du geste, la compréhension, la curiosité</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/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/raspberry/install-debian?rev=1776249503&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-15T10:38:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:raspberry:install-debian</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/raspberry/install-debian?rev=1776249503&amp;do=diff</link>
        <description>raspberry pi raspbian

:ARCHIVE:

Raspbian
RaspbianRaspberry Pi OSRaspberry Pi Imager

Une version de Debian compilée pour le Raspberry Pi est disponible sur le site officiel. L&#039;image peut être téléchargée à cette adresse: &lt;http://www.raspberrypi.org/downloads&gt;

L&#039;installation se fait simplement par copie de l&#039;image du système sur la carte SD.</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/git/cas-pratiques/annuler-dernier-commit?rev=1635764331&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-01T10:58:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:cas-pratiques:annuler-dernier-commit</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/cas-pratiques/annuler-dernier-commit?rev=1635764331&amp;do=diff</link>
        <description>git dev annuler commit

Annuler le dernier commit
git revert

Le cas peut se présenter lorsque on se rend compte que le commit a été fait sur la mauvaise branche. On souhaite l&#039;annuler. Si le commit n&#039;a pas été propagé, il peut être annulé sans problème via la commande:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/tuples?rev=1701542132&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-02T18:35:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:tuples</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/tuples?rev=1701542132&amp;do=diff</link>
        <description>dev python

Python: le type tuple

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

	*  Accéder aux éléments avec l’opérateur d&#039;indexation</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-10T08:22:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:routage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&amp;do=diff</link>
        <description>dev python flask routes

Flask : routage

A propos des routes

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

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

Dans le second cas, on peut directement comprendre le sens de l&#039;action à la lecture de l&#039;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/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/android/installer-android-studio?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:installer-android-studio</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/android/installer-android-studio?rev=1612216289&amp;do=diff</link>
        <description>dev android ide

Installer Android Studio

prérequis

Les prérequis sont listés pour chaque sur la page de téléchargement de l&#039;IDE &lt;https://developer.android.com/studio/?utm_source=android-studio&gt; dans la section “System requirements”. Dans le cas de GNU/Linux, pour la version 3.4 d&#039;android Studio:

	*  GNOME or KDE desktop (Tested on Ubuntu® 14.04 LTS, Trusty Tahr (64-bit distribution capable of running 32-bit applications)</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/icsp-et-bootloader?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:icsp-et-bootloader</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/icsp-et-bootloader?rev=1612216289&amp;do=diff</link>
        <description>dev arduino isp icsp todo

ICSP et Bootloader

Dans le cas d&#039;utilisation classique, on connecte Arduino via le bus USB qui émule une liaison série. Le microcontrôleur est déjà assez intelligent pour détecter 

bootloader
Quelque chose sur port série?
si code je le range ou il faut</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/recommandations?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:recommandations</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/recommandations?rev=1612216289&amp;do=diff</link>
        <description>dev shell bash

Recommandations

Quelques conseils pour l&#039;écriture de scripts shell.

	*  Nom du script sans espace ou méta-caractères
	*  Le shabang en début de script pour spécifier l’interpréteur.
	*  Commenter abondamment, créer un cartouche avec une description.</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/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/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/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/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/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/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/executer_commande_systeme?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:executer_commande_systeme</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/executer_commande_systeme?rev=1612216289&amp;do=diff</link>
        <description>dev python command sysadmin

Python: Invoquer une commande

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


from os import system as run_command

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

# res sauvegarde la valeur de retour de la commande 
res = run_command(cmd)</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-de-fichiers?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:manipulation-de-fichiers</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-de-fichiers?rev=1612216289&amp;do=diff</link>
        <description>dev python fichier file

Manipulation des fichiers en python

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

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

Écrire du texte dans un fichier

Pour lire et écrire du texte dans les fichiers, il faut spécifier correctement l&#039;encodage. L&#039;objet fichier est créé avec la fonction built-in open(), il se chargera d&#039;encoder/décoder les caractères en fonction de l&#039;encodage choisit:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/operation-modulo?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:operation-modulo</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/operation-modulo?rev=1612216289&amp;do=diff</link>
        <description>dev python modulo

Python: opération modulo

L&#039;opération modulo est une opération binaire qui associe à deux entiers naturels le reste de la division euclidienne du premier par le second.

a,b E N et b &lt;&gt; 0. En python:


a mod b = a%b


Cas des entiers relatifs

Selon les langages, le résultat de l&#039;opération modulo appliquée aux entiers relatifs n&#039;est pas identique. Python respecte la définition mathématique de l&#039;opération:</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/python/py-yamal?rev=1639521971&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-14T22:46:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:py-yamal</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/py-yamal?rev=1639521971&amp;do=diff</link>
        <description>dev python yaml

pyYAML

La bibliothèque pyYAML permet d&#039;utiliser le formalise YAML dans les applications Python.

Installation

pip3


# Crééer/activer l&#039;environnement virtuel
source &quot;./env/bin/activate&quot;

# Installer le module via pip
pip3 install pyyaml


tarball</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/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/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/uno/entrees-analogiques?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:arduino:uno:entrees-analogiques</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/uno/entrees-analogiques?rev=1612216289&amp;do=diff</link>
        <description>hardware arduino

Entrées analogiques

ATmega 328 possède 5 entrées analogiques broches A0 à A4. Le CAN a une résolution de 10 bits, il convertit une tension analogique en une valeur numérique, un nombre entre 0-1023 codé sur un entier (int) en environ 100 us. Comme l&#039;ATmega 328 est cadencé à 16</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/frameworks/pyramid/routage?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:routage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/frameworks/pyramid/routage?rev=1612216289&amp;do=diff</link>
        <description>dev framework pyramid route

Routage avec Pyramid

Deux principales techno pour le routage

	*  URLDispatch
	*  Traversal

URLdispatch

A une route on associe un ou plusieurs motifs intégrant des parties constantes (chaînes littérales) et des variables (marqueurs). Lorsqu&#039;il y a correspondance entre l&#039;</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/git/cas-pratiques/modifier_dernier_commit?rev=1693069607&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-26T17:06:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:cas-pratiques:modifier_dernier_commit</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/cas-pratiques/modifier_dernier_commit?rev=1693069607&amp;do=diff</link>
        <description>dev git

Git : Modifier le dernier commit

Git a prévu une commande pour facilement rectifier le dernier commit:


$ git commit --amend 


Elle permet de combiner les changement dans la zone d&#039;assemblage avec ceux du dernier commit: ce résultat remplace complètement le dernier commit.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/iot/esp8266/flasher_firmware_espressif?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:flasher_firmware_espressif</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/iot/esp8266/flasher_firmware_espressif?rev=1612216289&amp;do=diff</link>
        <description>dev esp8266 devkit flash firmware

DevKit ESP8266: Flasher firmware Espressif

Les firmwares pré-compilés par Espressif sont disponibles sur la page du constructeur:

	*  &lt;https://www.espressif.com/en/products/socs/esp8266ex/resources&gt;

	*  Télécharger et décompresser la version souhaitée. Ici on récupère ESP8266 NonOS AT Bin V1.7.4.
	*  Brancher la carte (Devkit) sur un port USB, et relever le nom du port dans les journaux système:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/undefined-function-dl?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:php:erreurs:undefined-function-dl</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/undefined-function-dl?rev=1612216289&amp;do=diff</link>
        <description>dev php php7 erreur debug todo

Php7: Fonction dl() indéfinie

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

Le message d&#039;erreur obtenu:


Fatal error: Uncaught Error: Call to undefined function dl() in /srv/opencourrier/web/php/pear/DB.php:710</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/convention_nommage_variables?rev=1753097887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-21T11:38:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:convention_nommage_variables</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/convention_nommage_variables?rev=1753097887&amp;do=diff</link>
        <description>dev python variable nommage nomenclature

:TODO_DOCUPDATE:

Python : variables et conventions de nommage

Syntaxe

En python les variables ne peuvent pas commencer par un chiffre, ne doivent pas contenir d&#039;espaces ou de caractères spéciaux. Le nom d&#039;une variable ne doit pas être identique aux mots réservés du langage :</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/exceptions?rev=1729182573&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-17T16:29:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:exceptions</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/exceptions?rev=1729182573&amp;do=diff</link>
        <description>dev python exceptions

Python: les exceptions

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

Python : Gestion des variables d&#039;environnement

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

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

Flask

:TODO_DOCUPDATE:

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

Application monolithique

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

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

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

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

:TODO_DOCUPDATE:

Flask : Créer des formulaires via Flask-WTF

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

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

Flask : Upload/Download de fichiers

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

Sphinx : Générer de la documentation

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

	*  La documentation de référence du code (documentation des modules, classes et APIs);
	*  les tutoriaux (documentation à objectifs pédagogiques);</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/unittest/start?rev=1658346668&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-20T19:51:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:unittest:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/unittest/start?rev=1658346668&amp;do=diff</link>
        <description>dev python test unittest

Tests unitaires en python avec unittest

Généralités

unittest est un framework de test unitaires, c&#039;est une implémentation Python des frameworks de type xUnit inspirés de SUnit(Smalltalk&#039;s SUnit), conçu par Kent Beck in 1998 pour le langage orienté objet Smalltalk.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/python/flask/extensions/flask_migrate?rev=1757509654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-10T13:07:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:extensions:flask_migrate</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/flask_migrate?rev=1757509654&amp;do=diff</link>
        <description>dev python flask extension db migrate migration

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

Présentation

Flask-Migrate s&#039;appuie sur Alembic pour gérer les migrations de la base de données gérée par l&#039;ORM (SQLAlchemy). Ainsi le modèle de données définit dans l&#039;application Flask peut être amendé/corrigé, c&#039;est l&#039;extension Flask-Migrate qui se chargera de créer les script de migrations capables de modifier le schéma de la base de données préexistante pour que le nouveau modèle de…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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_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/frameworks/flask/integrer-documentation-sphinx-dans-application-flask?rev=1759660420&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-05T10:33:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:frameworks:flask:integrer-documentation-sphinx-dans-application-flask</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/frameworks/flask/integrer-documentation-sphinx-dans-application-flask?rev=1759660420&amp;do=diff</link>
        <description>dev python framework sphinx flask documentation

Intégrer une documentation générée par Sphinx à l&#039;application Flask

:TODO:

Sphinx permet de générer de la documentation dans différents formats. Ici on souhaite produire de la documentation au format HTML et la servir via l&#039;application Flask.

Pour que Flask soit en mesure de servir les fichiers, on configurera Sphinx pour qu&#039;il génère les fichiers de documentation dans un sous-répertoire du dossier</description>
    </item>
</rdf:RDF>
