Cours 2: Interfaces fichier: un contenu qu`on enregistre en un bloc

publicité
Cours 2:
Interfaces
fichier: un contenu qu'on enregistre en un bloc, des données: un
morceau de musique, un programme, un film, un texte.
dossier: un contenant, qui contient des fichiers ou des dossiers.
application=programme=logiciel=progiciel
Historique:
Avant la souris: Les langages
1 - Le langage machine: Donner des nombres, recevoir des nombres
On écrit directement dans les mémoires avec des interrupteurs, puis
des cartes perforées, les opérations et les données.
La machine répond sur une imprimante. Séquelles: ASCII art, code
barre, QR-Code, menu en bas, Textes scroll bas->haut
2 - Code Assembleur: des programmes en langage machine sont
chargés de traduire les touches en lettres, certains mots en chiffres:
Ecran texte uniquement, et clavier. Les opération possibles changent
avec chaque géneration processeur.
Séquelle: Microcontroleur. Programmes temps réel (missiles) gdb.
Virus... Premiers jeux video (Pong, asteroid, Pacman…)
3 - Langages CP/M, MS-DOS:
Des manipulations reprennent toujours les mêmes séquences, par
exemple pour manipuler des dossiers et fichiers sur le disque.
On crée donc des sortes de "macro" pour désigner faire ces
opérations en tapant un seul mot ("ls", "dir", "cd" etc..)
Sequelles: ligne de commande (cmd Windows, Terminal Mac) shells
(bash), éditeurs (Emac, Vim, …)
4 - Langages évolués:
Kernigan et Richie, programmeurs, ne veulent plus réapprendre les
commandes processeur à chaque génération
Ils décomposent la communication avec la machine en deux parties
- Un petit lexique qui décrit les opérations que font tous les
processeurs
chaque mot de ce mini lexique sera à traduire en assembleur à
chaque nouveau processeur
- Mais aussi un grand langage évolué dont chaque mot sera défini
par des mots du lexique: le langage C
- Ils peuvent écrire et garder de grands programmes en C, et n'ont
plus qu'un lexique à réécrire pour chaque processeur
Un programme (le compilateur) traduira le langage évolué en
assembleur. Il sera écrit en C...
Dans la foulée, on invente toute sorte de langages, (parfois écrits en
C)
Sequelles: UNIX écrit en C pour les seules machines de l'époque,
énormes et centralisées, qui doivent servir à plusieurs utilisateurs
(terminaux). UNIX est donc
- multitâche: plusieurs programmes tournent "en même temps". En
réalité, chaque tâche a une zone de RAM réservée, où le processeur
pose ses registres. Il saute d'une tâche à l'autre comme une abeille
d'une fleur à l'autre)
- multiutilisateur: chaque utilisateur a sa zone de disque et d'accès
réservés aux ressources de l'ordinateur, pour ne pas saboter les
autres
Sequelles:
Login+Mot
de
passe,
compte
admin=superUser=root(arborescence pyramidale). Linux, Hurd.
OS et GUI:
- Années 80: Invente l'ordinateur individuel, monotâche,
monoutilisateur, donc beaucoup plus simple. Apple1,2 , ZX81, puis
PC
Ecran couleur avec pavés colorés, mais on travaille sur tout l'écran (et
non plus par lignes défilantes comme une imprimante)
Son: Bips et jusqu'à 3 sons simultanés. Mais pas de souris: entrée
clavier (dont touches fléchées) et joystick (à boutons on/off)
Programmation:
BASIC, FORTH, COBOL, FORTRAN, LISP,
FORTH…
L'ordinateur n'exécute que des lignes de commande (dont une
lance le GUI)
- Années 90: Rank Xerox+Steve Job = Liza, puis Mac, puis Windows
3.1, Atari, Amiga: Souris+fenêtres+ icônes.
En réalité, l'interface graphique (GUI) traduit les actions
graphiques en lignes de commande
OS = Operating Système: l'ensemble des commandes et les
programmes chargés de faire marcher du disque au web
Mac OS 7.5 à 10.10, Widows 95 à 10, Android 2 à 4, Linux Red Hat
à Ubuntu (Debian, Ubuntu, Mint, Mandriva, Suse, Gentoo…)
GUI = Graphic User Interface, qui varie avec les version Windows,
Mac, Android
Linux: GUI spécifiques à certaines versions de Linux: Unity (Ubuntu),
Cinnamon(Mint)
en plus des GUI communs à tous les Linux: KDE, Gnome, XFCE,
LXDE en plus de
Formats
- Comparaison: Directeur de théâtre qui doit attribuer ses places à
différents groupes (fichiers) qui arrivent en bus(Belfort.jpg, Mehun.doc
), et note sur son plan (FAT) les places occupées. Et puis des groupes
se désistent et il en arrive d'autres, de taille différente...
- Un disque est divisé en pistes et secteurs, un partie du disque est
réservée pour noter quels secteurs sont occupés:
nom du fichier et liste des numéros de secteurs où il est écrit. Même
système pour Disques durs, SD cards, clefs USB.
Mais il y a des variantes… FAT16, FAT32, NTFS(Win) HFS(Mac)
EXT2(Linux), journalisé …
- FAT est lu par tous mais limité à 4Go par fichier (problème des
videos)
(on n'avait pas prévu assez de cases pour écrire des grands numéros
de secteur. FAT a quelque problèmes sous Mac)
- NTFS lu mais pas écrit par Mac. HFS non lu par Win.
- Linux lit tout et a aussi ses propres formats
Les OS pourraient les lire tous mais préfèrent verrouiller leurs clients
Il y a des programmes qui permettent de lire/ecrire des formats
2 - L' Arborescence des dossiers et sa
notation
Préalable: codage des lettres, ASCII (UTF8, Window Latin1, Mac
Roman), caractères invisibles.
- Arborescence: disque, les dossiers, les sous-dossier et les
fichiers.
- Notations par : / \ selon le langage et le système (Windows,
UNIX, AppleScript…)
- Notion de raccourcis/alias/lien symbolique qui mène au vrai
fichier mais ne contient rien
- Nom de fichier= Nom.suffixe , le suffixe (jpg html doc…)donne
la nature du fichier sans lire son header.
header: la plupart des fichiers commencent par des octets
indiquant la nature et la taille du fichier
- Nom de fichier:caractères interdits et déconseillés:
éviter ponctuations et espaces, ne garder que chiffres et lettres
sans accents et _
- Dossiers et fichiers invisibles: selon le système on peut les voir
quand même.
nom précédé d'un point chez Mac et Linux, dossier "hidden"
Les dossiers à connaître:
Bureau, C: ,Téléchargement, Mes documents, Utilisateur
Plusieurs dossiers ont un même nom à la racine et dans chaque
dossier Utilisateur
- Apprendre à nommer un fichier avant de s'en servir
Intérêt de savoir créer des dossiers et des raccourcis.
Créer des dossiers et des sous-dossiers nommés astucieusement
(Exemple pratique: les photos)
- Spécial Mac: les suffixes cachés, les applications sont des
dossiers (clic droit "Afficher le contenu du paquet")
Clavier
Chaque touche émet un code différent, relié à un caractère par
logiciel
Problèmes:
La taille du clavier limite le nombre de touches (portables,
tablettes)
Le code de la touche 1 numérique n'est pas le même que celui du
1 alpha
Le code de la touche A chez nous est le même que celui du Q USA
Pb si le logiciel lit le code la touche au lieu du caractère rendu par
le logiciel
(logiciels de jeu, émulateurs…)
Touches combinées: à presser avant et maintenir, parfois
plusieurs ensemble
SHIFT, CAPS SHIFT, CTL, ALT, CMD (Mais elles peuvent être
nommées autrement: Maj Pomme...)
Elles ont un symbole (par exemple dans les menus)
Autres: Fn, Ver Num, Windows
Touches programmables:
Touches à effet variable selon le logiciel: touches de fonction F1
F2 …(nombre variable)
Touches spéciales de certains claviers (lire,rembobiner,
internet…)
A connaître par cœur: Esc, CTL(PC) ou Cmd(Mac) avec
Z(Zut:annule) C(copie) V(insère)
Très utiles: CTL(PC) ou Cmd(Mac) avec S(sauve) Q(quitte)
A(tout) W(ferme fenêtre)
Arrêter de force une application:
Gestionnaire de tâche Mac: Cmd+ALT+Esc PC:CTL+ALT+Del
Menu arrêter
Special Mac: ALT+Clic sur l'icône du Dock et Forcer à Quitter
Souris:
Evite de connaître et taper des commandes, bâton virtuel au bout du
poignet pour agir dans la fenêtre
Sert à gérer les fichiers: Sélectionner, Déplacer, Actionner
simple clic(sélectionne), double clic(actionne), clic droit(actions
contextuelles), drague(déplace), clic long,
molette, molette cliquée, molette cliquée roulée.
Actions supplémentaires avec touche combinée SHIFT, CTL, ALT,
CMD
Variantes et réglages:
- Anciens: stick rouge au milieu du clavier, TrackBall
- Souris 1 bouton, plus de 3 boutons, DPI, accélération, délai clic
- Pad portable avec/sans boutons, zone de défilement, multi doigt,
fonctions supplémentaires (zoom)
- Ecran tactiles: manipulations limitées à clic, clic long, draguer
On leur ajoute donc menu contextuel, touche ou symbole de menus,
bords actifs (style Windows 8)
Autres périphériques d'entrée:
(souvent avec un
driver à installer)
- joystick, clavier MIDI, manette de jeu, volant, pédales
- instrument MIDI (guitare, saxophone…)
- TrackBall, scanner 3D, webcam, Kinets, manette Wii
- etc…
Menus:
- En cascade
- Contextuel (local ou global)
- Permanent ou surgissants (Dock, bords)
- Differences Mac/Windows/Linux: menu d'écran, d'application, de
fenêtre
Commun Mac/Windows/Linux
--> Disposition à peu près fixe d'une appli à l'autre (Fichier, Edition…)
--> Indique souvent les raccourcis clavier (touche combinée+lettre)
--> le menu grisé est inactif
--> le triangle un menu en cascade
--> Structuré comme un chemin: Menu/Fichier/Sauver sous
Fenêtres:
Simples: alerte, notification. Sinon:
Visualise des contenus de dossier, ou un espace de travail
- bouger sur l'écran, ascenseur pour bouger derriere la fenêtre
- boutons de fenêtre: redimensioner, plein écran, replier.
Autres éléments graphiques:
Icônes, infos bulle (Ex:Blender)
Fenêtre d'alerte, avec bouton de choix, cases à cocher
Triangle de choix à dérouler
Entrée texte
Curseur, bouton à draguer
Les + - roue dentée icônes Android
Navigateur de fichier:
Présentation liste/Icône, clic sur nom ou sur icône
les "..", le dossier racine (/ ou C:),
Le dossier Volumes (Mac) ou mnt (Android, Linux)
La présentation verticale de l'arborescence(Win) et les +
Exercice:
Créer un dossier pour écrire des livres chez Lulu, contenant un livre
vide
avec des chapitres vides numérotés, copiés du gabarit de chez Lulu
Téléchargement