Aller au contenu

Prise en main de l'environnement

Introduction

Vous avez choisi la spécialité de première Numérique et Sciences Informatiques. Très bon choix ! Cette année nous allons étudier ensemble les concepts de base de l'informatique en tant que science : les données, les algorithmes, les langages de programmation, les machines.

L'ordinateur est donc notre outil d'étude et de travail principal. La plupart des documents du cours vous seront distribués sous format papier et de manière numérique. Il importe de s'organiser un peu.

Connexion à votre session Linux

Cette année, nous utiliserons le système d'exploitation Ubuntu, une distribution linux, basée sur Debian. Les systèmes d'exploitation de la famille GNU/Linux permettent très facilement d'avoir un contrôle complet et d'étudier le fonctionnement de son ordinateur, ce qui est très adapté dans le cadre du cours de NSI. Mais d'abord, connectons-nous.

  • Depuis la session windows, lancer le programme "Bureau à distance", saisir l'adresse réseau 192.168.100.100. Cliquer sur "se connecter", et valider.
  • Votre identifiant sur la machine distante est votre prénom (sans accent, tout en minuscule), et le mot de passe est fustelnsi. Vous connecter à la machine distante à l'aide de ces informations.
  • Appeler le professeur pour vérification à cette étape.

Inscription à Github

Le site github permet de publier en ligne ses fichiers de code afin de favoriser la coopération entre développeurs et développeuses. Nous allons nous en servir pour maintenir à jour les documents numériques du cours de NSI. Vous allez donc devoir créer un compte sur github.

Vous êtes autorisés à utiliser votre téléphone portable à n'importe quel moment du procédé pour vérifier votre adresse mail, valider votre compte, etc…

  • Rendez-vous sur le site https://github.com/
  • Si vous n'en possédez pas déjà un, créez-vous un compte en cliquant sur "sign up".
  • Remplissez les informations relatives à votre compte, puis terminez la procédure d'inscription.
  • Envoyer un mail à l'adresse florian.picard@fustel-yaounde.net ayant pour objet "Création compte Github - NOM Prénom", en précisant dans le corps du mail quel est le nom d'utilisateur.ice utilisé lors de votre inscription.
  • Appeler le professeur pour vérification à cette étape.

Un dépôt pour votre cours

Un dépôt (en anglais "repository") est un dossier de fichiers qui sont amenés à être mis à jour avec le temps. L'intérêt principal du programme git est de permettre de suivre l'historique des mises à jour, même lorsque plusieurs personnes travaillent sur le même projet. Nous n'en aurons dans ce cours qu'une utilisation très basique.

  • Cliquer sur le bouton "create repository" pour créer un nouveau dépôt.
  • Choisir cours-nsi comme nom de dépôt. Configurer le dépôt afin d'ajouter un fichier README au dépôt et que la visibilité du dépôt doit être publique. Créer le dépôt.

Félicitations, votre premier dépôt est en ligne ! Voyons maintenant comment l'utiliser. Le contenu du fichier texte README.md est affiché par défaut sur la page d'accueil du dépôt. Il est possible de modifier les fichiers depuis l'interface en ligne de github.

  • Cliquer sur le fichier README.md.
  • En cliquant sur l'icone du crayon, éditer le fichier en le modifiant comme vous le souhaitez.
  • Une fois les modifications apportées, cliquer sur le bouton "Commit changes". Lire les informations présentes dans la fenêtre qui s'ouvre et cliquer sur le bouton "commit changes".
  • Appeler le professeur pour vérification à cette étape.

Bravo, vous avez réalisé votre premier "commit", une mise à jour des fichiers de votre dépôt. Si vous cliquez sur l'icône "History", vous aurez maintenant accès à l'historique des modifications du fichier.

Utilisation de github en ligne de commande

Il est possible de créer et de mettre à jour des fichiers depuis le site web, mais la plupartd du temps, il est plus rapide d'utiliser la ligne de commande. Pour cela, il est nécessaire d'authentifier votre session sur l'ordinateur auprès de github.

Les opérations suivantes doivent être effectuées dans un terminal. Pour lancer un terminal, cliquer sur l'icône en forme de carré noir dans le menu des applications.

  • Copier la ligne de commande dans le terminal :

    ssh-keygen -t ed25519 -C "votre_email@exemple.com"

    en remplaçant votre_email@exemple.com par votre email personnel. Appuyez sur entrée pour valider. Lorsqu'on vous demande un mot de passe, laisser vide et appuyer sur entrée directement. - [ ] Copier la ligne de commande dans le terminal :

    eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519

  • Copier la ligne de commande dans le terminal :

    cat ~/.ssh/id_ed25519.pub

    Appuyer sur entrée pour valider. Copier le texte affiché par la commande.

Les opérations suivantes doivent être effectuées dans le navigateur, depuis la page d'accueil de github.

  • Cliquez sur votre icône de profil en haut à droite, et rendez-vous à la section "SSH et GPG keys".
  • Cliquez sur le bouton "New SSH Keys", et entrez le nom "Lycée" pour votre clé dans le champ "Title". Collez le texte affiché par la commande cat ~/.ssh/id_ed25519.pub dans le champ "Key", puis cliquer sur le bouton "Add SSH key".

Dans le terminal, exécuter la ligne de commande ci-desous, puis appeler le professeur :

ssh -T git@github.com

Vous vous êtes connecté.e.s en ligne de commande au site github. Il n'est nécessaire de réaliser cette opération qu'une fois par ordinateur. Si vous souhaitez vous connecter en ligne de commande pour travailler chez vous, vous devrez suivre les mêmes étapes.

Nous allons voir maintenant comment télécharger un dépôt, créer, éditer des fichiers, puis mettre à jour le dépôt.

  • Ouvrir un nouveau terminal.

  • Coller la ligne de commande dans le terminal :

    git clone git@github.com:votre_pseudo_github/cours-nsi.git

    en remplaçant votre_pseudo_github par votre pseudo. Appuyer sur entrée pour valider.

  • Exécuter la commande cd cours-nsi puis la commande cat README.md

  • Exécuter la commande nano README.md

    Éditer le ficher comme vous le souhaitez, puis appuyer simultanément sur les touches Control s (sauvegarde du fichier), puis Control q (quitter l'éditeur).

  • Exécuter la commande git status

    Lire et comprendre l'affichage réalisé par cette commande.

  • Exécuter les commandes suivantes les unes après les autres (appuyer sur entrée entre chaque commande).

    🐍 Code Python
    1
    2
    3
    git add README.md
    git commit -m "mon premier commit en ligne de commande"
    git push
    
  • Vous rendre sur la page github de votre dépôt.

    Commenter les modifications.

Nous allons utiliser le dépôt https://github.com/florian-picard/cours-nsi-premiere pour stocker les documents distribués en cours, l'écriture en cours au tableau des codes…

  • Cloner le dépôt du cours, puis ouvrir le fichier pdf correspondant au document papier distribué ce cours.
  • Appeler le professeur pour vérification à cette étape.

Vitesse de frappe

Nous allons passer beaucoup de temps à écrire des codes informatiques. Il importe donc que votre vitesse de frappe au clavier soit "raisonnable". Savoir utiliser efficacement un clavier (vitesse de frappe, raccourcis claviers) n'est pas optionnel en NSI !

  • Vous rendre sur le site http://dactylotest.free.fr/dactylotest/

    Recopier, sans faute, le texte affiché à l'écran. Vous pouvez faire plusieurs essais.

  • Estimer votre vitesse moyenne de frappe.

Moins de 40 mots par minute :

Il va falloir s'entraîner. Vous devez faire des gammes toutes les semaines sur un site comme dactylotest.

 

Entre 40 et 60 mots par minute :

Vous avez une bonne vitesse de frappe. Vous pouvez continuer ainsi, mais vous entraîner vous fera gagner en aisance.

 

Plus de 60 mots par minute :

Vous avez une excellente vitesse de frappe, bravo ! Savez-vous taper avec vos dix doigts ?

  • Appeler le professeur pour vérification à cette étape.

Des algorithmes

L'histoire du crêpier psychorigide

À la fin de sa journée, un crêpier dispose d’une pile désordonnée de crêpes. Le crêpier étant un peu psychorigide, il décide de ranger sa pile de crêpes, de la plus grande (en bas) à la plus petite (en haut).

Pour cette tâche, le crêpier peut faire une seule action : glisser sa spatule entre deux crêpes et retourner le haut de la pile.

Comment doit-il procéder pour trier toute la pile ?

  1. En groupe de 2 ou 3 personnes maximum, résoudre le problème du crêpier psychorigide. Vous utiliserez votre règle comme spatule, et vous devrez impérativement respecter les conditions suivantes :

    • Il est interdit de sortir une crêpe du milieu de la pile, ou de poser une partie du tas sur la table.
    • La seule action autorisée est de prendre les $x$ crêpes du haut de la pile (où $x$ est le nombre qu'on veut), de retourner cette petite pile de crêpes et de la reposer sur les autres crêpes restées sur la table.
  2. Élire dans le groupe un élève "programmeur", et un élève "ordinateur".

    Le programmeur dicte à l'ordinateur une série d'instructions qui vont permettre de trier la pile de crêpe. L'ordinateur exécute mécaniquement les instructions proposées par l'ordinateur.

  3. Même question que la question précédente, mais cette fois-ci le programmeur ne voit plus le tas de crêpes.

  4. Écrire une séquence d'instructions permettant au crêpier psychorigide de résoudre son problème.

Exécution d'instructions

Se rendre à l'adresse https://compute-it.toxicode.fr/ et essayer de résoudre le plus de niveaux possibles.