<?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-09T23:05:17+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_dictionnaire?rev=1701511791&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_chaines_de_caracteres?rev=1701508391&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/c-cpp/pointeurs?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/deplacer_les_fichier_caches?rev=1696704515&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/bash/exemples/verifier_permissions_via_stat?rev=1674031048&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/javascript/core/fondamentaux?rev=1728818667&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/warning_strtotime?rev=1636914222&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/templates?rev=1775801399&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/tests_unitaires_via_pytest?rev=1753628163&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/unittest/start?rev=1658346668&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/powershell/tableaux?rev=1687346188&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/callable?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/maths-fonction-polynome?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/pip?rev=1638106066&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/exemples/passage-a-niveau?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_mode_execution_interactif?rev=1674119325&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/python/core/listes?rev=1701270506&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/types_numeriques?rev=1701508457&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/start?rev=1612216289&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/flask/flask-sqlalchemy/relation_one-to-many?rev=1754217789&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/mesurer_consommation_energetique_app?rev=1659793638&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/joystick?rev=1659271663&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/port-serie?rev=1612216289&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/bash/debogage?rev=1669211307&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/generer_nombre_aleatoire?rev=1619346491&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/rechercher-chaine-dans-plusieurs-fichiers?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/checkout?rev=1635947212&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/depot-nu?rev=1695109338&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/difference?rev=1617012799&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/m4/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/ncurses/fenetres?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/fonction_et_module?rev=1692702838&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/integration_aide?rev=1693178005&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/annotations?rev=1672674892&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/caracteres-et-encodage?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/import?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-du-temps?rev=1671980764&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/occupation_memoire?rev=1626425932&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/pyflakes?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/rust/installer_rust?rev=1726834538&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/shields/encodeur-rotatif?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/uno/configurer-entrees-sorties?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_definition_variable?rev=1674053185&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/programmation-multitache?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/iot/esptools/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/modifier_temp_utilisateur?rev=1686703169&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/traitements_sur_chaines_de_caracteres?rev=1687290560&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/sequences?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/serialisation_json?rev=1732206470&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/tuples?rev=1701542132&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/tester_existance_fichier?rev=1729167885&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/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/flask_application_factory?rev=1753528543&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/extensions/authentification-utilisateur-via-flask-login?rev=1756406298&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/extensions/flask-sqlalchemy/afficher-les-requetes?rev=1756406120&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico">
        <title>wikinotes</title>
        <link>https://wiki.phobos-net.fr/</link>
        <url>https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/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/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_chaines_de_caracteres?rev=1701508391&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-02T09:13:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:type_chaines_de_caracteres</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/type_chaines_de_caracteres?rev=1701508391&amp;do=diff</link>
        <description>dev python caracteres

:TODO_DOCUPDATE:

Python: Les chaînes de caractères

En python caractère et chaîne de caractères sont des objets de type str. Les chaînes de caractères sont des objets immuables: une fois crées elles ne peuvent plus être modifiées. Les méthodes permettant d&#039;altérer les chaînes retournent donc un nouvel objet str.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/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/bash/deplacer_les_fichier_caches?rev=1696704515&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-07T18:48:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:deplacer_les_fichier_caches</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/deplacer_les_fichier_caches?rev=1696704515&amp;do=diff</link>
        <description>dev bash shell move deplacer

Déplacer les fichiers cachés avec mv

Lors de la phase de globbing, l’interpréteur remplace les métacaractères tels que * par les noms de fichiers. Par défaut ce développement n&#039;inclus pas les fichiers cachés :


# Le dossier courant contient 3 fichiers
# dont 1 est caché
tree -a .
.
├── fileA.txt
├── fileB.txt
└── .hidden_file.txt

0 directories, 3 files

# Afficher les valeurs après développement de &#039;*&#039;
echo *
fileA.txt fileB.txt</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/bash/exemples/verifier_permissions_via_stat?rev=1674031048&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-18T08:37:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:exemples:verifier_permissions_via_stat</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_permissions_via_stat?rev=1674031048&amp;do=diff</link>
        <description>bash exemple extrait guide how-to code snippet

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

Pour vérifier les permissions d&#039;accès d&#039;un fichier ou d&#039; un dossier depuis un script Bash, on peut utiliser la commande stat avec l&#039;option --format qui permet de retourner les droits d&#039;accès au fichier sous forme octale:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/javascript/core/fondamentaux?rev=1728818667&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-13T11:24:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:javascript:core:fondamentaux</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/javascript/core/fondamentaux?rev=1728818667&amp;do=diff</link>
        <description>dev javascript js code

:TODO_DOCUPDATE:

Javascript : Fondamentaux

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

Un script peut être introduit dans n&#039;importe quelle partie du document</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/warning_strtotime?rev=1636914222&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-14T18:23:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:php:erreurs:warning_strtotime</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/warning_strtotime?rev=1636914222&amp;do=diff</link>
        <description>dev php error warning

PHP: warning retourné par la fonction strtotime()

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


Error (Warning) strtotime(): It is not safe to rely on the system&#039;s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. W…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-03T14:40:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:module_et_paquetage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff</link>
        <description>dev python module package

:TODO_DOCUPDATE:

Python : module et package

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

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

	*  Un module écrit en Python ;
	*  Un module écrit en C et chargé dynamiquement comme le module</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/templates?rev=1775801399&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-10T06:09:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:templates</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/templates?rev=1775801399&amp;do=diff</link>
        <description>dev python flask templates jinja2

Flask : Utilisation des templates

Généralités

Grossièrement, le template est une page web à trous. Il contient des sections invariantes en HTML/javascript directement interprétables par le navigateur web et des sections dynamiques ou non remplies désignées</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/tests_unitaires_via_pytest?rev=1753628163&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-27T14:56:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:tests_unitaires_via_pytest</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/tests_unitaires_via_pytest?rev=1753628163&amp;do=diff</link>
        <description>dev python test pytest

:TODO_DOCUPDATE:

Flask : tests unitaires avec pytest

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

Nomenclature

Par défaut les tests sont regroupés dans le dossier ./tests du projet. Les tests sont des fonctions dont le nom commence par</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/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/powershell/tableaux?rev=1687346188&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-21T11:16:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:tableaux</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/tableaux?rev=1687346188&amp;do=diff</link>
        <description>dev powershell tableau array

PowerShell : Les tableaux

Les tableaux (Array) sont des variables permettant de stocker des valeurs de même type.

Créer une variable tableau


# Le type tableau est déterminé lors de l&#039;affectation
# Les éléments sont séparés par la virgule
$computers = &quot;NODE-ADC1&quot;,&quot;NODE-2F03&quot;,&quot;NODE-AA4E&quot;
$numbers = 33,806,10

# Un tableau a le type &#039;&#039;System.Array&#039;&#039; cette information
# est retournée par la méthode GetType()
# Créer un tableau d&#039;un seul élément en spécifiant le type…</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/callable?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:callable</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/callable?rev=1612216289&amp;do=diff</link>
        <description>dev python callable

Les Callables

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

	*  Les fonctions/méthodes natives ou built-in
	*  Les fonctions/méthodes définies par l&#039;utilisateur user-defined
	*  Toute instance dont la classe possède un méthode</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/maths-fonction-polynome?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:maths-fonction-polynome</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/maths-fonction-polynome?rev=1612216289&amp;do=diff</link>
        <description>Maths avec python

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

Installer les modules


$ sudo apt-get install python-numpy ipython</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/start?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/start?rev=1612216289&amp;do=diff</link>
        <description>dev python

Python: introduction

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

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

Arduino: Passage à niveau

Schéma du montage

Sketch

Ci-dessous le programme complet.



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

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

:TODO_DOCUPDATE:

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

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

Le script ~/.basrc utilise la valeur de cette variable pour déterminer si l&#039;exécution courante est interactive ou non et adapter son comportement.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/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/types_numeriques?rev=1701508457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-02T09:14:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:types_numeriques</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/types_numeriques?rev=1701508457&amp;do=diff</link>
        <description>dev python types

Python: Types numériques

Les types numériques en python comprennent:

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

Usages simples

Priorités

:TODO_DOCUPDATE:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/start?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:pygtk:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/pygtk/start?rev=1612216289&amp;do=diff</link>
        <description>du boot, pc rendu a Nathalie Barret. Pas de retour utilisateur. Fermeture ticket.

dev python ihm pygtk

IHM pour python avec PyGTK

Présentation générale de la conception d&#039;une application Python utilisant une IHM GTK

	*  Les classes Python modélisent les données métier et intègrent les traitements.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/flask/flask-sqlalchemy/relation_one-to-many?rev=1754217789&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-03T10:43:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask-sqlalchemy:relation_one-to-many</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_one-to-many?rev=1754217789&amp;do=diff</link>
        <description>dev python flask orm db sqlalchemy

:TODO_DOCUPDATE:

Flask-SQLAlchemy : relation one-to-many

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

Pour illustrer le concept on prend un exemple rudimentaire :


MCD via diagramme UML</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/mesurer_consommation_energetique_app?rev=1659793638&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-08-06T13:47:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:mesurer_consommation_energetique_app</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/mesurer_consommation_energetique_app?rev=1659793638&amp;do=diff</link>
        <description>dev software energie

Mesurer la consommation énergétique d&#039;une application

Dans tous les domaines, on a aujourd&#039;hui conscience que les ressources ne sont pas illimités. Tout processus ou application consomme de  l’énergie électrique, il est possible de quantifier en partie cette consommation.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/joystick?rev=1659271663&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-31T12:47:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:arduino:joystick</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/joystick?rev=1659271663&amp;do=diff</link>
        <description>dev arduino joystick usb hid

Arduino: Joystick

Il est possible de modifier le firmware de la puce de communication FTDI présente sur la carte Arduino pour qu&#039;elle soit reconnue comme un périphérique USB HID de type joystick. C&#039;est ce que permet de faire le projet UnoJoy d&#039; Alan Chatham.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/port-serie?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:arduino:port-serie</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/port-serie?rev=1612216289&amp;do=diff</link>
        <description>dev arduino serie

Port série avec Arduino

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

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

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

Pour limiter la valeur maximum de l&#039;intervalle entre [0-N] avec N &lt; 32767, on peut utiliser l&#039;opérateur modulo. Lorsqu&#039;on divise un nombre par N, le reste de la division est toujours compris entre [0-(N-1)]. Le reste est disponible via l&#039;opérateur modulo.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/rechercher-chaine-dans-plusieurs-fichiers?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:rechercher-chaine-dans-plusieurs-fichiers</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/rechercher-chaine-dans-plusieurs-fichiers?rev=1612216289&amp;do=diff</link>
        <description>sysadmin dev script bash recherche

Rechercher une chaîne dans un ensemble de fichiers

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

Git : checkout

Par défaut l&#039;opération checkout est non destructive, elle n&#039;écrase pas les modifications non validées (via commit).

Si l&#039;on ne souhaite pas retenir les dernières modifications non validées et retourner dans l&#039;état exact du commit ciblé, on peut utiliser le paramètre</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/depot-nu?rev=1695109338&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-09-19T07:42:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:depot-nu</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/depot-nu?rev=1695109338&amp;do=diff</link>
        <description>dev git

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

Un dépôt nu ou bare repository est un dépôt sans répertoire de travail. Il sert simplement à faciliter le travail collaboratif en centralisant les révisions. Chaque développeur clone le dépôt nu présent sur un serveur accessible à tous. Il apporte ses modifications, puis une fois son travail terminé et ordonné sur son instance locale, il peut pousser (commande</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/difference?rev=1617012799&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-29T10:13:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:difference</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/difference?rev=1617012799&amp;do=diff</link>
        <description>dev git

Afficher les différences sous git

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

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

Utilisée sans argument, la commande compare l&#039;index (zone d&#039;assemblage pour le prochain commit) et le répertoire de travail. Si une divergence apparaît, la sortie de la commande git diff l&#039;affiche:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/m4/start?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:m4:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/m4/start?rev=1612216289&amp;do=diff</link>
        <description>dev macros m4 todo

M4

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

	*  d&#039;inclure des fichiers,</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/ncurses/fenetres?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:ncurses:fenetres</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/ncurses/fenetres?rev=1612216289&amp;do=diff</link>
        <description>ncurses windows fenetres

Les fenêtres avec ncurses

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

Les fenêtres sont crées via l&#039;appel de la fonction</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/fonction_et_module?rev=1692702838&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-22T11:13:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:fonction_et_module</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/fonction_et_module?rev=1692702838&amp;do=diff</link>
        <description>dev powershell fonction

PowerShell : Fonctions et modules

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

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

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

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

La cmdlet Get-Help peut extraire les commentaires présents dans les scripts (module et les fonctions) et générer / mettre en forme l&#039;aide. La documentation officielle désigne cela par aide basée sur les commentaires</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/annotations?rev=1672674892&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-02T15:54:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:annotations</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/annotations?rev=1672674892&amp;do=diff</link>
        <description>dev python

Python: Annotations de type

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

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

Jeux de caractères et encodage avec python

Le PEP 263 détaille les problématiques liées à l&#039;encodage de caractères en Python et la directive coding.

Encodage par défaut

Il est possible de récupérer l&#039;encodage par défaut utilisé par le système courant via le module</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/import?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:import</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/import?rev=1612216289&amp;do=diff</link>
        <description>dev python import module

Import en python

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


import sys



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


Pour Python:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-du-temps?rev=1671980764&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-25T15:06:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:manipulation-du-temps</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/manipulation-du-temps?rev=1671980764&amp;do=diff</link>
        <description>dev python temps date

Manipulation du temps en python

Plusieurs modules permettent de manipuler le temps en Python:

	*  datetime
	*  time
	*  calendar

Module time


import time
help(time)


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


now = time.gmtime()
type(now)
  time.struct_time
print(now)
  time.struct_time(tm_year=2018, tm_mon=5, tm_mday=1, tm_hour=9, tm_min=10, tm_sec=35, tm_wday=1, tm_yday=121, tm_isdst=0)</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/occupation_memoire?rev=1626425932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-16T08:58:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:occupation_memoire</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/occupation_memoire?rev=1626425932&amp;do=diff</link>
        <description>dev python empreinte memoire

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

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


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

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

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

&gt;&gt;&gt; sys.getsizeof(t1)                                   …</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/pyflakes?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:pyflakes</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/pyflakes?rev=1612216289&amp;do=diff</link>
        <description>pyflakes

Installation


$ pip install --upgrade pyflakes


Utilisation

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


$ pyflakes ./mon-script.py</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/arduino/shields/encodeur-rotatif?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:arduino:shields:encodeur-rotatif</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/shields/encodeur-rotatif?rev=1612216289&amp;do=diff</link>
        <description>electronique shield arduino

Encodeur rotatif Snootlab

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

Le fonctionnement correct du shield repose sur l&#039;activation et la gestion des interruptions. Le fichier</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/exemples/verifier_definition_variable?rev=1674053185&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-18T14:46:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:exemples:verifier_definition_variable</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_definition_variable?rev=1674053185&amp;do=diff</link>
        <description>dev bash variable code snippet exemple guide howto

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

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


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

# Équivalent avec l&#039;alias typeset
typeset -p MAVAR &amp;&gt; /dev/null</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/programmation-multitache?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:esp:esp32:programmation-multitache</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/esp/esp32/programmation-multitache?rev=1612216289&amp;do=diff</link>
        <description>dev esp esp32 todo

Programmation multitâche avec l&#039;ESP32

L&#039;ESP32 2 coeurs

cores/esp32/main.cpp

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

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

	*  Créer une fonction
	*  Utiliser la fonction xTaskCreatePinnedToCore() pour l&#039;attacher au cœur choisit.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/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/powershell/exemples/modifier_temp_utilisateur?rev=1686703169&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-14T00:39:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:exemples:modifier_temp_utilisateur</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/modifier_temp_utilisateur?rev=1686703169&amp;do=diff</link>
        <description>dev powershell windows

PowerShell : Modifier le dossier temp de l&#039;utilisateur

Les variables d’environnement TEMP et TMP définissent les chemins des dossiers stockant les fichiers temporaires. Il peut être intéressant de redéfinir ces dossiers par défaut notamment pour limiter l&#039;écriture sur des disques SSD en stockant plutôt les temporaires dans un RAM Disk.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/traitements_sur_chaines_de_caracteres?rev=1687290560&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-20T19:49:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:exemples:traitements_sur_chaines_de_caracteres</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/traitements_sur_chaines_de_caracteres?rev=1687290560&amp;do=diff</link>
        <description>dev powershell string

:TODO:

PowerShell : Traitement sur chaînes de caractères

Une chaine de caractère à une longueur :


$aStr = &quot;Ma chaine.&quot;
$aStr.Length
10



# Enregistre la saisie de l&#039;utilisateur convertie en minuscules
 $userFirstName = [System.String] (Read-Host -Prompt &quot;Saisissez votre prénom&quot;).ToLower()</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/sequences?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:sequences</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/sequences?rev=1612216289&amp;do=diff</link>
        <description>dev python todo

Python: Les séquences

Les séquences regroupent un ensemble de types notamment:

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

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

:TODO_DOCUPDATE:

Sérialiser un type(classe) quelconque en JSON

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

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

:TODO_DOCUPDATE:

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


from pathlib import Path

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

# Retourne True si le fichier existe
aPath.exists()</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/flask_application_factory?rev=1753528543&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-26T11:15:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask_application_factory</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_application_factory?rev=1753528543&amp;do=diff</link>
        <description>dev python web flask

Flask : Usage de la fonction create_app

La création de l&#039;application Flask peut se faire de plusieurs manières. L&#039;utilisation de l&#039;application factory est l&#039;approche recommandée pour les projets qui gagent en envergure. Elle permet de concevoir une application plus facilement extensible et maintenable.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/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/extensions/authentification-utilisateur-via-flask-login?rev=1756406298&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-28T18:38:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:extensions:authentification-utilisateur-via-flask-login</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/authentification-utilisateur-via-flask-login?rev=1756406298&amp;do=diff</link>
        <description>dev python flask authentification

:TODO:

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

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


pip install Flask-Login


Création d&#039;un Blueprint

On va s&#039;appuyer sur le système de Blueprint de Flask afin de pouvoir regrouper les ressources et fonctionnalités liées à l&#039;authentification. De cette manière les templates, routes, modèles, formulaires etc peuvent être regroupés au sein d&#039;un package Python puis fa…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/extensions/flask-sqlalchemy/afficher-les-requetes?rev=1756406120&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-28T18:35:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:extensions:flask-sqlalchemy:afficher-les-requetes</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/flask-sqlalchemy/afficher-les-requetes?rev=1756406120&amp;do=diff</link>
        <description>dev python sql sqlalchemy

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

La variable de configuration SQLALCHEMY_ECHO

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