Introduction à Informatique Ali REIDA 2011 / 2012 [email protected].

46
Introduction à Informatique Ali REIDA 2011 / 2012 http://www.ali-reida.com [email protected]

Transcript of Introduction à Informatique Ali REIDA 2011 / 2012 [email protected].

Page 1: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Introduction à Informatique

Ali REIDA

2011 / 2012

http://www.ali-reida.com

[email protected]

ivureia
Page 2: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

L'enseignement de l'informatique dans les grandes écoles d’ingénieurs

• Elle est aujourd’hui une formation de base pour l’ingénieur.

• Exemples : – Ecole polytechnique – École des mines - ParisTech – Supélec - Gif-sur-Yvette– Télécom ParisTech– ESTP

Page 3: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

L’informatique : définition

L’informatique - contraction d´information et automatique –

est le domaine d'activité scientifique, technique

en rapport avec le traitement automatique de l’information

par des machines telles que les ordinateurs, les consoles de jeux,

Les robots, etc.

Page 4: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Généralités

L’informatique est issue des mathématiques : c’est aussi la mise en œuvre technique et concrète de concepts abstraits.

Elle est issue du besoin d’automatiser des calculs et des traitements fastidieux.

A bas niveau elle se ramène à des manipulations de 0 et de 1.

... quelques rappels sur des notions théoriques de base

– Algorithme

– Machine

– langage

Page 5: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Algorithme

ALGORITHME : Désigne une suite précise de calculs nécessaires à la solution

d’un problème dans une durée limitée.

L’appellation ‘’algorithme ‘’ est l’équivalent latin d’un terme figurant dans l’ouvrage du mathématicien arabe Mohammed Ibn Musa Abu Djefar Al-Khwarizmi.

Page 6: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Mesure de la performance d’un algorithme

• Le résultat est obtenu vite ou au bout de plusieurs secondes, minutes, heures…

• Il faut un modèle plus sérieux

• Analyse du cas le pire

• Analyse en moyenneDonald Ervin Knuth

Informaticien américain et professeur en Informatique à l'université Stanford (États-Unis)

Page 7: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Complexité d’un algorithme (1/4)

• En informatique, on dit qu’une opération est « complexe » si elle est logiquement possible mais en pratique irréalisable.

• On distingue deux formes de complexités :

Page 8: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Complexité d’un algorithme (2/4)

• Une première forme de « complexité » informatique provient de la représentation des nombres dans la mémoire de l’ordinateur.

• Celle-ci ne pouvant contenir qu’une quantité limitée de chiffres, les calculs informatisés portent sur un sous-ensemble des nombres rationnels, approximations des nombres réels.

• La précision des calculs est donc limitée même si le nombre de chiffres que contient la mémoire est élevé.

Page 9: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Complexité d’un algorithme (3/4)

• Une deuxième forme de « complexité » informatique est liée au nombre de calculs élémentaires que nécessite une opération.

• Notant n le cardinal de l’ensemble sur lequel on travaille :

Page 10: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Complexité d’un algorithme (4/4)

Complexité "dans le pire des cas" : situations où les données obligent l'algorithme à un maximum d'itérations.

Complexité "dans le meilleur des cas" : situation où les données autorisent l'algorithme à les traiter en un minimum d'itérations.

Complexité moyenne : moyenne de toutes les situations possibles.

Page 11: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Langages informatiques

• Un langage est un moyen de communication avec une machine

• Un moyen de description et de communication d’un algorithme

• l'homme a conçu une série de langages informatiques :

– Langage machine– Langage assembleur– Langage évolué :

• Les langages de scripts (langages interprétés)• Les langages compilés

– Langage de balisage (langage de marquage)– Langage de requête

Page 12: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Langage machine• Le langage machine appelé aussi langage binaire, c'est avec ce langage que fonctionnent les

ordinateurs.

• Il consiste à utiliser deux états (représentés par les chiffres 0 et 1) pour coder les informations (texte, images etc.).

• L'homme travaille quant à lui avec 10 chiffres (0,1,2,3,4,5,6,7,8,9), c'est ce qu'on appelle communément la base décimale.

Page 13: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Langage assembleur• Le langage assembleur est un langage de bas niveau proche du

langage machine qui peut être directement interprété par le microprocesseur de l'ordinateur tout en restant lisible par un humain.

• L'assembleur a été créé pour faciliter le travail des programmeurs.

• Il consiste à représenter les combinaisons des valeurs binaires en langage binaire par des symboles faciles à retenir : Pour chaque instruction exprimée en langage machine, le programmeur code ses programmes en langage assembleur, ceux-ci sont ensuite transcrits par un logiciel appelé assembleur en langage machine, puis exécutés par l'ordinateur.

Page 14: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Langage assembleur

• Par exemple, un processeur de la famille x86 reconnaît une instruction du type

• En langage assembleur, cette instruction est représentée par un équivalent plus facile à comprendre pour le programmeur :

• Ce qui signifie : « mettre la valeur hexadécimale 61 dans le registre "AL" ».

Page 15: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Langage évolué ou langage de haut niveau

• On désigne par langage évolué tous les langages se situant au dessus des langages de bas niveau (langage machine, assembleur).

• Le langage évolué est un langage qui accomplit beaucoup pour un minimum de code et d'effort de programmation, il y en a tout un paquet et je cite à titre d'exemple : Pascal, Java, C, C++, C#, Visual Basic (ou VB), Delphi, Python, Perl, PHP, JavaScript, VBscript, ASP etc.

Java

Langage assembleur

Langage machine

A + B

add A, B

1000110010100000

Page 16: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Langage évolué ou langage de haut niveau : Les langages de

scripts• Un script est une suite de commandes destinées à être

exécutées dans leur ordre d'apparition ligne par ligne, instruction par instruction ce qui peut se traduire par une lenteur plus ou moins sensible.

• A l'instar des langages compilés les langages de scripts emploient aussi des variables, des structures de contrôle (boucles, conditions), quelques exemples : JavaScript, VBscript,

PHP, ASP etc.

Page 17: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Langage évolué ou langage de haut niveau : Les langages

compilés Ces langages sont traduits en langage machine avant leur

exécution par un programme compilateur, ces programmes fonctionnent ensuite comme s'ils étaient directement écrits en langage machine.

Ce qui se traduit par une plus grande rapidité d'exécution par rapport aux langages interprétés.

Quelques exemples : Java, Python, C, C++, Pascal etc.

Page 18: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Langage de balisage (langage de marquage)

• Ces langages reposent sur ce qu'on appelle des balises ou tags, ces derniers sont des étiquettes avec lesquelles on peut étiqueter des données (mots, texte etc.)

Parmi ce type de langages il y a le HTML (HyperText Markup Language), le XML, le SGML, XHTML (Extensible HyperText Markup Language).

Page 19: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Langages de requêtes

• Ces langages qualifient le plus souvent les langages propres aux bases de données, ils sont représentés notamment par le SQL (structured query language) en français langage structuré de requêtes, il permet tout simplement de gérer une base de données, par exemple l'interroger, y insérer des données ou en supprimer d'autres, lui demander de faire ressortir des données selon des critères que je lui fixe.

• On traitera ce langage de manière détaillée dans un prochain cours.

Page 20: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Machine

Une machine est un objet, réel ou théorique, qui est capable de :– mémoriser un algorithme, – exécuter les opérations élémentaires qui composent cet algorithme, – enchaîner ces opérations élémentaires en respectant l’ordre imposé par

l’algorithme.

Exemples de telles machines– La machine de Turing– JVM– Un PC

Page 21: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Les types de machines informatiques

• Ordinateur personnel.

• Serveur.

• Système embarqué

• Ordinateur de bord.

• Etc.

Page 22: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

L’ordinateur personnel

• Le boitier• La carte mère• La mémoire vive• Le micro-processeur• La carte son• La carte graphique• Le disque dur• La carte réseau • L’alimentation

Page 23: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Zoom sur le micro-processeur (CPU) (1)

• Le processeur, ou CPU (de l'anglais Central Processing Unit), est le composant de l'ordinateur qui exécute les programmes informatiques.

• En 1971, la société américaine Intel réussit, pour la première fois, à placer tous les transistors qui constituent un processeur sur un seul circuit intégré donnant ainsi naissance au microprocesseur.

Page 24: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Zoom sur le micro-processeur (CPU) (2)

Lois de Moore

2300 transistors

28 millions de transistors

Page 25: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

L’informatique entre matériel et logiciel

Utilisateurs

Applications

Couche matérielle

Système d’exploitation

Logiciel (software)

Matériel (hardware)

Page 26: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

L'organisation des données

L’octet est une unité de mesure en informatique mesurant la quantité de données.

Un octet est lui-même composé de 8 bits, soit 8 chiffres binaires.

Un bit est soit 0, soit 1 (unité binaire). Toutes les autres valeurs d'information sont des combinaisons de bits.

• bit 0 ou 1 • octet 8 bits = 1 caractère (01001000 équivaut à la lettre A)• ko (kilooctet) 1 millier d'octets (plus précisément 1024 octets)• Mo (mégaoctet) 1 million d'octets• Go (gigaoctet) 1 milliard d'octets • To (téraoctet) 1000 milliards d’octets.• Po (pétaoctet) 1015 octets.• Eo (exaoctet) 1018 octets.• Zo (Zettaoctet) 1021 octets.• Yo (Yottaoctet) 1024 octets.

Attention, 1 kilo-bit équivaut à 1024 bits soit 128 octets !

Page 27: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Le format d’un fichier

• Un fichier est une suite de données structurée (souvent sous la forme d'une liste d'enregistrements suivant un même format).

• Le format des données est la manière utilisée pour représenter

des données sous forme de nombres binaires.

Page 28: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Quelques exemples d'extension

.exe programme (exécutable)

.dll programme windows

.bat macro-commande système

.txt fichier texte

.eps image (Postscript encapsulé)

.doc texte word ou wordpad

.xls tableau excel

.jpg image

.gif image

.png image

.bmp image

.tif (f) image (format non propriétaire)

.ico icône

.htm (l) texte à la norme html

.css feuille de style (de pages html)

.js programme javascript

.zip fichier compacté

.rar fichier compacté

.arc fichier compacté

.arj fichier compacté

.mid fichier son (midi)

.mov multimédia (QuickTime)

.avi format vidéo Microsoft

.mp3 son (norme mpeg 3)

.mpg vidéo (norme mpeg)

.xml fichier xml

.java un programme java

.c un programme c

Page 29: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Exemple de format de fichier : xml

<?xml version="1.0" encoding="ISO-8859-1"?> <BIBLIO SUBJECT="XML">

<BOOK ISBN="9782212090819" LANG="fr" SUBJECT="applications"> <AUTHOR>

<FIRSTNAME>Jean-Christophe</FIRSTNAME> <LASTNAME>Bernadac</LASTNAME>

</AUTHOR> <AUTHOR>

<FIRSTNAME>François</FIRSTNAME> <LASTNAME>Knab</LASTNAME>

</AUTHOR> <TITLE>Construire une application XML</TITLE> <PUBLISHER>

<NAME>Eyrolles</NAME> <PLACE>Paris</PLACE>

</PUBLISHER> <DATEPUB>1999</DATEPUB>

</BOOK> </BIBLIO>

Page 30: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Exemple de format de fichier : html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>

<head><title>Page d'exemple HTML</title><meta name="author" content="Moiiiii"><meta http-equiv="Content-language" content="fr"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<h1>Bienvenue sur ma page d'exemple HTML !</h1><h2>Conclusion</h2><p>Vous savez créer une page Web !</p>

</body></html>

Page 31: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

les systèmes d’exploitations

Linux

Windows

Mac

Page 32: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Les navigateurs web

Page 33: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Les parts de marché des navigateurs Web

Page 34: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Licence de logiciel

a000bqi
Le copyleft est la possibilité donnée par l'auteur d'un travail soumis au droit d'auteur (œuvre d'art, texte, programme informatique, etc.) de copier, d'utiliser, d'étudier, de modifier et/ou de distribuer son œuvre dans la mesure où ces possibilités restent préservées.
a000bqi
La loi relative au droit d’auteur et aux droits voisins dans la société de l’information, dite loi DADVSI, est une loi française issue de la transposition en droit français de la directive européenne 2001/29/CE sur l'harmonisation de certains aspects du droit d'auteur et des droits voisins dans la société de l'information.
a000bqi
La désignation open source (au Québec : « code source libre[1] ») s'applique aux logiciels dont la licence respecte des critères précisément établis par l'Open Source Initiative, c'est-à-dire la possibilité de libre redistribution, d'accès au code source et de travaux dériv
Page 35: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Logiciels et langages

Page 36: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Les systèmes d’informations

• Un système d'information (SI) est un ensemble organisé d'éléments qui permet de regrouper, de classifier, de traiter et de diffuser de l'information sur un phénomène donné.

Page 37: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Modes d’exposition des systèmes d’informations

• Un système d’information peut être accessible à travers un logiciel installé sur la machine de l’utilisateur, on parle dans ce cas d’un client lourd.

• Mais il peut être aussi accessible à travers internet, et dans ce

cas on parle de client léger.

Page 38: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Sécurité informatique

• La sécurité des systèmes d’information (SSI) est l’ensemble des moyens techniques, organisationnels, juridiques et humains nécessaire et mis en place pour conserver, rétablir, et garantir la sécurité du système d'information.

• Point de vue utilisateur• Point de vue système informatique

Page 39: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Sécurité du système d’informations

• Attaque sur un système type site web : Cybercriminalité

•Intrusion ou tentative d’intrusion.

•Modifier, introduire ou supprimer des données.

•Entraver à partir de l’internet ou du réseau, le bon fonctionnement de votre système d’information

Page 40: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Sécurité du système d’informations

Attaque sur un logiciel non connecté au réseau

• L’accès est réduit• Impossible d’y accéder physiquement• Les failles peuvent être humaines : clés USB,

imprimantes non surveillées, keyloggers,…

Page 41: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Sécurité des données utilisateur

• Le protocole HTTP

• La cryptologie

• Sites sécurisés, avec du https

Page 42: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Internet

• Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie instantanée et le World Wide Web, en utilisant le protocole de communication IP (internet protocol).

• Son architecture technique repose sur une hiérarchie de réseaux, ce qui implique de facto une non-centralisation, lui vaut le surnom de réseau des réseaux.

Page 43: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Le protocole de communication TCP/IP

• le premier protocole de communication par paquets pour répondre à la nécessité de connecter rapidement des ordinateurs différents en cas de guerre.

• On expérimente cette technologie sur quatre sites et on crée ainsi l'embryon du réseau Arpanet, un projet militaire financé par la Defense Advanced Research Projects Agency (Darpa).

Page 44: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Arpanet : premier réseau au monde

• ARPANET ou Arpanet (acronyme anglais de « Advanced Research Projects Agency Network », souvent typographié « ARPAnet ») est le premier réseau à transfert de paquets développé aux États-Unis par la DARPA. Le projet fut lancé en 1969 et la première démonstration officielle date d'octobre 1972.

Page 45: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Arpanet : évolution

• En 1974, le TCP/IP (Transmission Control Protocol et Internet Protocol) uniformise le réseau Arpanet. Ce système est toujours celui utilisé de nos jours.

• En 1980, Arpanet se divise en deux réseaux distincts, l'un militaire (MILNET, de « Military Network », qui deviendra le DDN — Defense Data Network) et l'autre, universitaire (NSFnet), que les militaires abandonnèrent au monde civil.

Page 46: Introduction à Informatique Ali REIDA 2011 / 2012  ali.reida.ionis.stm@gmail.com.

Arpanet : évolution• En 1984, DDN et NSFnet compte déjà près de 4 millions de nœuds

interconnectés et plus de 1 000 ordinateurs à travers le monde y sont reliés. Cette même année, le CERN adopte la même architecture réseau pour ses échanges internes.

• C'est toujours au CERN, en 1991, que l'équipe de Tim Berners Lee invente un protocole simple de mise en ligne de pages reliées entre elles par des hyperliens. Les travaux du CERN sont mis en ligne avec ce protocole.

• Le système est simple et se diffuse dans le monde entier. L'année suivante, un premier lien entre le CERN et un laboratoire américain est créé via Internet.

• Toutes ces pages passent d'un usage interne à un usage public lorsque le réseau Internet s'étend et connecte des sites dans le monde entier. Toutes ces pages reliées physiquement entre elles par Internet s'appellent le « World Wide Web ».