Syntaxe du langage Python
- Les identifiants et les références. Les conventions de codage et les règles de nommage.
- Les blocs, les commentaires.
- Les types de données disponibles.
- Les variables, l'affichage formaté, la portée locale et globale.
- La manipulation des types numériques, la manipulation de chaînes de caractères.
- La manipulation des tableaux dynamiques (liste), des tableaux statiques (tuple) et des dictionnaires.
- L'utilisation des fichiers.
- La structure conditionnelle if/elif/else.
- Les opérateurs logiques et les opérateurs de comparaison.
- Les boucles d'itérations while et for. Interruption d'itérations break/continue.
- La fonction range.
- L'écriture et la documentation de fonctions.
- Les expressions lambdas.
- Les générateurs.
- La structuration du code en modules.
Travaux pratiques
Installation et prise en main de l'interpréteur Python.
Appréhender la technologie blockchain
- La présence de la blockchain : de Facebook aux poulets d'Auvergne.
- Le Parlement va légiférer sur les usages de la blockchain.
- Les nouveaux métiers sur le marché.
- Le cas d'usage simple : certifier un document.
Démonstration
Un site en ligne de certification de document : comment ça marche ?
Comprendre les écosystèmes blockchain
- La blockchain et l'historique bitcoin.
- Le principe du hash, de la machine à hasher, le minage.
- Les 4 briques de base de la blockchain privée et permissionnée Hyperledger Fabric.
- Les 3 écosystèmes : bitcoin, Ethereum, Hyperledger Fabric.
- La technologie blockchain et le RGPD.
Démonstration
Le bitcoin en live. Découverte en ligne de la fondation Linux autour du projet Open Source Hyperleger.
Architectures d'intégration d'une solution blockchain
- Les tendances architecturales DDD, ES, CQRS...
- Rappels : microservices, dockerisation.
- Construction des différents dockers dans la VM de test.
- Intégration d'une blockchain dans les SI des partenaires.
Travaux pratiques
Implémenter des microservices dans un nœud, les déployer dans des dockers.
La conception de tests
- Les principes de conception.
- La trace de conception.
- La traçabilité des exigences et des tests.
- Les techniques de partitionnement ou définition de "classes d'équivalence".
- Les techniques de "tests aux limites".
- Les tables de décisions ou définition de combinaisons d'entrée-sortie.
- Le graphe de causes à effets. Le graphe à états finis.
- Les techniques de test non fonctionnel (ergonomie, utilisabilité, performance...).
- La couverture des objectifs de test.
Travaux pratiques
Conception de tests pour l'application sous test avec le référentiel de tests.
L'implémentation des tests
- La revue de test par les pairs.
- Les principes et conditions de l'implémentation.
- L'apport des spécifications fonctionnelles.
- Les plateformes de test.
- Le test manuel.
- Les jeux d'essai, les bases de données.
- Les générateurs de données de test.
- Le test automatisé : principes, avantages et inconvénients.
- Les robots de test fonctionnel (vue d'ensemble).
Travaux pratiques
Implémentation de tests pour l'application testée. Présentation de l'implémentation d'un test automatique à l'aide d'un robot de test fonctionnel. Revue croisée de tests.