Initiation au chiffrement des données
Le chiffrement est un procédé de cryptographie grâce auquel on souhaite rendre la compréhension d’un document impossible à toute personne qui n’a pas la clé de (dé)chiffrement.
Dans cette activité, nous allons étudier et programmer en python différents systèmes de chiffrement/déchiffrement des données.
Au programme de l'activité :
- Chiffrement symétrique
- Chiffrement de Cesar
- Chiffrement de Vigenère
- Utilisation de la fonction XOR
- Chiffrement asymétrique
- Principe général
- Algorithme RSA
- Génération des clés
- Chiffrement/déchiffrement
- Attaque brute force
Migration vers la pile TTN v3
The Things Network V2 a été mis à niveau vers The Things Stack Community Edition (également connu sous le nom de V3).
En fait, les serveur de la version V2 sont encore opérationnels en parallèle de ceux de la version V3 mais plus pour très longtemps puisque leur arrêt est prévu pour décembre 2021.
Il devient donc urgent de migrer faire migrer les passerelles et les applications vers cette nouvelle version : The Things Stack Community Edition
https://www.thethingsnetwork.org/docs/the-things-stack/
La création d'applications et l'ajout de devices sont plutôt bien documentés mais en ce qui concerne la passerelle The Things Gateway, c'est une autre histoire.
Je vous propose dans cet article une procédure permettant de mette à jour votre passerelle The Things Gateway et de l'ajouter à votre console The Things Stack Community Edition.
Single Player Pong
Pong est un des premiers jeux vidéo d’arcade et le premier jeu vidéo d’arcade de sport. Il a été imaginé par l’Américain Nolan Bushnell et développé par Allan Alcorn, et la société Atari le commercialise à partir de novembre 1972. Bien que d’autres jeux vidéo aient été inventés précédemment, comme Computer Space, Pong est le premier à devenir populaire.
https://fr.wikipedia.org/wiki/Pong
L'objectif de cette activité est de développer une version Python de ce jeu en s’appuyant sur les concepts de programmation que nous avons appris jusqu’à maintenant :
- Utilisation de modules
- les fonctions
- les dictionnaires
- les tests conditionnels
- les boucles
Notre jeu se limitera un un joueur unique. Cette version du jeu est connue sous le nom Pong Survivor ou Single Player Pong
Le développement du jeu est basé sur l’utilisation de la bibliothèque Pygame
Production de sites web NSI
Le programme de la spécialité NSI précise que cet enseignement a vocation à multiplier les occasions de mise en activité des élèves, sous des formes variées qui permettent de développer des compétences transversales:
- faire preuve d’autonomie, d’initiative et de créativité ;
- présenter un problème ou sa solution, développer une argumentation dans le cadre d’un débat ;
- coopérer au sein d’une équipe dans le cadre d’un projet ;
- rechercher de l’information, partager des ressources ;
- faire un usage responsable et critique de l’informatique.
Un enseignement d’informatique ne saurait se réduire à une présentation de concepts ou de méthodes sans permettre aux élèves de se les approprier en développant des projets applicatifs.
Une part de l’horaire de l’enseignement en classe de première est réservée à la conception et à l’élaboration de projets conduits par des groupes de deux à quatre élèves.
Les projets réalisés par les élèves, sous la conduite du professeur, constituent un apprentissage fondamental tant pour la compréhension de l’informatique que pour l’acquisition de compétences.
Il s'agit ici de mettre en pratique les concepts appris lors des activités HTML/CSS/JavaScript pour réaliser un petit site web ergonomique et dynamique.
NSI
Numérique et Sciences Informatiques
L’enseignement de spécialité de numérique et sciences informatiques du cycle terminal de la voie générale vise l’appropriation des fondements de l’informatique pour préparer les élèves à une poursuite d’études dans l’enseignement supérieur, en les formant à la pratique d’une démarche scientifique et en développant leur appétence pour des activités de recherche.
L’objectif de cet enseignement, non professionnalisant, est l’appropriation des concepts et des méthodes qui fondent l’informatique, dans ses dimensions scientifiques et techniques....
Vous trouverez ici mes activités (cours/TP) de première spécialité NSI au lycée Alphonse Benoît.
MQTT avec Qt
MQTT est un protocole de connectivité Machine-to-Machine (M2M) de l'Internet des Objets. Il a été conçu pour le transport de messages par publication/souscription et est extrêmement léger.
The Things Network utilise MQTT pour publier les activations et les messages des nœuds LoRa qu'il référence. Nous avons vu dans l'article précédant comment accéder à ses messages via le nœud MQTT de Node Red.
Je vous propose ici de réaliser une application client avec Qt qui accèdera directement aux messages via MQTT au travers de l'utilisation du module Qt MQTT.
The Things Network et Node Red
Dans le précédent article, nous avons mis en œuvre un objet connecté au travers du réseau IOT The Things Network. Nous avons utilisé Cayenne my devices pour la construction du Front End. Je vous propose dans cet article de le construire à l'aide de Node Red. L'objet connecté sera le capteur de température et d'humidité construit autours d'une carte THE THINGS UNO et d'un DHT11 vu dans le précédent article.
Réseau The Things Network
On parle partout de l'Internet des Objets. Mais qu'est-ce que c'est au juste ? On connait Internet, ce truc auquel on se connecte au moyen d'un câble réseau, de la fibre optique ou en wifi à partir d'une box, ou bien encore avec un téléphone portable 3G ou 4G. L'accès à ces réseaux n'est pas gratuit, on paye un abonnement, ou quelqu'un paye un abonnement ! Le volume de données qui transite sur ces réseaux est considérable, mais ce n'est rien en comparaison de ce qui nous attend si on fait communiquer tous les objets qui nous entoure, même s'ils devaient se limiter à quelques échanges quotidien et générer de faibles volumes de données chacun. De plus, lorsque notre principale préoccupation, c'est d'obtenir le contenu souhaité le plus rapidement possible, soit avoir le meilleur débit possible, les objets peuvent se contenter d'un réseau bas débit, voir très bas débit (quelques kb/s).
Node red et MySql
Dans cet article, je vous propose de mettre en oeuvre une solution de sauvegarde de données dans une base de données MySql. Nous utiliserons les informations issues du capteur de température du CPU de notre Raspberry Pi toutes les minutes pour peupler la base de données. Nous utiliserons Node Red pour les lire et les présenter sous forme d'un tableau et d'un graphique retraçant l'évolution des dernières mesures. Pour cela il nous faudra procéder à l'installation de MySql sur notre Raspberry. Pour faciliter la gestion des bases de données MySql, nous installerons également un serveur Apache et phpMyAdmin en suivant au choix un de ces tutoriels :
Géolocalisation avec Node Red
Certain projet peuvent nécessité la mise en œuvre d'une géolocalisation intégrant ou non un capteur GPS. Le but ici est de mettre en place une géolocalisation basée sur l'API de Google à l'aide de Node Red.