Développer du code de qualité industrielle en Python
qua
<div class="para">Logilab développe des logiciels, et propose du conseil et des
formations de haut niveau dans les domaines de l’informatique
scientifique et du web sémantique, en utilisant des outils et méthodes
agiles. Logilab s’est spécialisée dans l’utilisation de certains
outils (tels que Python) ou techniques et propose des formations
sur ces sujets. Ceci permet de bénéficier d’une vision pragmatique
des concepts enseignés.</div><div class="para">Les formations de Logilab s’adressent aux personnes désireuses
d’accroître leur culture informatique. Elles couvrent des sujets
variés et sont systématiquement adaptées aux besoins des participantes
et participants, qu’il s’agisse de sessions intra ou
inter-entreprises.</div>
text/html
inter-entreprise, intra-entreprise
<div class="para">Cette formation d’une journée expose différentes bonnes pratiques et
différents outils permettant de développer du code Python de qualité
industrielle, notamment en abordant la documentation, le test et le
typage. Un accent tout particulier est mis sur l’écriture de tests et
l’automatisation des tests. Il est possible d’effectuer les exercices
non pas sur le projet exemple proposé dans la formation mais sur un
projet personnel dont on améliorera peu à peu la qualité au fil du
cours.</div>
text/html
1
français, anglais
ingénieurs, chercheurs, techniciens
<div class="para">Connaissances de base en Python et application pratique du langage,
telles qu’elles sont acquises dans la formation <em>Introduction à Python</em>
[<a href="https://www.logilab.fr/formations/pyt" class="reference external">PYT</a>].</div>
550
2200
text/html
[{"title": "D\u00e9boguer son code Python", "content": "<ul class=\"simple\">\n<li><div class=\"para\">Déboguer efficacement son code Python avec <code class=\"docutils literal notranslate\"><span class=\"pre\">pdb</span></code></div></li>\n<li><div class=\"para\">Utiliser <code class=\"docutils literal notranslate\"><span class=\"pre\">pdb</span></code> de façon avancée : analyse <em>post-mortem</em></div></li>\n</ul>"}, {"title": "\u00c9crire du code respectant une mise en forme standard", "content": "<ul class=\"simple\">\n<li><div class=\"para\">Connaître les standards de la programmation Python</div></li>\n<li><div class=\"para\">Comprendre l’utilité de la standardisation du code</div></li>\n<li><div class=\"para\">Automatiser la standardisation avec des outils comme <em>tox</em>, <em>pep8</em>,\n<em>flake8</em>, <em>autopep8</em>, <em>black</em>, et <em>pylint</em></div></li>\n<li><div class=\"para\">Utiliser les environnements virtuels (<code class=\"docutils literal notranslate\"><span class=\"pre\">venv</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">conda</span></code>)</div></li>\n</ul>"}, {"title": "Documenter son code", "content": "<ul class=\"simple\">\n<li><div class=\"para\">Écrire des <em>docstrings</em> utiles</div></li>\n<li><div class=\"para\">Produire des manuels avec l’outil <em>sphinx</em></div></li>\n</ul>"}, {"title": "Tester automatiquement son code", "content": "<ul class=\"simple\">\n<li><div class=\"para\">Mettre en place des tests unitaires avec le module <code class=\"docutils literal notranslate\"><span class=\"pre\">unittest</span></code></div></li>\n<li><div class=\"para\">Perfectionner ses tests <code class=\"docutils literal notranslate\"><span class=\"pre\">unittest</span></code> : erreurs attendues, factorisation\nde la mise en place avec <code class=\"docutils literal notranslate\"><span class=\"pre\">setUp</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">tearDown</span></code>,\nsous-tests avec <code class=\"docutils literal notranslate\"><span class=\"pre\">subTest</span></code></div></li>\n<li><div class=\"para\">Alternativement, mettre en place des tests unitaires avec la\nbibliothèque <code class=\"docutils literal notranslate\"><span class=\"pre\">pytest</span></code></div></li>\n<li><div class=\"para\">Perfectionner ses tests <code class=\"docutils literal notranslate\"><span class=\"pre\">pytest</span></code> : erreurs attendues, factorisation\nde la mise en place avec <code class=\"docutils literal notranslate\"><span class=\"pre\">parametrize</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">fixture</span></code></div></li>\n<li><div class=\"para\">Calculer la couverture de test avec l’outil <em>coverage.py</em></div></li>\n</ul>"}, {"title": "Typer statiquement son code", "content": "<ul class=\"simple\">\n<li><div class=\"para\">Utiliser le module <code class=\"docutils literal notranslate\"><span class=\"pre\">typing</span></code> et l’outil <em>mypy</em> pour un typage statique\n<em>à la carte</em></div></li>\n</ul>"}]
text/plain
<div class="para">Cette formation peut être adaptée afin de répondre au mieux à vos
besoins. Logilab dispose d’une large palette de modules pédagogiques
permettant de personnaliser ses formations. L’adaptation des cours en
intra-entreprise ne pose aucun problème ; cette opération est
cependant plus difficile pour les cours en
inter-entreprises. N’hésitez pas à demander conseil à notre
responsable pédagogique, <a class="reference external" href="mailto:formation%40logilab.fr">Olivier Cayrol</a>.</div>
text/html
<div class="para"><strong>Taux de satisfaction :</strong> 100 % des personnes sont satisfaites et
estiment que cette formation leur a permis d’améliorer leur compréhension
du domaine enseigné.</div><div class="para"><strong>Taux d’opérabilité :</strong> 100 % des personnes pensent appliquer certaines des
notions abordées durant cette formation dans leur travail quotidien.</div><div class="para"><strong>Taux d’atteinte des objectifs :</strong> 100 % des objectifs ont été
atteints par les personnes ayant suivi cette formation, 100 % des
personnes ayant validé tous les objectifs.</div><div class="para"><small>(données recueillies auprès des 11 personnes ayant suivi cette
formation sur la période Juillet 2021 - Décembre 2023)</small></div>
text/html
<div class="para">Une ou deux sessions en inter-entreprise sont planifiées par
semestre ; il faut prévoir en moyenne deux semaines entre la prise de
contact et l’inscription effective. Des sessions en intra-entreprise
sont organisées à la demande ; il faut prévoir en moyenne quatre
semaines minimum entre la prise de contact et le début de la session.
Notre <a class="reference external" href="mailto:formation%40logilab.fr">service dédié</a> est à votre
disposition pour démarrer le processus d’inscription ou vous apporter
des renseignements.</div>
text/html
<div class="para">Nos formations peuvent être animées selon différentes modalités afin
d’être accessibles au plus grand nombre. Vous pouvez contacter notre
référente handicap, <a class="reference external" href="mailto:formation%40logilab.fr">Charlotte Cazals</a>. Elle vous aidera en mettant en place,
si cela est possible, des protocoles et des procédures adaptées pour
que vous puissiez suivre la formation.</div>
text/html
text/html
<div class="para">La formation comporte une large part de travaux pratiques. Les
exercices sont réalisés dans un environnement Python qui devra être
mis en place sur le poste utilisé par chaque stagiaire. Si besoin, des
instructions d’installation pourront être fournies en amont de la
formation pour configurer ce poste de travail. Il est aussi possible
de réaliser la formation dans les locaux de Logilab sur des postes de
travail qu’elle fournit et qui sont correctement configurés.</div>
text/html
<div class="para">Les tarifs ci-dessous concernent une session de formation et sont
forfaitaires (prix pour une session complète) :</div><ul class="simple">
<li><div class="para">Inter-entreprise : <span class="inter-price training-price">550.00</span> € HT par personne (dans un groupe
de 8 personnes maximum) ;</div></li>
<li><div class="para">Intra-entreprise : <span class="intra-base-price training-price">2200.00</span> € HT pour un groupe jusqu’à
6 personnes, <span class="intra-extra-price training-price">385.00</span> € HT par personne supplémentaire
jusqu’à atteindre un groupe de 10 personnes maximum.</div></li>
</ul><div class="para">Ces prix sont soumis aux taxes en vigueur. Des tarifs réduits peuvent
être proposés dans certains cas particuliers, n’hésitez pas à échanger avec
notre <a class="reference external" href="mailto:formation%40logilab.fr">service dédié</a>.</div><div class="para">Cette formation n’est pas éligible à un financement par le Compte
Personnel de Formation (CPF) mais peut être prise en charge par un
financement de votre Opérateur de Compétences (OPCO) sous certaines
conditions. Nous vous invitons, le cas échéant, à vous rapprocher de ce
dernier.</div>
text/html
<div class="para">La formation est découpée en séquences pédagogiques. Chacune de ces
séquences comprend une première partie de présentation des notions
faite par la formatrice ou le formateur devant l’ensemble du groupe,
puis une deuxième partie d’exercices applicatifs effectués soit
individuellement soit par petit groupe. Au cours de cette deuxième
partie, la formatrice ou le formateur est régulièrement disponible
pour aider, conseiller ou revenir sur des notions lacunaires. À
l’issue des exercices, une séance d’échanges est l’occasion de
corriger les exercices, de revenir sur les difficultés éventuelles et
de partager les bonnes pratiques.</div><div class="para">La formation est partiellement active (<em>classe inversée</em>) ; chaque
stagiaire effectue son propre parcours d’apprentissage
sous la supervision et l’accompagnement de la formatrice ou du
formateur. En particulier, le choix des exercices, s’il est guidé,
offre suffisamment de liberté pour permettre à chacune et chacun de
mettre l’accent sur les notions l’intéressant. Selon le besoin, il
pourra être indiqué quelques lectures à faire en amont afin de
préparer l’acquisition des notions.</div>
text/html
{"intro": "<div class=\"para\">Au début de la session de formation, chaque stagiaire se voit remettre\nun <em>livret d’accueil</em> (format papier ou format PDF) regroupant\nl’ensemble des informations utiles au bon déroulement de la formation.</div><div class=\"para\">Un <em>exemplaire personnel du support de cours</em> (format papier ou format\nPDF) est donné à chaque stagiaire. D’autre part, si des plates-formes\nnumériques sont utilisées pendant la formation, par exemple pour\nréaliser les exercices, chaque personne dispose d’un <em>compte\nindividuel</em> sur ces plateformes. Les plateformes sont accessibles à\ndistance sur le Web et l’accès à chaque compte individuel est maintenu\npendant 1 mois après le dernier jour de la session de formation.</div>", "rubrics": [{"title": "Formation en inter-entreprise", "content": "<div class=\"para\">La formation a lieu dans les locaux de Logilab, dans une salle équipée\nd’un dispositif de projection permettant à la formatrice ou au\nformateur de réaliser des présentations. En règle générale, surtout\npour les formations techniques, les démonstrations interactives sont\nprivilégiés. Chaque stagiaire a un ordinateur à disposition sur lequel\nelle peut réaliser les exercices, prendre des notes, ou faire des\nessais. Cet ordinateur est relié à Internet. Si elle le désire, la\npersonne peut utiliser son propre ordinateur, un accès à Internet lui\nétant alors proposé. Dans ce dernier cas, la personne est responsable\nde l’installation et la configuration de tous les outils qui\npourraient s’avérer nécessaires au suivi de la formation.</div>"}, {"title": "Formation en intra-entreprise", "content": "<div class=\"para\">L’organisme d’accueil (généralement le client) doit mettre à\ndisposition une salle équipée d’un dispositif de projection, et des\nordinateurs reliés à Internet pour les stagiaires. La liste des outils\nà installer sur ces ordinateurs sera fournie en amont de la formation,\nl’organisme d’accueil étant responsable de cette installation.</div>"}, {"title": "Formation en ligne", "content": "<div class=\"para\">Si la formation a lieu partiellement ou totalement en ligne, Logilab\nmet à disposition une plateforme de visioconférence hébergée soit sur\n<a class=\"reference external\" href=\"https://www.gather.town/\">https://www.gather.town/</a> soit sur <a class=\"reference external\" href=\"https://logilab.whereby.com/\">https://logilab.whereby.com/</a>. Cette\nplateforme permet notamment le suivi de présentations plénières, le\ntravail en petit groupe ou le travail individuel. Dans un tel cas, chaque\nstagiaire doit disposer d’un accès à Internet de bonne qualité afin de\nparticiper sereinement à la session.</div><div class=\"para\">Pour les sessions en intra-entreprise, le client peut demander à ce\nque sa propre plateforme de visioconférence soit utilisée ; des tests\nseront réalisés en amont pour vérifier que cette plateforme propose\nles services et une qualité permettant d’animer la formation.</div>"}]}
text/plain
<div class="para">Toutes les formatrices et tous les formateurs sont diplômés de
l’enseignement supérieur (niveaux 7 ou 8 du <em>Cadre Européen des
Certifications</em>), et travaillent dans les équipes de R&D de Logilab où
ils développent du logiciel et pratiquent au quotidien les techniques
qu’ils enseignent. Cet ancrage permet aux formations de Logilab d’être
pragmatiques et toujours actualisées.</div>
text/html
[{"title": "V\u00e9rification des pr\u00e9-requis (par des exercices)", "content": "<div class=\"para\">Lorsque les pré-requis de la formation nécessitent d’avoir acquis des\ncompétences équivalentes à celles apportées par une autre formation\nLogilab, si le ou la stagiaire n’a pas déjà suivi cette formation dans\nles 6 mois précédents, une petite série d’exercices lui est envoyée\nafin de s’assurer de son niveau de connaissances. Cette série est\ndécrite dans un document PDF et il est demandé de réaliser ces\nexercices dans l’environnement technique de son choix puis de renvoyer\nles solutions trouvées ainsi que le temps qui a été nécessaire à leur\nélaboration. Éventuellement, la formatrice ou le formateur contacte\nindividuellement les stagiaires pour s’assurer qu’ils et elles\npourront suivre sans problème la formation.</div>"}, {"title": "\u00c9valuation en d\u00e9but de session", "content": "<div class=\"para\">En début de session, un formulaire contenant une auto-évaluation sur\nles grands objectifs pédagogiques de la formation est remplie par\nchaque stagiaire. Il permet également au formateur ou à la formatrice\nd’adapter le cours au niveau des stagiaires.</div>"}, {"title": "\u00c9valuation en cours de session (par des exercices)", "content": "<div class=\"para\">Des exercices sont effectués tout au long de la formation. Ils\npermettent de solidifier l’acquisition des connaissances au fur et à\nmesure de l’avancée de la session. La formatrice ou le formateur peut,\nsi besoin, personnaliser les corrections afin de reprendre certains\npoints mal acquis.</div>"}, {"title": "\u00c9valuation en fin de session", "content": "<div class=\"para\">En fin de session de formation, chaque stagiaire remplit un\nquestionnaire de fin de formation qui mesure sa satisfaction et\nl’impact de la formation.</div><div class=\"para\">Un certificat de réalisation individuel est fourni à chaque stagiaire\naprès la formation. Ce certificat s’appuie sur la ou les évaluations\nréalisées durant la formation.</div>"}]
text/plain
rgb(255, 0, 0)
3
2021-10-14T16:41:15.468394+00:00
2024-03-15T11:18:37.487023+00:00