# data[].attributes.body
ricartlvh - PremiereNSI - nsilvh

# data[].attributes.attachment_link.readable_text
https://opendata.lillemetropole.fr/explore/embed/dataset/nombre-de-validations-par-mois-dans-les-stations-de-metro-et-tramway/table/ https://opendata.lillemetropole.fr/explore/embed/dataset/nombre-de-validations-par-arrets-de-metro-et-tramway/table/?disjunctive.denomination

# data[].attributes.attachment_link.readable_text
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.

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 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.

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.

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).

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 :

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.

Dans de nombreux projets, l'IHM est constituée d'une application web accessible depuis un navigateur. Il n'est pas toujours aisé de programmer le lien entre le matériel (capteurs et/ou actionneurs) et la page web fournie à l'utilisateur. Une solution consiste à utiliser un script Python dont l'exécution peut être planifiée avec Cron, pour interagir avec le matériel, lire les données des capteurs et les stocker dans une base de données comme MySQL. Un serveur web comme Apache2, via une page web php, met à disposition des utilisateurs les informations. Cette solution décrite dans un précédant article nécessite la mobilisation de nombreuses technologies et plusieurs langages de programmation, contraignant les développeurs du projet à retarder la mise œuvre d'un prototype pour se former.

Combiné avec une solution matérielle constituée d'une Raspberry et éventuellement une carte Arduino, Node Red se révèle être une alternative très intéressante :

Node-RED est un outil puissant pour construire des applications de l'Internet des Objets (IoT) en mettant l'accent sur la simplification de la programmation qui se fait grâce à des blocs de code prédéfinis, appelés "nodes" pour effectuer des tâches. Il utilise une approche de programmation visuelle qui permet aux développeurs de connecter les blocs de code ensemble. Les nœuds connectés, généralement une combinaison de nœuds d'entrée, de nœuds de traitement et de nœuds de sortie, lorsqu'ils sont câblés ensemble, constituent un "flow".

Cisco Packet Tracer est un programme de simulation de réseau puissant qui permet aux étudiants d'expérimenter le comportement du réseau.

Packet Tracer fournit la simulation, la visualisation, la création, l'évaluation et les capacités de collaboration et facilite l'enseignement et l'apprentissage des concepts technologiques complexes.

Packet Tracer complète l'équipement physique dans la salle de classe en permettant aux élèves de créer un réseau avec un nombre presque illimité de périphériques, d'encourager la pratique, la découverte et le dépannage. L'environnement d'apprentissage basée sur la simulation aide les élèves à développer des compétences tels que la prise de décision, la pensée créative et critique, et la résolution de problèmes.

Le module Activity Wizard de Packet Tracer est un assistant de création d'activités. Il est conçu pour améliorer l'enseignement et l'apprentissage en permettant la création de scénarios d'activités et d'évaluations dans un environnement structuré. Dans cette formation, vous apprendrez à créer une activité simple basée sur un scénario unique, puis une activité qui utilise des variables pour permettre de diversifier les scénarios.

A la fin de se module, vous serez en mesure de concevoir une activité auto évaluée à l'aide de "l'assistant de création d'activités" de Packet Tracer.
Lire la suite ...
Bien souvent, les données collectées grâce aux capteurs sont enregistrées dans une base de données. Considérons que nous disposons du gestionnaire de base de données MySQL, d'un serveur web Apache2, du langage de script php5 et de phpmyadmin.

Nous disposons d'un système de mesure de masse d'une ruche et nous enregistrons tous les jours la masse de cette ruche.

# data[].attributes.attachment_link.description
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.

# data[].attributes.attachment_link.readable_text
Pour tout élève de terminale S, fille ou garçon, intéressé par l'informatique, en prévision de futures études ou simplement pour se mettre à niveau.

Il ne s'agit pas de former des experts en informatique, ni des spécialistes en technologies de l'information. Le but est d'apporter quelques notions fondamentales scientifiques permettant de mieux appréhender l'univers technologique et de sensibiliser aux questions provoquées par la mutation numérique profonde de nos sociétés.

L'enseignement s'articule autour de quatre thèmes :

Données numériques, représentation de l'information, aspect sociétal.

Algorithmique : Lire, comprendre et concevoir des algorithmes simples ou plus avancés.

Langages et programmation : Python, HTML/CSS/JAVASCRIPT/PHP

Machines numériques, architecture matérielle, réseaux.

L'année est axée sur la résolution de problèmes concrets, et sur la réalisation d'un projet qui sera évalué pour le baccalauréat

L'épreuve au Baccalauréat Deuxième partie : Dialogue argumenté avec la commission d'évaluation.
Durée : 20 minutes maximum - Coefficient : 2

Première partie : Évaluation d'un projet et soutenance orale
Durée : 8 minutes maximum, Notée sur 8 points

Le candidat effectue une présentation orale de son projet pendant laquelle il n'est pas interrompu.

Il s'appuie sur un dossier-projet de 5 à 10 pages, hors annexes, élaboré à l'aide de l'outil informatique.

Durée : 12 minutes minimum, Notée sur 12 points

La commission d'évaluation interroge le candidat sur son projet en lien avec les compétences fixées par le programme.

Grille de compétence et d'évaluation de l'épreuve ISN

- 2020 : "PE Martin" meilleur lycée du Cher ( Le Berry Rep, Le point)
- 2019: "PE Martin" meilleur lycée du Cher ( L'express, L'étudiant)
​- 2018 : Robot Pepper et maison connectée expérimentale.

- 2017 : option ICN en première
- 2016 : option ICN en seconde

- 2014 : "PE Martin" meilleur lycée du Cher ( "L'Express")
- 2013 : Option informatque ISA en 2d

# data[].attributes.attachment_link.description
Il ne s'agit pas de former des experts en informatique, ni des spécialistes en technologies de l'information. Le but est d'apporter quelques notions fondamentales scientifiques permettant de mieux appréhender l'univers technologique et de sensibiliser aux questions provoquées par la mutation numérique profonde de nos sociétés.

# data[].attributes.attachment_link.readable_text
Ressources pour illustrer l'impact du choix de la distance dans le cadre de l'algorithme de k plus proches voisins. Le notebook permet également l'introduction du tri à l'aide de la fonction sorted (tri d'une table de la partie 'Traitement de données en tables' du programme).

# data[].attributes.attachment_link.description
Ressources pour illustrer l'impact du choix de la distance dans le cadre de l'algorithme de k plus proches voisins. Le notebook permet également l'introduction du tri à l'aide de la fonction sorted (tri d'une table de la partie 'Traitement de données en tables' du programme).

# data[].attributes.body
Logique combinatoire

# data[].attributes.attachment_link.readable_text
Bonjour,

Tu rencontres un problème technique sur un exercice ?
Tu as remarqué un bug ?
C'est ici qu'il faut le signaler pour que nous puissions t'aider.

Merci d'adopter un langage poli. Sache que ton enseignant a aussi accès à tous les messages que tu nous envoies.

# data[].attributes.attachment_link.title
Séquences d'initiation à l'algorithmique basés sur Scratch - Kwyk

# data[].attributes.attachment_link.description
Tu rencontres un problème technique sur un exercice ?Tu as remarqué un bug ?C'est ici qu'il faut le signaler pour que nous puissions t'aider. Merci d'adopter un langage poli. Sache que ton enseignant a aussi accès à tous les messages que tu nous envoies.

# data[].attributes.attachment_link.readable_text
Chaque programme est finalement un processeur de données, nous devrions donc savoir comment entrer et sortir des données à l'intérieur. Il existe une fonction, print() , pour générer des données à partir de n'importe quel programme Python. Pour l'utiliser, transmettez une liste d'arguments séparés par des virgules que vous souhaitez imprimer dans la fonction print() . Voyons voir un exemple. Appuyez sur "Exécuter" puis "Suivant" pour voir comment le programme est exécuté ligne par ligne:

print(5 + 10)
print(3 * 7, (17 - 2) * 8)
print(2 ** 16)  # deux étoiles sont utilisées pour l&#39;exponentiation (2 à la puissance de 16)
print(37 / 3)  # barre oblique unique est une division
print(37 // 3)  # double barre oblique est une division entière
        # il renvoie seulement le quotient de la division (c&#39;est-à-dire pas de reste)
print(37 % 3)  # signe de pourcentage est un opérateur de module
        # il donne le reste de la valeur de gauche divisé par la bonne valeur

Pour entrer des données dans un programme, nous utilisons input() . Cette fonction lit une seule ligne de texte, sous la forme d'une chaîne.

Voici un programme qui lit le nom de l'utilisateur et les accueille:

print('What is your name?')
name = input()  # lire une seule ligne et la stocker dans la variable &quot;nom&quot;
print('Hi ' + name + '!')

Essayons d'écrire un programme qui entre deux nombres et imprime leur somme. Nous lisons les deux nombres et les stockons dans les variables a et b utilisant l'opérateur d'affectation = . Sur le côté gauche d'un opérateur d'affectation, nous mettons le nom de la variable. Le nom peut être une chaîne de caractères latins ( AZ , az , 0-9 , _ ) mais doit commencer par une lettre de la plage AZ ou az . Sur le côté droit d'un opérateur d'affectation, nous mettons toute expression que Python peut évaluer. Le nom commence à pointer sur le résultat de l'évaluation. Lisez cet exemple, lancez-le et regardez la sortie:

a = input()
b = input()
s = a + b
print(s)

Après avoir exécuté l'exemple, nous pouvons voir qu'il imprime 57 . Comme on nous l'a appris à l'école, 5 + 7 donne 12 . Donc, le programme est mauvais, et il est important de comprendre pourquoi. La chose est, dans la troisième ligne s = a + b Python a "sommé" deux chaînes, plutôt que deux nombres. La somme de deux chaînes en Python fonctionne comme suit: elles sont simplement collées l'une après l'autre. C'est aussi parfois appelé "concaténation de chaînes".

Voyez-vous dans l'inspecteur de variables, sur le côté droit, que les valeurs liées aux variables a et b sont entourées de guillemets? Cela signifie que les valeurs sont des chaînes, pas des nombres. Les chaînes et les nombres sont représentés différemment dans Python.

Toutes les valeurs de Python sont appelées "objets". Chaque objet a un certain type. Le nombre 2 correspond à un objet "numéro 2" de type "int" (c'est-à-dire un nombre entier). La chaîne 'hello' correspond à un objet "string 'hello'" de type "str". Chaque nombre à virgule flottante est représenté comme un objet de type "float". Le type d'un objet spécifie le type d'opérations qui peuvent lui être appliquées. Par exemple, si les deux variables "first" et "second" pointent vers les objets de type int , Python peut les multiplier. Cependant, s'ils pointent vers les objets de type str , Python ne peut pas faire cela:

first = 5
second = 7
print(first * second)

# vous pouvez utiliser des guillemets simples ou doubles pour définir une chaîne
first = '5'
second = "7"
print(first * second)

Pour convertir (convertir) la chaîne de chiffres en un nombre entier, nous pouvons utiliser la fonction int() . Par exemple, int('23') donne un objet int avec la valeur 23 .

Étant donné les informations ci-dessus, nous pouvons maintenant corriger la sortie incorrecte et afficher la somme des deux nombres correctement:

a = int(input())
b = int(input())
s = a + b
print(s)

# data[].attributes.attachment_link.description
Chaque programme est finalement un processeur de données, nous devrions donc savoir comment entrer et sortir des données à l'intérieur. Il existe une fonction, print() , pour générer des données à partir de n'importe quel programme Python. Pour l'utiliser, transmettez une liste d'arguments séparés par des virgules que vous souhaitez imprimer dans la fonction print() .

# data[].attributes.attachment_link.readable_text
Un livre incontournable de 435 pages pour acquérir l'exigeante discipline qu'est l'art de la programmation !

Original et stimulant, cet ouvrage aborde au travers d'exemples attrayants et concrets tous les fondamentaux de la programmation. L'auteur a choisi Python, langage moderne et élégant, aussi performant pour le développement d'applications web complexes que pour la réalisation de scripts système ou l'analyse de fichiers XML. Un support de cours réputé et adopté par de nombreux enseignants, avec 60 pages d'exercices corrigés.

Reconnu et utilisé par les enseignants de nombreuses écoles et IUT, complété d'exercices accompagnés de leurs corrigés, cet ouvrage original et érudit est une référence sur tous les fondamentaux de la programmation : choix d'une structure de données, paramétrage, modularité, orientation objet et héritage, conception d'interface, multithreading et gestion d'événements, protocoles de communication et gestion réseau, bases de données... jusqu'à la désormais indispensable norme Unicode (le format UTF-8). On verra notamment la réalisation avec Python 3 d'une application web interactive et autonome, intégrant une base de données SQLite. Cette nouvelle édition traite de la possibilité de produire des documents imprimables (PDF) de grande qualité en exploitant les ressources combinées de Python 2 et Python 3.

A qui s'adresse ce livre ?

Aux étudiants en BTS et IUT Informatique et à leurs enseignants ; À tous les autodidactes férus de programmation qui veulent découvrir le langage Python.

Disponible également en version papier: Commandez sur Amazon !

Droits de copie de cette version : Creative Commons (Paternité - Pas d'utilisation commerciale - Partage des conditions initiales à l'identique.)

30 commentaires
Lire l'article.
Article lu fois.

# data[].attributes.attachment_link.description
Un livre incontournable de 435 pages pour acquérir l'exigeante discipline qu'est l'art de la programmation ! Original et stimulant, cet ouvrage aborde au travers d'exemples attrayants et concrets tous les fondamentaux de la programmation. L'auteur a choisi Python, langage moderne et élégant, aussi performant pour le développement d'applications web complexes que pour la réalisation de scripts système ou l'analyse de fichiers XML.

# data[].attributes.attachment_link.description
Repl.it is a simple yet powerful online IDE, Editor, Compiler, Interpreter, and REPL.

# data[].attributes.attachment_link.title
Visualize Python, Java, JavaScript, C, C++, Ruby code execution

# data[].attributes.attachment_link.readable_text
Blockly Basics

The Blockly library adds an editor to your app that represents coding concepts as interlocking blocks. Blockly generates simple, syntactically-correct code from the blocks in the editor, which your app can use to run games, control robots, or do anything else your imagination can concieve.

The Blockly library adds an editor to your app that represents coding concepts as interlocking blocks. It outputs syntactically correct code in the programming language of your choice. Custom blocks may be created to connect to your own application.

Blockly is being used by hundreds of projects, most of them educational:

Blockly for Web

Blockly in a browser allows web pages to include a visual code editor for any of Blockly's five supported programming languages, or your own. In Blockly Games, pictured here, users can solve a maze using Blockly's editor on the right.

Blockly is...

Pure JavaScript library.

100% client side. No server side dependencies.

Compatible with all major browsers: Chrome, Firefox, Safari, Opera, and IE.

Highly customizable and extensible.

Blockly User Summit 2021

The virtual Blockly User Summit took place April 28-29, 2021.

We had around 80 members of the Blockly community attend with 16 tech talks on Blockly and its applications.

All of the summit talks are available on YouTube.

# data[].attributes.attachment_link.description
A JavaScript library for building visual programming editors.