Chapitre 1 : Introduction

ISN 2015/2016

Lors de votre navigation dans la page, pour revenir au menu, cliquez sur le titre de la section ou du paragraphe.

Préambule

  1. Informatique

    Durant cette année d'ISN, nous allons étudier l'informatique. Qu'est-ce-que l'informatique ? Le dictionnaire Larousse en donne la définition suivante :

    • La science du traitement automatique et rationnel de l'information considérée comme le support des connaissances et des communications
    • L'ensemble des applications de cette science, mettant en œuvre des matériels (ordinateurs) et des logiciels

    Plusieurs mots clefs apparaissent dans cet énoncé : traitement automatique, information, ordinateur , logiciel et enfin science. Et c'est bien parce que l'informatique est une science, jeune certes (le mot informatique n'est reconnu par l'académie française que depuis 1966), mais en plein essor qu'elle mérite d'être enseignée au lycée.
    Ces informations peuvent être de natures diverses (texte, images, sons, bases de données) et la façon des les traiter peut être aussi très diverse, car les ordinateurs sont des machines universelles et pour ceux que nous étudierons, des machines déterministes.

    Une suite d'instructions qui permet de traiter des informations de façon systématique, s'appelle un algorithme. Les hommes utilisent des algorithmes depuis la nuit des temps et pas seulement en mathématiques : une recette de cuisine est une forme d'algorithme ... Pendant longtemps, la plupart des algorithmes ont été appliqués par des hommes puis par des systèmes mécaniques ou électriques de plus en plus perfectionnés. Un développement intéressant et à l'origine de l'apparition des premiers ordinateurs est celui des machines à calcul comme la Pascaline.
    Le grand changement c'est l'apparition de l'ordinateur au XXième siècle, une machine universelle, dont l'architecture permet d'exécuter, de plus en plus rapidement, toute sorte d'algorithme de traitement d'informations, à condition que cet algorithme soit traduit dans un langage compréhensible par la machine.

    Durant notre année d'ISN, nous découvrirons donc l'informatique à travers quatre thèmes fondamentaux :

  2. Clef ISN

    Nous travaillerons sur la clef ISN (alias clef Agreg) live bootable développée par Fançois Boisson de l'INRIA. Elle embarque un système d'exploitation Linux (plus précisément une distribution Debian). Tous les logiciels qui pourront nous être utiles seront disponibles sur cette clef. Nous travaillerons de façon quasi exclusive avec des logiciels libres. De plus, avec la clef ISN, l'utilisateur possède les droits administrateur ce qui permet de regarder plus facilement sous le capot .

    La première étape va donc consister à fabriquer la clef. Il faut se munir d'une clef d'au moins 4 Go, formatée en FAT32 ou VFAT. Pour celà il ne suffit pas de copier les fichiers d'une clef existante sur une autre mais il faut suivre l'une des procédures détaillées dans le document suivant . L'image ISO de la clef est téléchargeable sur cette page. Nous utiliserons l'image ISO ClefAgreg-8.1-rc2.iso dernière version disponible au 31/08/2014.

    Une fois que la clef est créée (si vous utilisez LinuxLive USB Creator n'oubliez pas de cocher l'option formatage de la clef et vous pouvez décocher l'option fichiers cachés), il faudra rajouter des extensions dans le répertoire ISN situé à la racine de la clef. J'ai préparé un fichier texte avec la liste des extensions nécessaires. Ce sont des fichiers d'extension sqh. Les extensions officielles peuvent être téléchargées sur la page officielle http://isn.dnsalias.org/index.php et les extensions perso sur la page http://www.frederic-junier.org/parcisn/ de mon site.

Histoire


  1. Premiers ordinateurs

    Un excellent film documentaire sur l'histoire de l'informatique a été produit en 2010 par Thierry Viéville et Gérard Berry, il s'intitule "Pour quoi tu cherches ? : pourquoi et comment notre monde est devenu numérique" et il est disponible sur cette page web .
    Plus modestement, voici quelques dates importantes dans l'histoire de l'informatique jusqu'à l'apparition des premiers ordinateurs :

    • Pascal (1642) et Leibniz (1673) ont conçu au XVIIème siècle des machines capables d'additionner, soustraire voir multiplier et diviser pour celle de Leibniz.
    • Vers 1800, Jacquard a inventé un système de cartes perforées pour commander des métiers à tisser, les cartes agissant comme des programmes.
    • Les cartes de Jacquard ont donné l'idée à Charles Babbage d'imaginer une machine à calcul programmable qui constitue l'ancêtre de l'ordinateur moderne. Babbage n'a jamais pu construire sa machine mais son fils en réalisa un exemplaire vers 1910 :
      • Un moulin effectuait les calculs, équivalent du processeur
      • Un magasin stockait les résultats, équivalent de la mémoire
      • Les résultats pouvaient être imprimés
      • Les programmes étaient lus par le moulin sur des cartes perforées dans un langage spécifique que Babbage avait conçu avec Lady Ada Lovelace
    • Alan Turing conçut en 1936 un modèle de machine universelle de calcul, il participa aussi pendant la guerre au développement de l'énorme machine Colossus qui réussit à casser les codes secrets de la machine Enigma des Nazis.
    • Les premiers ordinateurs, des calculateurs géants inspirés de la machine de Babbage, furent conçus pendant la seconde guerre mondiale : le Z3 , le Mark 1, l'ENIAC.
    • Image de l'ENIAC
      L'ENIAC : plus de 20 m de long, 2 m 50 de haut, 30 tonnes
    • En 1945, John Von Neumann décrivit l'architecture d'un ordinateur et son modèle est encore celui de la plupart des machines actuelles.
    • Ensuite les tubes à vide et commutateurs furent remplacés par des transitors, qui furent regroupés dans des circuits intégrés, puis toute l'unité centrale fut insérée dans un microprocesseur. Ainsi les ordinateurs, d'abord utilisés par les militaires, conquirent le monde de la recherche, celui de l'entreprise puis ce fut l'essor des micro-ordinateurs (IBM/Apple) dans les années 80, celui d'internet dans les années 1990, des mobiles dans les années 2000 ...
  2. Machine de Turing

    En 1936, Alan Turing a proposé un modèle de machine universelle pouvant réaliser n'importe quel calcul. Un machine de Turing est constituée d'un ruban divisé en cases (contenant des symboles comme des 0 ou des 1) le long duquel se déplace une tête de lecture/écriture. Par ailleurs il existe une table de transitions qui associent à chaque couple (état courant, caractère courant lu) un triplet (nouvel état, nouveau caractère courant écrit, déplacement de la tête). Au départ on donne à la machine une entrée, des symboles écrits sur le ruban, la machine s'exécute et elle s'arrête lorsqu'elle arrive à un couple (état courant, caractère courant lu) qui n'est pas dans la table de transition. Les symboles écrits sur le ruban constituent alors le résultat.
    Une machine de Turing de base exécute à priori toujours le même programme stocké dans sa table de transition mais Turing a démontré qu'on pouvait concevoir une machine de Turing universelle qui pourrait lire sa table de transitions, son programme sur le ruban puis faire ses calculs sur une autre partie du ruban.
    La machine de Turing est un modèle de calcul qui est très important en informatique théorique et en mathématiques. Turing en a d'ailleurs démontré les limites en donnant un exemple de fonction non calculable : c'est le problème de l'arrêt.

    Pour mieux comprendre le fonctionnemment d'une machine de Turing , on peut consulter les documents suivants :

    Exercice 1

    1. Que savez-vous d'alan Turing ?
    2. Lire la page du site Interstices sur la machine de Turing et tester avec le simulateur le programme Multiplier par 2 (en mode pas à pas) pour le nombre 2 noté 10 en binaire.
      Cliquer sur ce lien pour obtenir l'explication du fonctionnement de la machine de Turing réalisant ce programme.
    3. Avec le même simulateur tester le programme Ajouter 1 pour le nombre 7 dont l'écriture en binaire est 111. Une machine de ce type est décrite sur cette page du site Interstices.

Architecture


Nous étudierons plus en détails, l'architecture des ordinateurs dans un chapitre dédié, mais pour commencer, voici quelques fondamentaux.
  1. Modèle de Von Neumann

    En 1945, Von Neumann participe au projet EDVAC, sucesseur de l'ENIAC et propose dans un rapport un modèle d'architecture encore valable pour les ordinateurs actuels et qui se compose de quatre éléments :
    1. Le processeur ou unité centrale composé de deux éléments distincts :
      • L'unité de commande (UC) qui contrôle le séquencement des instructions
      • L'unité arithmétique et logique (UAL) qui exécute les instructions à l'aide d'opérations arithmétiques (addition, soustraction, mutltiplication) et logiques (ET, Ou, Non) élémentaires
    2. La mémoire contenant les données et le programme (suite d'instructions) comme dans une machine de Turing universelle.
    3. Des périphériques d'entrées/sorties (qui désormais peuvent être gérés par des processeurs dédiés).
    L'ensemble de ces éléments communiquent par des voies d'échanges appelées bus (de données, d'adressage mémoire, de contrôle). En pratique, le débit du bus de données a cru moins vite que celui du bus d'adresses et que la vitesse des processeurs, ce qu'on appelle le goulot de Von Neumann (d'où l'utilisation de mémoires caches dans le processeur).
    Image de l'ENIAC
    Le modèle de Von Neumann
  2. Composants

    Un ordinateur moderne peut se décrire avec le schéma suivant tiré du site wikipedia.

    Composants d'un ordinateur
    Les composants d'un ordinateur
    On peut distinguer les composants suivants :
    1. L'écran, c'est un périphérique de sortie
    2. La carte mère , c'est un circuit imprimé qui connecte tous les composants essentiels de l'ordinateur, sur le côté de la carte, on retrouve les ports externes (souris, clavier, ports video, ports imprimantes, ports USB, port réseau si la carte possède une carte réseau intégrée ...). la carte mère joue le rôle du bus.
    3. Le processeur ou unité centrale, il est disposé sur un socket et surmonté d'un ventilateur et d'un dissipateur thermique (une sorte de radiateur)
    4. Des ports Parallel ATA ou SATA pour connecter des périphériques de stockage comme des disques durs ou de lecture comme des lecteurs DVD
    5. La mémoire vive ou RAM (Random Access Memory) qui se présente sous la forme de barettes enchâssées dans des slots. La mémoire vive est la mémoire du modèle de Von Neumann, c'est une mémoire d'accès rapide mais non persistante (les données sont effacées lorsque l'alimentation est coupée) et toutes les cellules mémoires peuvent contenir des données ou des instructions (d'où le Random Access )
    6. Des ports PCI (Peripheral Component Interconnect) pour des cartes d'extension (carte video, audio, réseau, carte avec ports USB supplémentaires...)
    7. Une alimentation électrique
    8. qui fournit une tension adaptée (5 V, 12 V) aux composants de l'ordinateur, elle est munie d'un ventilateur
    9. Un lecteur de disque optique (DVD, CD)
    10. Un disque dur , une mémoire de stockage externe, d'accès lent mais c'est une mémoire persistante (support magnétique).
    11. Un clavier , c'est un périphérique d'entrée.
    12. Une souris , c'est un périphérique d'entrée.
    Comme complément d'information, je vous suggère de consulter l'excellent cours d'architecture de Stéphane Gonnord professeur de Mathématiques et d'informatique en classes préparatoires au lycée du Parc.

    Exercice 2

    1. Faire une recherche sur le chipset, c'est un composant non représenté sur le schéma, mais qui est essentiel au fonctionnement de l'ordinateur.
    2. Sur les photo suivantes ou sur la machine ouverte présentée en classe par M.Junier, reconnnaître les principaux éléments décrits ci-dessus.
    sousle capot, photo1
    Sous le capot, photo 1
    sousle capot, photo2
    Sous le capot, photo 2

Information


  1. Codage

    Le terme information vient du latin informare qui signifie prendre forme de. Une information est une idée qu'un esprit humain peut concevoir .Cette idée peut être associée à une représentation du monde sensorielle (image, son) ou immatérielle (nombre, mot).

    Pour représenter un type d'information on définit d'abord un système de représentation comme le codage Rouge Vert Bleu (couleurs primaires) pour les couleurs ou les vingt six lettres de l'alphabet pour la langue française, les notes d'une gamme musicale pour la musique, les chiffres de la numération décimale de position ... Evidemment, plusieurs systèmes de représentation peuvent coexister : les hommes utilisent plusieurs alphabets, les couleurs peuvent être représentées dans le système Teinte Saturation Valeurs ...

    Comme on l'a dit précédemment, un ordinateur est une machine universelle qui peut traiter toutes sortes d'informations en leur appliquant les mêmes algorithmes génériques qu'ils s'agissent d'informations de type images, texte ... Pour celà, on utilise en informatique, un codage universel qui est un codage à deux symboles le 0 et le 1 appelé codage binaire.
    L'atome d'information est le bit et pour des raisons historiques, l'unité de cellule mémoire dans un ordinateur est l'octet , série de 8 bits. Toutes les informations (images, tewtes, sons) sont codées sous la forme de successions de bits mais la façon dont ils sont codés, l'encodage, diffère selon les types d'informations.

    Dans les chapitres ultérieurs, nous étudierons plus en détail le codage des nombres, des caractères, des images et des sons mais une excellente introduction peut être lue dans ces pages du site Interstices : tout a un reflet numérique et codage binaire .

  2. Exercice 3

    Voici quelques propositions de sujets autour du thème (difficile) de la quantification de l'information. Dans le cadre de l'exposé obligatoire du premier trimestre, vous pouvez choisir l'un des sujets suivants ou l'un des sujets de l'exercice de la page Hypermnésie du web, pour préparer à l'aide de l'outil informatique un support destiné à une présentation orale de 6 minutes :

    1. La complexité de Kolmogorov, théorie algorithmique de l'information .
    2. L'entropie de Shannon, théorie probabiliste de l'information.
  3. Fichiers

    On a vu qu'une image, un texte, un son peut être représenté dans la mémoire vive de l'ordinateur sous la forme d'une succession de bits. Quand on a besoin de conserver des informations, on les stocke sur une mémoire persistante ou stockage de masse comme un disque dur. Sur ce disque on peut stocker plusieurs images, plusieurs textes, on a donc besoin d'organiser notre espace en une série de sous-ensembles appelés fichiers. Chaque fichier stocke une information d'un certain type (image, son, texte ...). Pour gérer les fichiers on a besoin de formater d'abord notre disque de stockage avec un système de fichiers (FAT, NTFS, ext2 ...)

    Exercice 4

    Citer les sytèmes de fichiers utilisés par des systèmes d'exploitation tels que Windows, Linux, MacOS.
  4. Arborescence de fichiers

    En pratique le nombre de fichiers stockés dans la mémoire physique d'un ordinateur est considérable : il y a les fichiers nécessaires au fonctionnement du système d'exploitation ou des applications, ceux stockant de documents personnels (images, textes ...).

    On distingue en général les fichiers normaux des fichiers exécutables. Attention le code source d'un programme en C est un fichier normal, un programme nommé compilateur permet de créer à partir du code source un fichier exécutable qui peut dépendre de la plateforme.
    Les fichiers sont déjà identifiés par leur nom qui doit respecter un certain nombre de conventions pour être compatible avec plusieurs systèmes de fichiers : les caractères accentués et les espaces sont à bannir ainsi que les caractères spéciaux des systèmes ( \ sous Windows /,?,*|,-,',", sous Linux). En plus de ses données, un certain nombre de meta-données (adresses des blocs de données, propriétaire, permissions, taille, type, nombre de leins physiques ...) sont associées à un fichier. Sous Linux, elles sont regroupées dans un structure appelée inode et tous les inodes sont gérés dans une tablea d'inodes ou FAT (File Allocation Table
    Les fichiers téant très nombreux, ils sont regroupés dans des fichiers spécifiques appelés dossiers ou répertoires . Un répertoire peut être contient une liste de fichiers, en fait des pointeurs vers leurs inodes dans la FAT.
    On constitue des répertoires par catégories de fichiers similaires et on peut rassembler les répertoires dans d'autres répertoires à la manière de poupées russes.
    Par exemple, le dossier racine / contient le dossier home qui contient le sous-dossier frederic qui lui même contient le sous-dossier programmes qui contient le fichier fibonacci.py.
    Une telle organisation des fichiers est dite arborescente, car on peut la visualiser sous la forme d’un arbre dont le répertoire racine peut s'appeler root noté / sous Linux ou \ sous Windows.

    Sytème de fichiers
    Arborescence du système de fichiers sous Unix (Linux, Mac, FreeBsd ...)
    Pour qu'on puisse savoir où l'on se trouve dans l'arborescence (commande pwd dans un shell Linux) chaque répertoire contient un lien vers lui-même (noté . sous Linux) et pour qu'on puisse remonter dans l'arborescence, il contient aussi un lien vers son répertoire parent (noté ..). Attention, pour maintenir une structure d'arbre, un répertoire ne peut posséder qu'un seul parent (mais il peut avoir plusieurs répertoires enfants).
    Dans l'exemple précédent le fichier fibonacci.py est une feuille de l'arbre, on y parvient en partant de la racine, en suivant le tronc, puis une branche, puis une sous-branche ...
    Ce chemin se note /home/frederic/programmes/fibonacci.py, c'est un chemin depuis la racine de l'arbre ou chemin absolu. Mais on peut définir aussi un chemin relatif par rapport au dossier courant (celui où l'on se trouve). Par exemple si on se trouve dans le répertoire /home/frederic le chemin relatif jusqu'au fichier fibonacci.py est programmes/fibonacci.py ou ./programmes/fibonacci.py où le symbole . désigne le répertoire courant.

    Sur un même disque de stockage, un système d'exploitation peut gérer plusieurs systèmes de fichiers appelés partitions .
    Linux peut intégrer dans une même arborescence des systèmes de fichiers diffếrents grace au système de fichiers virtuels VFS.
    Windows fonctionne différemment en attribuant des lettres aux différents systèmes de fichiers : on peut avoir une partition système dans C:\, une partition de données dans D:\ , une clef USB dans F:\ etc ...
    Voici un exemple de systèmes de fichiers montés sur un PC avec deux disques (sda sous Linux, sdb sous Windows) comportant chacun deux partitions (sans compter la partition de swap pour Linux).
    Celà représente 1278493 fichiers.

    fjunier@fjunier:~$ df -Tm
    Sys. de fichiers Type     1M-blocs Utilisé Disponible Uti% Monté sur
    /dev/sda1        ext4        56321   15370      38091  29% /
    udev             devtmpfs     4011       1       4011   1% /dev
    tmpfs            tmpfs        1608       1       1607   1% /run
    none             tmpfs           5       0          5   0% /run/lock
    none             tmpfs        4018       1       4018   1% /run/shm
    /dev/sda2        ext4       872999   74692     753962  10% /home
    /dev/sdb3        fuseblk    851267   69385     781883   9% /media/données
    /dev/sdb2        fuseblk    102500   72402      30099  71% /media/système
    fjunier@fjunier:~$ find / -type f 2>/dev/null |wc -l
    1278493
    
    Comme complément d'information, je vous suggère de consulter l'excellent cours de soft de Stéphane Gonnord professeur de Mathématiques et d'informatique en classes préparatoires au lycée du Parc.

    Exercice 5

    Classer, sous la forme d'une arborescence, les fichiers de son répertoire personnel sur le réseau du lycée puis les fichiers que vous avez créés depuis le début de l'année dans votre dossier ISN.

  5. Quelques commandes en mode console

    La commande ls (Linux) ou dir (Windows) permet d'afficher la liste des fichiers ou sous-dossiers d'un dossier. Les commandes du shell bash (le plus usuel sous Linux) peuvent être paramétrées avec des options introduits par des tirets hautes. Pour connaître la syntaxe d'une commande comme ls il est recommandé de lire l'aide du manuel avec la commande man ls

    user@user:~$ ls
    Desktop  doc.txt  Documents  liste
    user@user:~$ man ls
    user@user:~$ ls -l
    total 12
    drwx------ 2 user user  100 juil. 12 12:19 Desktop
    drwxr-xr-x 3 user user 8192 sept. 14 21:50 Documents
    -rwxr-xr-x 1 user user   85 juil. 12 04:31 liste
    user@user:~$ pwd
    /home/user
    

    Comme on le voit ci-dessus la commande ls -l affiche la liste des fichiers et répertoires dans le répertoire courant (ici /home/user, affiché par la commande pwd), avec quelques renseignements supplémentaires. Si on considère le premier bloc de 10 caractères on trouve dans l'ordre :

    • en première colonne le type de fichier, - pour un fichier normal et d pour un répertoire
    • puis trois blocs de trois lettres rwx (ou - pour rien) indiquant les droits de lecture (r), d'écriture (w et d'exécution (c) de chaque type d'utilisateur.
      Pour un fichier (ou un répertoire), il existe trois catégories d'utilisateurs : owner (le propriétaire), group (les utilisateurs appartenant au même groupe que le propriétaire) et other (tous les autres). Chaque catégorie peut disposer de droits différents en lecture, écriture et exécution. Ces principes s'appliquent sur un ordinateur personnel (avec des variantes selon l'OS), sur le réseau d'un lycée, sur un site internet ....
    • puis viennent le nom du propriétaire et du groupe du fichier
    • ensuite la taille en octets
    • enfin la date de la dernière modification du fichier et le nom du fichier

    Tester les commandes suivantes dans la console Linux de la clef ISN.

    • La commande cd (pour change directory) permet d'atteindre un fichier en donnant le chemin relatif ou absolu qui permet d'y accéder.
    • La commande cd .. permet d'accéder au répertoire parent et la commande pwd retourne le chemin absolu depuis la racine jusqu'au répertoire où l'on se trouve. Le symbole ~ est un raccourci pour noter le répertoire personnel dont le chemin absolu dans cet exemple est /home/user.
    • La commande touch fichier permet de créer un fichier et mkdir repertoire permet de créer un répertoire.
    • La commande cp source cible permet de copier un fichier.
    • La commande rm fichier permet de supprimer un fichier et rm -Rf repertoire permet de supprimer un répertoire.
    • La commande ls -a affiche tous les fichiers d'un répertoire même les fichiers cachés. Un répertoire même vide contient toujours au moins deux éléments le répertoire courant symbolisé par un . et le répertoire parent symbolisé par ..
    user@user:~$ ls
    Desktop  Documents  liste
    user@user:~$ cd Documents/
    user@user:~/Documents$ pwd
    /home/user/Documents
    user@user:~/Documents$ cd ..
    user@user:~$ cd /
    user@user:/$ ls
    bin   dev  FB    lib    media  oldroot  root      sbin     srv  tmp  var
    boot  etc  home  lib64  mnt    proc     rr_moved  selinux  sys  usr
    user@user:/$ pwd
    /
    user@user:/$ cd /home/user
    user@user:~$ cd /
    user@user:/$ cd ~
    user@user:~$ cd Documents/
    user@user:~/Documents$ ls -a
    .  ..
    user@user:~/Documents$ mkdir repertoire
    user@user:~/Documents$ ls -a
    .  ..  repertoire
    user@user:~/Documents$ cd repertoire/
    user@user:~/Documents/repertoire$ touch fichier.txt
    user@user:~/Documents/repertoire$ ls -l
    total 0
    -rwxr-xr-x 1 user user 0 sept. 14 22:17 fichier.txt
    user@user:~/Documents/repertoire$ cd ..
    user@user:~/Documents$ touch fichier2.txt
    user@user:~/Documents$ ls -l
    total 8
    -rwxr-xr-x 1 user user    0 sept. 14 22:40 fichier2.txt
    drwxr-xr-x 2 user user 8192 sept. 14 22:40 repertoire
    user@user:~/Documents$ cp repertoire/fichier.txt /home/user/fichiercopie.txt
    user@user:~/Documents$ cd ~
    user@user:~$ ls
    Desktop  Documents  fichier2.txt  fichiercopie.txt  liste
    user@user:~$ ls -R Documents/
    Documents/:
    fichier2.txt  repertoire
    
    Documents/repertoire:
    fichier.txt
    user@user:~$ cd Documents/
    user@user:~/Documents$ ls
    fichier2.txt  repertoire
    user@user:~/Documents$ rm fichier2.txt
    user@user:~/Documents$ ls
    repertoire
    user@user:~/Documents$ rm -Rf repertoire
    user@user:~/Documents$ ls
    user@user:~/Documents$ ls -a
    .  ..
    

    Pour plus d'infos sur les commandes de la console Linux, on pourra consulter avec profit le livre Linux l'essentiel du code et des commandes de Scott Granneman édité chez Pearson.

    Exercice 6

    1. Ouvrir une console Linux, exécuter la commande pwd, se rendre à la racine avec cd / puis la commande ls.
    2. Utiliser la commande cd pour accéder au répertoire /usr/bin qui contient les exécutables qui ne sont pas nécessaires au démarrage du système. Exécuter la commande ls.
    3. Exécuter la commande whereis ls qui permet de déterminer l'emplacement de la commande ls.
    4. Uiliser la commande man pour avoir la documentation des commandes cp,zip, unzip, tar, rm (à utiliser avec la plus grande prudence),mv, touch et mkdr.
    5. Se rendre dans le répertoire /home/user/Documents et créer un répertoire PythonScripts contenant un fichier script.py, copier ce fichier dans le répertoire /home/user puis supprimer ce fichier et le répertoire PythonScripts.

Langages


Pour écrire des programmes ou réaliser des pages web, il faut donner des instructions à l'ordinateur dans un langage. Cette année vous utiliserez deux langages :
  • Python qui est un langage de programmation appartenant à la famille des langages interprétés ou de script.
  • HTML et CSS qui ne sont pas des langages de programmation mais de description de contenu à travers sa sémantique (HTML) et sa mise en forme (CSS)
Pour réaliser votre projet, vous aurez peut être envie de créer des pages web dynamiques, je vous conseille d'utiliser alors PHP qui est un langage de script s'exécutant côté serveur et qui peut générer à la volée des pages HTML.

Algorithmes

Après avoir suffisamment programmé en Python, nous pourrons aborder quelques algorithmes classiques :

Enfin, s'il nous reste un peu de temps nous pourrons faire un peu de programmation objet pour concevoir des classes de structures de données classiques comme :