<?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-06-07T00:18:58+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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/core/type_chaines_de_caracteres?rev=1701508391&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/tuples?rev=1701542132&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_dictionnaire?rev=1701511791&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_agregation?rev=1753198299&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/structures_de_controle?rev=1687522079&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/tables_de_hash?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_ensemble?rev=1701334991&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/regex/exemples/selectionner_mot_apres_correspondance?rev=1623173507&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/activer-contraintes-fk-sqlite-avec-flask-sqlachemy?rev=1756631453&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/convertir_colonne_en_ligne?rev=1622208888&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/start?rev=1695128712&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/flask/flask-sqlalchemy/relation_composition?rev=1754250594&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/outils/crosstool?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/caracteres-et-encodage?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/start?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/exemples/verifier_mode_execution_interactif?rev=1674119325&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/deprecated-constructor?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/undefined-function-dl?rev=1612216289&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/sequences?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/structures_de_controle?rev=1753634674&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/lister_fichiers?rev=1728925602&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_ajax_jquery?rev=1740431569&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/routage?rev=1775809342&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/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/relation_many-to-many?rev=1754432187&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/yaml?rev=1640083372&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/arduino/joystick?rev=1659271663&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/arguments_et_options_de_script?rev=1676049820&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/autocompletion_des_arguments?rev=1674648383&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/rechercher-chaine-dans-plusieurs-fichiers?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/redirection_stdin_stdout_stderr?rev=1674134635&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/bash/structure-case?rev=1676626932&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/git/depot-nu?rev=1695109338&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/outils/gcc?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/debogage?rev=1751211477&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/charger_donnees_depuis_fichier?rev=1688052416&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/parametres?rev=1693165821&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/annotations?rev=1672674892&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/callable?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/documentation_du_code?rev=1672788575&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/environnement_virtuel_avec_git?rev=1753090397&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/generer-chaine-aleatoire?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/operateur-etoile?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/pip?rev=1638106066&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/type-dictionnaire?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/web/image-interactive?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/arduino/capteurs/temperature-ds18b20?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/frameworks/pyramid/presentation?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/cannot-re-assign-auto-global?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/undefined-function-mb_strtolower?rev=1612216289&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/verifier_empreinte_fichier?rev=1689864827&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/classe_abstraite?rev=1775554309&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/echappement_accolades_f-strings?rev=1670977171&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/mots_cles?rev=1753633859&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_none?rev=1728980341&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/core/types_numeriques?rev=1701508457&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/modifier_fichier_docx?rev=1728943531&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_sqlalchemy?rev=1756406120&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/charger_fichier_csv?rev=1619185181&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/generer_graphique_matplotlib?rev=1619192222&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/sphinx/reutiliser-des-variables-du-fichier-conf?rev=1759652835&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/unittest/start?rev=1658346668&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/exemples/redirections?rev=1775538587&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/notes?rev=1775392258&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico">
        <title>wikinotes</title>
        <link>https://wiki.phobos-net.fr/</link>
        <url>https://wiki.phobos-net.fr/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/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/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/tuples?rev=1701542132&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-02T18:35:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:tuples</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/tuples?rev=1701542132&amp;do=diff</link>
        <description>dev python

Python: le type tuple

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

	*  Accéder aux éléments avec l’opérateur d&#039;indexation</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-03T14:40:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:module_et_paquetage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/module_et_paquetage?rev=1730644855&amp;do=diff</link>
        <description>dev python module package

:TODO_DOCUPDATE:

Python : module et package

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

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

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

Python: le type dictionnaire

Les dictionnaires sont des tables de hash, la principale caractéristique de cette structure de données est que les opérations (telles que l&#039;insertion ou le test d&#039;appartenance) sont indépendantes du nombre d&#039; éléments.

	*  Les dictionnaires sont des objets mutables, ils peuvent être modifiés en place.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_agregation?rev=1753198299&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-22T15:31:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask-sqlalchemy:relation_agregation</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_agregation?rev=1753198299&amp;do=diff</link>
        <description>dev python sql sqlalchemy relation

Flask-SQLAlchemy : Définir une relation d&#039;agrégation

La relation d&#039;agrégation est une forme particulière de relation one-to-many. C&#039;est une composition sans appartenance : la suppression d&#039;une instance de la classe regroupant les agrégats n&#039;entraine pas la suppression des agrégats.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/structures_de_controle?rev=1687522079&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-23T12:07:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:structures_de_controle</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/structures_de_controle?rev=1687522079&amp;do=diff</link>
        <description>dev powershell

PowerShell : Les structures de contrôle

Les boucles

ForEach

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


ForEach ($user in $users) {
     Set-ADUser $user -Department &quot;Marketing&quot;
}</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/tables_de_hash?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:tables_de_hash</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/tables_de_hash?rev=1612216289&amp;do=diff</link>
        <description>cour python

Python: Les tables de hash

Les tables de hash sont des structures de données particulières permettant de répondre à certaines limitations des types séquence tels que les chaînes de caractères, les listes ou tuples. Python propose deux implémentations des tables de hash: les dictionnaires et les sets (ensembles).</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_ensemble?rev=1701334991&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-30T09:03:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:type_ensemble</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/type_ensemble?rev=1701334991&amp;do=diff</link>
        <description>dev python set ensemble

Python: les ensembles ou sets

Les sets ou ensembles sont très proches des dictionnaires. Ils sont mutables mais à la différence des dictionnaires les sets ne stockent que des clés mais pas de valeurs.
Le set a été créé et optimisé pour des opérations spécifiques.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/regex/exemples/selectionner_mot_apres_correspondance?rev=1623173507&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-06-08T17:31:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:regex:exemples:selectionner_mot_apres_correspondance</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/regex/exemples/selectionner_mot_apres_correspondance?rev=1623173507&amp;do=diff</link>
        <description>dev regex

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

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


un  8 18:19:02 node-7c87 kernel: [34684.553602] [UFW BLOCK] IN=enp0s31f6 OUT= MAC=84:2a:fd:56:7c:87:00:50:56:bf:87:1b:08:00 SRC=192.9.200.231 DST=192.9.200.14 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=22420 DF PROTO=TCP SPT=64327 DPT=21 WINDOW=8192 RES=0x…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/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/bash/convertir_colonne_en_ligne?rev=1622208888&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-28T13:34:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:convertir_colonne_en_ligne</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/convertir_colonne_en_ligne?rev=1622208888&amp;do=diff</link>
        <description>dev bash convertion column colonne row

Bash: convertir une colonne en ligne

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

echo

La commande echo lorsqu&#039;elle reçoit en argument une chaîne de caractères contenant des LF ne les interprète pas, elle peut donc être utilisée pour convertir des données présentées en colonne:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/start?rev=1695128712&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-09-19T13:05:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:git:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/git/start?rev=1695128712&amp;do=diff</link>
        <description>git dev

Git

Git est un outil de suivi de version ou gestionnaire de révisions. Contrairement à certains outils centralisés du même type comme svn, Git est distribué, ce  qui le rend très réactif, plus didactique car aucun serveur n&#039;est nécessaire pour apprendre à travailler avec Git.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/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/flask/flask-sqlalchemy/relation_composition?rev=1754250594&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-03T19:49:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask-sqlalchemy:relation_composition</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask-sqlalchemy/relation_composition?rev=1754250594&amp;do=diff</link>
        <description>dev python sql sqlalchemy relation

:TODO_DOCUPDATE:

Flask-SQLAlchemy : relation de composition

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



	*  Une voiture (le composite) peut contenir un ou plusieurs sièges (les composants);</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/outils/crosstool?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:outils:crosstool</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/outils/crosstool?rev=1612216289&amp;do=diff</link>
        <description>Crosstool

Crosstool est un outil libre écrit par Dan Kegel et placé sous licence GPLv2. Il regroupe un ensemble de scripts permettant de construire une chaine de compilation croisée. Plus complexe à prendre en main qu&#039;une chaine fournie sous forme de binaire telle que ELDK, crosstool apporte cependant plus de souplesse en s&#039;adaptant aux cibles les plus spécifiques, en permettant au developpeur de choisir les versions du compilateur, des bibliothèques et du noyau avec lesquels la chaine sera con…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/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/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/php/erreurs/deprecated-constructor?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:php:erreurs:deprecated-constructor</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/deprecated-constructor?rev=1612216289&amp;do=diff</link>
        <description>dev php php7 debug

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

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


PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; MyObject has a deprecated constructor in /path/to/script/MyObject.php on line 3</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/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/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/sequences?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:sequences</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/sequences?rev=1612216289&amp;do=diff</link>
        <description>dev python todo

Python: Les séquences

Les séquences regroupent un ensemble de types notamment:

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

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

Structures de contrôle

Structures conditionnelles

if


if a_condition:
    # bloc a exécuter lorsque a_condition est vraie
elif other_condition:
    # bloc a exécuter lorsque a condition est fausse
    # et other_condition est vraie
else:
    # bloc a exécuter si les conditions précédentes sont fausses.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/lister_fichiers?rev=1728925602&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-14T17:06:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:exemples:lister_fichiers</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/exemples/lister_fichiers?rev=1728925602&amp;do=diff</link>
        <description>dev code python files directory repertoire fichier list

:TODO_DOCUPDATE:

Python3 : Lister les fichiers d&#039;un répertoire

Références

	*  &lt;https://realpython.com/get-all-files-in-directory-python/&gt;
	*  &lt;https://stackoverflow.com/questions/14176166/list-only-files-in-a-directory&gt;</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_ajax_jquery?rev=1740431569&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-24T21:12:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:flask_ajax_jquery</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_ajax_jquery?rev=1740431569&amp;do=diff</link>
        <description>dev python web ajax javascript jquery

:TODO:

Flask : Utilisation de JQuery et Ajax

Références

	*  Vidéo : How to POST request in a Python Website using AJAX ?
	*  Vidéo : Flask AJAX Tutorial: Basic AJAX in Flask app 
	*  Vidéo : jQuery Ajax with Python/Flask</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/routage?rev=1775809342&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-10T08:22:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:routage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/routage?rev=1775809342&amp;do=diff</link>
        <description>dev python flask routes

Flask : routage

A propos des routes

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

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

Dans le second cas, on peut directement comprendre le sens de l&#039;action à la lecture de l&#039;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/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/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/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/yaml?rev=1640083372&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-21T10:42:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:yaml</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/yaml?rev=1640083372&amp;do=diff</link>
        <description>dev yaml todo

YAML

YAML signifie YAML Ain&#039;t Markup Language (acronyme récursif: YAML n&#039;est pas un langage à balise). Il a pour but de présenter les données en s&#039;appuyant sur un formalisme facilement lisible par l&#039;homme en limitant au maximum les caractères structurant les données. Il est utilisé par les fichiers de configuration texte de nombreux outils.</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/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/bash/arguments_et_options_de_script?rev=1676049820&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-10T17:23:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:arguments_et_options_de_script</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/arguments_et_options_de_script?rev=1676049820&amp;do=diff</link>
        <description>dev bash script option argument

Gestion des options et arguments dans les scripts Bash

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

getopts et getopt sont deux moyens similaires mais non identiques pour gérer de façon avancée les options et les arguments passés aux scripts.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/autocompletion_des_arguments?rev=1674648383&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-25T12:06:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:autocompletion_des_arguments</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/autocompletion_des_arguments?rev=1674648383&amp;do=diff</link>
        <description>dev bash autocomplete todo

:TODO:

Bash : autocomplétion des arguments

Références

	*  &lt;https://stackoverflow.com/questions/39624071/autocomplete-in-bash-script&gt;
	*  &lt;https://www.redhat.com/sysadmin/arguments-options-bash-scripts&gt;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/rechercher-chaine-dans-plusieurs-fichiers?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:rechercher-chaine-dans-plusieurs-fichiers</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/rechercher-chaine-dans-plusieurs-fichiers?rev=1612216289&amp;do=diff</link>
        <description>sysadmin dev script bash recherche

Rechercher une chaîne dans un ensemble de fichiers

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

Bash : redirection des entrées/sorties

Pour un shell interactif l&#039;entrée standard (stdin), la sortie standard (stdout) et la sortie erreur standard (stderr) sont toutes les trois associées au terminal de l&#039;utilisateur.

Cela peut être visualisé en listant le contenu de</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/bash/structure-case?rev=1676626932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-17T09:42:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:bash:structure-case</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/bash/structure-case?rev=1676626932&amp;do=diff</link>
        <description>dev sysadmin bash case switch

Structure de contrôle case

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


case &quot;$C&quot; in
&quot;1&quot;)
    do_this()
    ;;
&quot;2&quot; | &quot;3&quot;)
    do_what_you_are_supposed_to_do()
    ;;
*)
    do_nothing()
    ;;
esac</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/git/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/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/outils/gcc?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:outils:gcc</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/outils/gcc?rev=1612216289&amp;do=diff</link>
        <description>dev c compilation gcc

GCC

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

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

Gnu Compiler Collection est l&#039;outil généraliste de compilation du projet GNU. Il s&#039;articule autour de plusieurs outils:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/php/debogage?rev=1751211477&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-29T15:37:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:php:debogage</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/debogage?rev=1751211477&amp;do=diff</link>
        <description>dev php

:TODO_DOCUPDATE:

A propos du débogage en PHP

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


php -l mon_script.php


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


# 
php --ini


Afficher les modules actifs :


php -m</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/charger_donnees_depuis_fichier?rev=1688052416&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-29T15:26:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:charger_donnees_depuis_fichier</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/charger_donnees_depuis_fichier?rev=1688052416&amp;do=diff</link>
        <description>dev powershell

PowerShell : Charger ou importer des données

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

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

PowerShell : Utiliser des paramètres nommés

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

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


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

Python: Annotations de type

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

	*  L&#039;annotation est optionnelle
	*  L&#039;annotation doit être une expression Python valide. Elle est évaluée une seule fois au chargement du module, le résultat est accessible via l&#039;attribut</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/callable?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:callable</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/callable?rev=1612216289&amp;do=diff</link>
        <description>dev python callable

Les Callables

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

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

:TODO_DOCUPDATE:

Python : Génération de la documentation

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

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

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

Python : environnement virtuel dans Git

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

Générer aléatoirement une chaîne alpha-numérique

Deux modules à importer: string et random

Références

	*  &lt;http://stackoverflow.com/questions/2257441/random-string-generation-with-upper-case-letters-and-digits-in-python&gt;</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/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/type-dictionnaire?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:type-dictionnaire</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/type-dictionnaire?rev=1612216289&amp;do=diff</link>
        <description>python dictionnaire

Traitements sur dictionnaire

Définir une variable de type dictionnaire:


dico_vide= {}
mon_dico = {&#039;prenom&#039;: &#039;yoann&#039;, &#039;age&#039;: 32, }


Ajout/suppression de clés

Pour supprimer le couple (clé,valeur):


del mon_dico[&#039;cle&#039;]


Pour ajouter une nouvelle clé à un dictionnaire existant:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/web/image-interactive?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:image-interactive</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/web/image-interactive?rev=1612216289&amp;do=diff</link>
        <description>dev web image

Créer une image interactive

Références

	*  &lt;https://docs.gimp.org/fr/plug-in-imagemap.html&gt;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/arduino/capteurs/temperature-ds18b20?rev=1612216289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-01T21:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:arduino:capteurs:temperature-ds18b20</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/arduino/capteurs/temperature-ds18b20?rev=1612216289&amp;do=diff</link>
        <description>dev arduino capteur temperature

Capteur de température DS18b20

Utilisation du module keyestudio Ks0316 embarquant le circuit DS18b20.
Fonctionne sur la plage -55°C à 125°C, dans la plage -10°C-85°C précision de +-0,5°C 
Résolution adaptable: 9-12 bits

Montage

Code

Le code utilise la bibliothèque OneWire disponible a l&#039;adresse</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/frameworks/pyramid/presentation?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:presentation</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/frameworks/pyramid/presentation?rev=1612216289&amp;do=diff</link>
        <description>dev python pyramid framework

Pyramid

Quelques notes extraites de la documentation 1.6 du framework Pyramid.

Système de template

Pyramid a été pensé pour pourvoir être interfacé facilement avec des programmes de rendus externes ou “renderers”. Des binding existent pour:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-06T10:13:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:go:tutoriels:ecrire_un_module_en_go</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/go/tutoriels/ecrire_un_module_en_go?rev=1691316809&amp;do=diff</link>
        <description>dev module tutoriel go

Écrire un module en Go

Ce tutoriel propose de créer deux modules:

	*  Le premier sera une bibliothèque prévue pour être importée par d&#039;autres bibliothèques ou applications ;
	*  Le second est une application appelante utilisant le premier.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/cannot-re-assign-auto-global?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:cannot-re-assign-auto-global</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/cannot-re-assign-auto-global?rev=1612216289&amp;do=diff</link>
        <description>dev php erreur debug

PHP: Erreur Cannot re-assign auto-global

Les fichiers de log tracent l&#039;événement suivant:


PHP Fatal error:  Cannot re-assign auto-global variable _GET in /mon-script.php on line XX


Depuis la version 5.4 de PHP les variables globales ne peuvent plus être utilisées comme paramètres de fonctions.  Leur portée étant globale, elle sont accessible depuis n&#039;importe quel script, il n&#039;y a pas d&#039;utilité à les passer en paramètre.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/undefined-function-mb_strtolower?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-mb_strtolower</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/php/erreurs/undefined-function-mb_strtolower?rev=1612216289&amp;do=diff</link>
        <description>php debug erreur troubleshooting

PHP: erreur undefined function mb_strtolower()

Le journal de log indique un message du type


AH01071: Got error &#039;PHP message: PHP Fatal error:  Call to undefined function mb_strtolower() in /path/to/file.php on line 666\n&#039;


Installer le module mbstring</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/verifier_empreinte_fichier?rev=1689864827&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-20T14:53:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:powershell:exemples:verifier_empreinte_fichier</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/powershell/exemples/verifier_empreinte_fichier?rev=1689864827&amp;do=diff</link>
        <description>dev powershell fichier file empreinte hash

:TODO:

PowerShell : Générer et vérifier une empreinte (hash)

Références

	*  &lt;https://stackoverflow.com/questions/63396620/how-can-i-compare-a-files-sha256-hash-in-powershell-to-a-known-value&gt;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/classe_abstraite?rev=1775554309&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-07T09:31:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:classe_abstraite</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/classe_abstraite?rev=1775554309&amp;do=diff</link>
        <description>dev python

:TODO_DOCUPDATE:

Les classes abstraites


from abc import ABC abstractmethod

class AbstractShape(ABC):
    @abstractmethod
    def area(self):
        pass 


Références

	*   Tutoriel sur l&#039;usage des classes abstraites en Python
	*  Les classe abstraites en Python (geeksforgeeks.org) (en)</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/echappement_accolades_f-strings?rev=1670977171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-14T00:19:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:echappement_accolades_f-strings</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/echappement_accolades_f-strings?rev=1670977171&amp;do=diff</link>
        <description>dev python f-string

Échappement des accolades dans une f-string

Pour pouvoir utiliser le caractère accolade sans qu&#039;il soit interprété par le formatage de la f-string il faut l&#039;échapper en doublant l&#039;accolade:


my_json = f&#039;{{ &quot;name&quot;:{person._name} , &quot;age&quot;:{person._age:02d}  }}&#039;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/mots_cles?rev=1753633859&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-27T16:30:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:mots_cles</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/mots_cles?rev=1753633859&amp;do=diff</link>
        <description>dev python keywords

Python : Lister les mots réservés du langage

Depuis l&#039;interpréteur, on peut lister les mots clés Python (ou mots réservés du langage) :


&gt;&gt;&gt; import keyword
&gt;&gt;&gt; keyword.kwlist


Références

	*  Lister les mots clés Python (stackoverflow.com)</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/type_none?rev=1728980341&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-15T08:19:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:type_none</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/type_none?rev=1728980341&amp;do=diff</link>
        <description>dev python core type

:TODO_DOCUPDATE:

Python : Le type None

Références

	*  L&#039;objet non défini en Python</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/core/types_numeriques?rev=1701508457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-02T09:14:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:core:types_numeriques</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/core/types_numeriques?rev=1701508457&amp;do=diff</link>
        <description>dev python types

Python: Types numériques

Les types numériques en python comprennent:

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

Usages simples

Priorités

:TODO_DOCUPDATE:</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/exemples/modifier_fichier_docx?rev=1728943531&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-14T22:05:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:exemples:modifier_fichier_docx</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/exemples/modifier_fichier_docx?rev=1728943531&amp;do=diff</link>
        <description>dev python file fichier word doc docx

:TODO_DOCUPDATE:

Python3 : Modifier un fichier au format docx
convertir au format docx

Télécharger et installer le module python-docx dans l&#039;environnement virtuel :


pip install python-docx






Références

	*  Utiliser le module python-docx pour modifier un document Word</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_sqlalchemy?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:flask_sqlalchemy</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/flask_sqlalchemy?rev=1756406120&amp;do=diff</link>
        <description>dev python orm flask sqlachemy

:TODO_DOCUPDATE:

L&#039;extension Flask-SQLAlchemy

A propos de SQLAlchemy

SQLAlchemy est un ORM (Object-Relational Mapping) il permet de traduire les objets Python en données pouvant être enregistrées dans un SGBD externe. 

Installation

Pour pouvoir utiliser l&#039;extension, installer le module</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/charger_fichier_csv?rev=1619185181&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-23T13:39:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:jupyter-notebook:charger_fichier_csv</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/charger_fichier_csv?rev=1619185181&amp;do=diff</link>
        <description>dev data jupyter python csv

Jupyter Notebook: Charger des données au format CSV


import pandas as pd

# Load CSV to data frame
df = pd.read_csv(&quot;./data.csv&quot;, encoding=&quot;utf8&quot;, header=None, sep=&quot;,&quot;)


La documentation de pandas détaille les différents paramètres de la méthode à l&#039;</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/generer_graphique_matplotlib?rev=1619192222&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-23T15:37:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:jupyter-notebook:generer_graphique_matplotlib</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/jupyter-notebook/generer_graphique_matplotlib?rev=1619192222&amp;do=diff</link>
        <description>dev python jupyter graphique todo

Jupyter: Générer des graphiques avec matplotlib

Références

	*  &lt;https://towardsdatascience.com/making-plots-in-jupyter-notebook-beautiful-more-meaningful-23c8a35c0d5d&gt;
	*  &lt;https://numpy.org/doc/stable/user/absolute_beginners.html#plotting-arrays-with-matplotlib&gt;</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/sphinx/reutiliser-des-variables-du-fichier-conf?rev=1759652835&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-05T08:27:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:sphinx:reutiliser-des-variables-du-fichier-conf</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/sphinx/reutiliser-des-variables-du-fichier-conf?rev=1759652835&amp;do=diff</link>
        <description>dev python sphinx documentation

Sphinx : Utiliser les variables du fichier de configuration dans la documentation

Le fichier de configuration de Sphinx définit un ensemble de variables qu&#039;il peut être pratique de pouvoir exploiter dans la documentation comme project ou release.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/unittest/start?rev=1658346668&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-20T19:51:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:unittest:start</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/unittest/start?rev=1658346668&amp;do=diff</link>
        <description>dev python test unittest

Tests unitaires en python avec unittest

Généralités

unittest est un framework de test unitaires, c&#039;est une implémentation Python des frameworks de type xUnit inspirés de SUnit(Smalltalk&#039;s SUnit), conçu par Kent Beck in 1998 pour le langage orienté objet Smalltalk.</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/exemples/redirections?rev=1775538587&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-07T05:09:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:exemples:redirections</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/exemples/redirections?rev=1775538587&amp;do=diff</link>
        <description>dev python flask redirection

Flask : redirections

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


from flask import Flask, redirect, url_for

app = Flask(__name__)

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

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

# Redirection interne
@app.route(&#039;/test-p…</description>
    </item>
    <item rdf:about="https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/notes?rev=1775392258&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T12:30:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev:python:flask:extensions:notes</title>
        <link>https://wiki.phobos-net.fr/doku.php/dev/python/flask/extensions/notes?rev=1775392258&amp;do=diff</link>
        <description>dev python web flask extensions

Flask : A propos des extensions

Les extensions sont des packages Python ajoutant des fonctionnalités au framework Flask. On liste ici quelques extensions couramment utilisées.

	*  Flask-Admin - Interface d&#039;administration
	*  Flask-Babel - Support de l&#039;internationalisation</description>
    </item>
</rdf:RDF>
