Notes de cours SCIENCE INFORMATIQUE
Transcription
Notes de cours SCIENCE INFORMATIQUE
CFWB – Compétences 6ème 6TT Notes de cours SCIENCE INFORMATIQUE Marc Liégeois Ingénieur civil Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 1 sur 44 CFWB – Compétences 6ème 5. Organisation de son poste de travail 5.1. Optimaliser son poste de travail et son attitude face au poste de travail Notion d’ergonomie En organisation du travail, un poste de travail est le lieu dans lequel un employé dispose des ressources matérielles lui permettant d'effectuer son travail. Dans un contexte informatique, ce terme correspond à l'ensemble des moyens techniques mis à la disposition d'un utilisateur (écran, clavier, imprimante), et par extension l'interface du système d'exploitation Dans un contexte informatique « Poste de travail » représente principalement le point d'accès à toutes les fonctionnalités d'une application informatique ainsi système d'exploitation, en particulier aux ressources informatiques (messagerie, bureautique, source web, mais aussi imprimante, numériseur de document, ...). L'origine de ce terme n'est pas forcément connue, mais elle remonte sûrement aux débuts de l'informatique répartie (UNIX avec les terminaux X11, puis Windows avec le client-serveur). Ce terme est utilisé dans Windows pour désigner le micro-ordinateur en luimême, et c'est de là que l'on accède à tous les disques. Il est maintenant utilisé pour divers systèmes d'exploitation. Windows étant le système d'exploitation le plus utilisé, le terme « Poste de travail » désigne maintenant dans la plupart des esprits utilisateurs, l'ordinateur et aussi l'environnement (physique) dans lequel il se trouve. Il est parfois confondu avec le « Bureau », qui dans Windows désigne l'espace de travail des fenêtres, mais aussi la base de toute l'arborescence. À partir d'un « Poste de travail » on peut ainsi accéder aux disques durs, aux supports amovibles (lecteur de disquette, lecteur de CD-ROM, ...), à divers périphériques, comme les imprimantes, les périphériques d'acquisition d'images (appareil photo numérique, numériseur de document), et utiliser des applications informatiques à distance. A partir du système Windows Vista le terme « Poste de travail » change en « Ordinateur », mais le reste de l'arborescence reste identique. Le poste de travail peut aussi être une station de travail Unix ou de plus en plus souvent PC ou portable Linux. L'utilisation des écrans a suscité des controverses dans le domaine de la santé. Les problématiques considérées sont essentiellement la posture face à l'écran, et ses effets sur le dos, ainsi que les effets éventuels des rayonnements sur la vue. En conséquence, certains organismes de santé au travail recommandent d'installer un écran suffisamment haut pour qu'il soit en face des yeux lorsque l'on est assis en position droite. 5.2. Assurer la pérennité des données Sauvegarde de données sur plusieurs médias Sauvegarde (backup) Afin d’assurer la pérennité des données il est important d’effectuer des sauvegardes (backup) de ses fichiers vers des supports de bonnes qualités et notamment pour les supports virtuels comme Internet. En effet il se peut que les sauvegardes s’effectuent en utilisant des sites Internet. Il est donc indispensable de s’assurer de la valeur de ce stockage dans le temps et respect culturel. Une bonne structure et logique d’arborescence des dossiers de sauvegarde est aussi importante, afin de retrouver facilement son travail même longtemps après sa création. Pour cela une documentation bien à jour facilite grandement les recherches de fichiers sur le disque du PC, du serveur, des disques amovibles, CDs, DVD … En informatique une grandeur rigueur de travail est indispensable notamment dans le cadre de sauvegarde de données. Il est aussi fondamental d’effectuer souvent des sauvegardes de données afin de récupérer des versions récentes pour les fichiers de données défectueux ou bien rendus inadaptés Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 2 sur 44 CFWB – Compétences 6ème par les dernières modifications. En ce qui concerne les progiciels, les DVD d’installation doivent être rangés en des endroits connus et sûrs, dès lors les logiciels ne sont donc pas concernés par les backups Unités de stockage : disque dur, serveur, disque amovible, clé USB, Internet (attention !), bandes magnétiques … Il est judicieux de sauvegarder ses données sur plusieurs média et en des endroits différents, sécurisés et à l’abri d’incendie éventuel ou de vol. 5.3. Adopter un comportement rationnel face à la présence d’un virus Lancement d’une analyse d’une mémoire de masse Importance de la mise à jour de l’antivirus Virus Un virus informatique est un automate auto réplicatif à la base non malveillant, mais aujourd'hui souvent additionné de code malveillant (donc classifié comme logiciel malveillant), conçu pour se propager à d'autres ordinateurs en s'insérant dans des logiciels légitimes, appelés « hôtes ». Il peut perturber plus ou moins gravement le fonctionnement de l'ordinateur infecté. Il peut se répandre à travers tout moyen d'échange de données numériques comme les réseaux informatiques et les cédéroms, les clefs USB, etc. Logiciel Anti virus Il est fondamental d’installer un progiciel anti-virus dès réception du PC et ce avant toute utilisation et en particuliers Internet. Il est aussi judicieux d’effectuer un contrôle anti-virus à chaque utilisation d’un média extérieur (clé USB, disque amovible…) Ne pas ouvrir les courriels (e-mail) douteux, avec des fichiers attachés dont la source est inconnue ou non vérifiée. La base de données de l’antivirus doit être mise à jour régulièrement. L’idéal est d’avoir un logiciel qui effectue cette mise à jour automatiquement dès la parution d’une nouvelle version. En effet l’anti-virus est un logiciel qui peut détecter uniquement les virus connus dans sa base de données. 5.4. Adopter un comportement rationnel pour l’installation de logiciels (progiciels) Analyse des conséquences de l’installation d’un logiciel pour la sécurité du système 5.4.1. Installation En informatique, l'installation est la procédure permettant l'intégration d'un logiciel sur un ordinateur. Cette procédure est plus ou moins complexe selon l'ordinateur, le système d'exploitation et selon qu'il existe un installeur (petit logiciel qui se charge de l'installation) ou pas. Une rigueur procédurale est de toute façon de mise, car de l’installation du logiciel dépendent sa fiabilité et sa performance. Toutes les documentations officielles - guide d’installation - doivent être lues avant installation, car plusieurs critères entrent en ligne de compte dont le système d’exploitation, le processeur 32 bits ou 64 bits… Les processus d’installation peuvent être différents voire incompatibles dans certains (à détecter avant déballage des DVD d’installation pour un échange éventuel) 5.4.1.1 Logiciel espion (spyware) Un logiciel espion (aussi appelé mouchard ou espiogiciel ; en anglais spyware) est un logiciel malveillant qui s'installe dans un ordinateur dans le but de collecter et transférer des informations sur l'environnement dans lequel il s'est installé, très souvent sans que l'utilisateur en ait connaissance. L'essor de ce type de logiciel est associé à celui d'Internet qui lui sert de moyen de transmission de données. Un logiciel espion est composé de trois mécanismes distincts : Le mécanisme d'infection, qui installe le logiciel. Ce mécanisme est identique à celui utilisé par les virus, les vers ou les chevaux de Troie. Par exemple, l'espiogiciel Cydoor utilise le logiciel grand public Kazaa comme vecteur d'infection ; Le mécanisme assurant la collecte d'information. Pour l'espiogiciel Cydoor, la collecte consiste à enregistrer tout ce que l'utilisateur recherche et télécharge via le logiciel Kazaa. Le mécanisme assurant la transmission à un tiers. Ce mécanisme est généralement assuré via le réseau Internet. Le tiers peut être le concepteur du programme ou une entreprise. 5.4.1.2. Cheval de Troie Un cheval de Troie (Trojan Horse en anglais) est un logiciel d’apparence légitime, conçu pour Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 3 sur 44 CFWB – Compétences 6ème exécuter des actions à l’insu de l'utilisateur. En général, il utilise les droits appartenant à son environnement pour détourner, diffuser ou détruire des informations, ou encore pour ouvrir une porte dérobée (fonctionnalité inconnue de l'utilisateur légitime, qui donne un accès secret au logiciel qui permet à un pirate informatique de prendre, à distance, le contrôle de l'ordinateur). Les chevaux de Troie informatiques sont programmés pour être installés de manière invisible, notamment pour corrompre l'ordinateur hôte. La principale différence entre les virus, les vers et les chevaux de Troie est que ces derniers ne se répliquent pas. Ils sont divisés en plusieurs sous-classes comprenant entre autres les portes dérobées, les logiciels espions, les injecteurs, etc. On peut en trouver sur des sites malveillants ou autres. Cela dépend de ce que l'utilisateur télécharge. 5.5. Prévenir un accès direct à des données sensibles 5.5.1. Notions de protection des données sensibles Un nom d’identifiant couplé à un mot de passe sont indispensables pour protéger l’accès aux données d’un ordinateur personnel ou bien mis en réseau. Dès que l’ordinateur est allumé l’identifiant et le mot de passe doivent être encodés. Une protection des progiciels est également très souvent utilisée. En général le mot de passe comporte au minimum 8 positions en mélangeant les lettres, les chiffres, des caractères spéciaux. Il est important de les mémoriser ou de les placer dans un endroit sûr et sécurisé (ne pas les écrire sur un papier collé sur son écran, ne pas les mettre non plus dans le tiroir de son bureau…) Un mot de passe (en anglais : password) est un moyen d'authentification pour utiliser une ressource ou un service dont l'accès est limité et protégé. Le mot de passe doit être tenu secret pour éviter qu'un tiers non autorisé puisse accéder à la ressource ou au service. C'est une méthode parmi d'autres pour effectuer une authentification, c'est-àdire de vérifier qu'une personne correspond bien à l'identité (identifiant) déclarée. Il s'agit d'une preuve que l'on possède et que l'on transmet au service chargé d'autoriser l'accès 5.6. S’assurer de l’absence de risques avant, pendant et après toute manipulation 5.6.1. Notions élémentaires de sécurité concernant les risques électriques (contacts directs et indirects) L'électricité est une énergie dangereuse : invisible, inodore, inaudible et d'une puissance redoutable. Elle l'est d'autant plus lorsqu'elle est incontrôlée. Un principe de base et de couper le courant lors de toute manipulation du matériel informatique (en anglais: hardware). Se protéger aussi contre tout courant résiduel sur les composants. Lors du raccordement électrique une prise de terre est indispensable. Utiliser des prises sécurisées raccordées à un battery backup (dispositif de batterie qui maintient le courant pendant un certain temps) pour se prémunir des coupures du réseau électrique. Au niveau sécurité des personnes, employer les câbles avec bon isolant, bonnes fiches, des prises murales placées par des professionnels. Ne pas enlever les fiches des prises en tirant sur le câble, car à la longue il risque de se dénuder. Ne pas brancher trop d’appareils sur la même prise. Les risques physiques peuvent être : brulures, asphyxie (par blocage de la respiration par paralysie du diaphragme et des muscles respiratoires), syncope (le cœur reçoit une décharge électrique) 5.6.2. Sécurité élémentaire de manipulation des objets informatiques Manipulation des objets informatiques en vue d’éviter leur détérioration Comme dit, avant toute manipulation il est important de couper le courant électrique. Les prises, les fiches doivent être sécurisées pour les risques de foudre et de surtension 1 5.6.3. Caractéristiques nocives des encres d’imprimantes Manipulation judicieuse des consommables d’imprimantes Les cartouches d’encre usagées font partie des DIS (Déchets Industriels Spéciaux) car elles contiennent des matériaux toxiques pour l’environnement (plastiques non biodégradables, métaux lourds, résidus d’encre…) A ce titre elles doivent être traitées par un organisme agréé. Jet d’encre Ce procédé se divise en 2 catégories : le jet continu et la goutte à la demande. L’encre est un 1 http://ecoinfo.cnrs.fr/article207.html Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 4 sur 44 CFWB – Compétences 6ème mélange composé de solvant, de matière colorante, d’un liant et d’additifs : Le rôle du solvant est de transporter l’encre entre la cartouche et le papier et contribue au séchage ; on utilise généralement du méthyléthylcétone, des acétates, de l’éther glycol et des alcools ; certains solvants sont toxiques quand ils sont respirés, avalés ou par contact avec la peau et ont un impact sur l’environnement Le colorant a d’abord été constitué de composants très solubles ayant une bonne tenue à la lumière et sans métaux lourds ; aujourd’hui, on s’oriente vers l’utilisation de pigments très fins (<1 µm) qui sont très toxiques (métaux lourds en général) Le liant assure la cohésion de l’encre et contrôle sa viscosité ; il permet l’adhésion de la matière colorante au support ; les résines phénoliques ont aujourd’hui tendance à être remplacées par des copolymères Les additifs sont présents dans l’encre dans une proportion inférieure à 1% ; ils ont pour objet d’améliorer la fluidité, l’adhésion, la rhéologie du liant ou la conductivité de l’encre ; ils peuvent être de puissants allergènes Laser Chaque année, 50 millions de cartouches laser sont achetées en Europe. Ces cartouches contiennent 25 000 tonnes de toner et représentent 50 000 tonnes de plastiques. Chaque cartouche en fin d’utilisation contient encore 15% du toner initial. (Source Innotec) L’impression laser est un procédé d’impression photo-électrique qui utilise de l’encre en poudre (toner). Cette poudre est constituée en majeure partie de fines particules de matière plastique, de résine et de pigments magnétiques. Les polymères (copolymères, résines polyesters) utilisés varient selon le fabricant. Initialement, la taille moyenne des particules se situaient entre 14 et 16 µm ou plus. Quand on passe à une résolution de 600 ppp, la taille des particules peut passer de 8 à 10 μm. Comme dans le cas de l’impression jet d’encre, le toner n’est pas sans conséquences sur l’environnement et la santé. Une enquête menée sur une soixantaine d’imprimantes laser a en effet révélé que presque un tiers des modèles testés rejette dans l’air des résidus d’encre potentiellement dangereux (source PCImpact - 08/2007). 5.7. Adopter un comportement propre à économiser les ressources énergétiques et à réduire au maximum les nuisances sur l’environnement 5.7.1. Implication environnementales de l’utilisation de l’informatique Comme décrit au point précédent, les intacts des encres d’imprimantes sur la santé et l’environnement sont loin d’être négligeables. Mise en veille du système Un dispositif électronique ou informatique est en veille si la plupart de ses fonctions ont été arrêtées temporairement dans le but de diminuer sa consommation électrique. Au niveau d'un ordinateur, on distingue plusieurs niveaux de veille : L'état du système d'exploitation dit inactif, pour lequel certains logiciels comme l'économiseur d'écran se mettent en œuvre. La veille simple où certains composants matériels (écran, disque dur, etc.) sont arrêtés par des signaux spécifiques et paramétrables à partir du panneau de configuration. La veille prolongée, aussi appelée hibernation (en référence au phénomène animal) où le matériel est éteint tandis que toute la mémoire vive est copiée sur le disque dur, ce qui conserve tout l'état logiciel courant du système d'exploitation et des logiciels éventuellement en cours d'exécution, etc. Cela permet de ne plus consommer d'énergie. Tri sélectif des déchets Habituellement le principe d’un bon recyclage consiste à créer de nouvelles machines à partir de plusieurs machines récupérées. Avec de la chance, ou peut atteindre un rendement de 80%, soit 8 machines créées à partir des pièces de 10 machines récupérées en panne. Encres Les cartouches d’encre usagées font partie des DIS (Déchets Industriels Spéciaux) car elles contiennent des matériaux toxiques pour l’environnement (plastiques non biodégradables, métaux lourds, résidus d’encre…) A ce titre elles doivent être traitées par un organisme agréé. Le tri des déchets et la collecte sélective sont des actions consistant à séparer et récupérer Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 5 sur 44 CFWB – Compétences 6ème les déchets selon leur nature, à la source, pour éviter les contacts et les souillures. Ceci permet de leur donner une « seconde vie », le plus souvent par le réemploi et le recyclageévitant ainsi leur simple destruction par incinération ou abandon en décharge et, par conséquent, de réduire l'empreinte écologique. Ecrans Il est indispensable de remettre les écrans usagés à une firme spécialisée qui recyclera correctement les différents composants et particulièrement ceux qui sont toxiques. Tubes cathodiques : Nombreux métaux lourds nécessitant un traitement de recyclage adapté par une firme agréée 2 Ecrans plasma : Ils utilisent de microscopiques cellules de plasma gazeux qui sont activées par un courant électrique afin de générer une image. Leur recyclage est coûteux et complexe car ils contiennent des poudres électroluminescentes pouvant être composées de cadmium qui doit être retiré. Opération difficile car les poudres sont encapsulées dans le verre Ecrans LCD Les écrans LCD (Liquid Cristal Display – Affichage à cristaux liquides) sont constitués de cristaux liquides entre deux dalles de verre. Ces cristaux constituant un filtre destinés à ne laisser passer que les couleurs formant l’image. Ces écrans sont très plats. Les composants sont très toxiques car ile contiennent du mercure. Des recherches travaillent sur le recycles de l’oxyde d’indium – sans quoi, ressource qui pourrait être épuisée dans une dizaine d’années Composants électroniques : Le boîtier Aucun problème pour récupérer un ancien boîtier AT ou ATX. La carte mère Si elle est encore AT, il faudra le boîtier qui va avec. Toute carte mère est fonctionnelle tant qu'un processeur d'origine y est fixé. Si le processeur a disparu, il va être compliqué d'en trouver un qui soit compatible. La RAM On trouvera souvent des cartes mères avec de la RAM. Ajouter de la RAM est généralement facile, la principale difficulté étant de trouver la bonne interface : souvent la SD-RAM, il est rare de trouver de la EDO. Toute RAM est bonne à prendre (il existe des systèmes de test pour vérifier leur bon état). Processeur Sans une carte mère prévue pour son fonctionnement, il n'est pas certain qu'on puisse le réutiliser. L'alimentation Beaucoup de PC sont jetés parce qu'on les pense grillés, alors que seul le bloc d'alimentation l'était. Toute alimentation en état de fonctionner est susceptible de pouvoir resservir. Disque dur Toujours récupérable tant qu'il fonctionne. Certains disques durs anciens sont toutefois de capacité vraiment faible (quelques mégas) ou prêts à rendre l'âme. Lecteur/Graveur CD Toujours récupérable tant qu'il fonctionne. Attention toutefois aux vitesses de lecture ou d'écriture : le gravure en 2x est vraiment lente. Lecteur disquette Récupérable tant qu'il est en état de fonctionner Écran Tout écran CRT est récupérable : c'est la pièce la plus pérenne. Clavier et souris Ils risquent d'être en PS/1, si c'est le cas : il faut une carte mère PS/1, ce qui se fait très vieux. Si c'est du PS/2, alors ils sont parfaitement réutilisables. Toutefois, si le clavier est aussi fonctionnel qu'un clavier récent, une souris ancienne peut être fonctionnelle mais peu pratique (souris à boule encrassée et difficilement nettoyable par exemple). Carte son Carte réseau Récupérable ; l'Ethernet est toujours le standard en vigueur. Carte graphique Récupérable. Utile pour faire fonctionner les jeux vidéo de l'époque où elle était utilisée... 2 http://www.consoglobe.com/ecran-plasma-vs-ecran-lcd-2954-cg Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 6 sur 44 CFWB – Compétences 6ème 7. Création de site WEB statiques et dynamiques 7.1. Concevoir et réaliser un site WEB à plusieurs documents liés, dans le respect des normes Rédaction d’une URL absolue et relative 7.1.1. Notion d’URL, d’hypertexte, de site, de butineur (browser), de serveur Notions d’URL Le sigle URL (de l'anglais Uniform Resource Locator, littéralement « localisateur uniforme de ressource »), auquel se substitue informellement le terme adresse web, désigne une chaîne de caractères utilisée pour adresser les ressources du World Wide Web : document HTML, image, son, forum Usenet, boîte aux lettres électronique, entre autres. Une URL est une chaîne de caractères combinant les informations nécessaires pour indiquer à un logiciel comment accéder à une ressource Internet. Ces informations peuvent notamment comprendre le protocole de communication, un nom d'utilisateur, un mot de passe, une adresse IP ou un nom de domaine, unnuméro de port TCP/IP, un chemin d'accès, une requête. Les informations nécessaires varient selon la ressource et le contexte d'utilisation de l'URL. En outre un identificateur de fragment peut être ajouté à la fin d'une URL pour identifier un élément à l'intérieur de la ressource. URL absolue Une URL absolue permet d'indiquer comment accéder à une ressource indépendamment de tout contexte où elle peut être précisée ou transmise. Elle commence par l'indication d'un schéme de représentation (spécifique au protocole de communication utilisé pour accéder à cette ressource), suivi de l'ensemble des paramètres permettant de localiser sur le réseau le service hébergeant la ressource, puis permet de préciser à ce service le nom d'une ressource à traiter, transmettre des données de traitement, acheminer et récupérer les résultats, puis de préciser éventuellement quelle partie de ce résultat sera utilisée. Exemple : http://fr.wikipedia.org/wiki/Uniform_Resource_Locator Http – protocole de communication pour accéder au serveur web - schéme : - caractère de séparation (obligatoire si schéme précisé) // - chaîne de caractères pour les protocoles dont la requête comprend un chemin d'accès, permettant de préciser et localiser le service avant ce chemin. Nom de domaine (pourrait être remplacé par l’adresse IP) Chemin absolu contenant le nom de la page web URL relative Les protocoles utilisant un chemin hiérarchique permettent l'utilisation d'URL relatives. Une URL relative ne contient ni protocole ni nom de domaine. Ceux-ci sont déduits à partir de l'URL de la ressource contenant l'URL relative. Les URL relatives sont souvent utilisées pour les hyperliens à l'intérieur d'un même site web. Si le document d'URL http://fr.wikipedia.org/wiki/Web contient l'URL relative Navigateur, cela correspond à http://fr.wikipedia.org/wiki/Navigateur. Les URL relatives sont directement inspirées de la syntaxe des systèmes de fichiers Unix. L'usage d'URL relatives permet de ne pas avoir à reprendre l'ensemble des liens lors du changement d'adresse d'un site. Hypertexte Un hyperlien ou lien hypertexte ou simplement lien, est une référence système hypertexte permettant de passer automatiquement d'un document consulté à un document lié. Les hyperliens sont notamment utilisés dans le World Wide Web pour permettre le passage d'une page Web à une autre d'un clic. Un lien hypertexte ou hyperlien permet en cliquant dessus d'atteindre un autre endroit de la page, une autre page ou un autre site évalué comme pertinent par l'auteur. C'est un mode d'organisation d'un document. Il a une source (ou origine) et une destination (ou cible). L'activation de l'élément source d'un hyperlien permet de passer automatiquement à sa destination. Site Un site ou site web (de l'anglais web site, qui se traduit littéralement en français par site de la toile) est un ensemble de pages web hyper liées entre elles et accessible à une adresse web. On dit aussi site Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 7 sur 44 CFWB – Compétences 6ème internet par métonymie, le World Wide Web reposant sur l'Internet. Butineur (browser) Un navigateur Web est un logiciel conçu pour consulter le World Wide Web. Techniquement, c'est au minimum un client HTTP. Il existe de nombreux navigateurs Web, pour toutes sortes de matériels (ordinateur personnel, tablette tactile, téléphones mobiles, etc.) et pour différents systèmes d'exploitation (GNU–Linux, Windows, Mac OS, iOS et Android). Les plus utilisés à l'heure actuelle sont, Google Chrome, Mozilla Firefox, Internet Explorer, Safari, Opera. Serveur On appelle serveur Web aussi bien le matériel informatique que le logiciel, qui joue le rôle de serveur informatique sur un réseau local ou sur le World Wide Web. En tant que matériel, un serveur Web est un ordinateur comme un autre. Comme tout serveur, il est relié à un réseau informatique et fait fonctionner un logiciel serveur. En tant que logiciel, un serveur Web est plus précisément un serveur HTTP, HTTP étant le principal protocole de communication employé par le World Wide Web. Un serveur web héberge plusieurs sites web 7.1.2. Langage HTML : notion de balises, de document bien formé (norme W3C), notions d’ergonomie, d’esthétique HTML L’Hypertext Markup Language, généralement abrégé HTML, est le format de données conçu pour représenter les pages web. C’est un langage de balisage permettant d’écrire de l’hypertexte, d’où son nom. HTML permet également de structurer sémantiquement et de mettre en forme le contenu des pages, d’inclure des ressources multimédias dont des images, des formulaires de saisie, et des programmes informatiques Balises Les balises sont des unités syntaxiques délimitant des séquences de caractères à l'intérieur d'un flux de caractères (par exemple un fichier texte). Les balises marquent le début et la fin des « éléments ». Elles sont formées de caractères unicode encadrés par les signes < et >. Ainsi<table>, <Vidéo> et <B#3> sont des balises syntaxiquement valides en XML. Les balises marquant la fin des éléments comportent une barre oblique après leur signe inférieur (</table>). Des balises vides existent également et sont notées par une barre oblique avant le signe supérieur ( <br/>). Le langage à balises le plus couramment utilisé sur le World Wide Web est le HTML. En HTML, on utilise des balises prédéfinies afin de préciser à l'intérieur d'un fichier texte des éléments tels les titres, les paragraphes, les acronymes, les citations Pour rappel, un acronyme est un mot formé par des initiales. Exemple : OVNI objet volant non identifié. Différentes balises – voir tableau <html> <head> <title>Hello world</title> </head> <body> <div> implémente une feuille de style <h1> Niveau 1 de titre </h1> <p> … </p> paragraphe <a> …href=”http://...” … </a> ancre pour hyper lien </body> </html> Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 8 sur 44 CFWB – Compétences 6ème Liste des balises 3 Voir annexe 1 sur le site 3 http://www.codeshttp.com/baliseh.htm Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 9 sur 44 CFWB – Compétences 6ème Document bien formé (norme W3C) Les standards du Web sont différentes technologies et protocoles utilisés sur le Web et en particulier ceux définis par le W3C sous forme de recommandations. Le World Wide Web Consortium, abrégé par le sigle W3C, est un organisme de normalisation à but non lucratif, fondé en octobre 1994 chargé de promouvoir la compatibilité des technologies du World Wide Web telles que HTML, XHTML, XML, RDF, SPARQL, CSS, PNG, SVG et SOAP. Fonctionnant comme un consortium international, il regroupe au 26 février 2013, 383 entreprises 4 partenaires. Le leitmotiv du W3C est « un seul web partout et pour tous » Notions d’ergonomie L'ergonomie informatique (ou ergonomie des interfaces) est une branche de l'ergonomie, qui a pour objectif d'améliorer l'interaction homme-machine, la facilité d’utilisation et d’apprentissage des produits interactifs2. Cette pratique cherche à concevoir ou modifier des interfaces afin qu'elles soient en adéquation avec les caractéristiques physiologiques, perceptives et cognitives de leurs utilisateurs potentiels. Elle s'appuie sur différentes méthodes de conception et d’évaluation permettant d’obtenir le logiciel ou le site web le mieux adapté aux utilisateurs visés. Une certaine logique impose que cet interfaçage soit convivial et d’un abord facile et agréable pour l’utilisateur. Esthétique Dans le même esprit l’esthétique d’une page web rend l’abord agréable pour l’utilisateur. Cette notion est évidemment subjective puisqu’elle touche les sensibilités de chacun. Les règles de bonnes proportions devraient sans nul doute permettre de composer les pages avec réel succès. Exemple HTML simple reprenant : titre, mise en page, mise en évidence <html> <body> <h1>Encodage du nom.</h1> <form action="ex11.php" method="post"> <p>Nom : <input type="text" name="nom1"></p> <input type="submit"> </form> </body> </html> <html> <body> <h1>Bonjour <?php echo $_POST["nom1"]; ?></h1> <a href='ex10.html' style='margin-left:10px' >Précédent</a>; </body> </html> Figure 1. < ?php … ?> 4 5 5 www.w3.org Florent Cardoen Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 10 sur 44 CFWB – Compétences 6ème Exemple simple de table : 6 <table border=1 cellpadding=3 cellspacing=1> <tr> <td colspan=3>J'occupe les 3 colonnes.</td> </tr> <tr> <td width=70 rowspan=2>Sur deux lignes</td> <td>Cellule simple</td> <td>Cellule simple</td> </tr> <tr> <td>Cellule simple</td> <td>Cellule simple</td> </tr> </table> Insertion d’images et objets multimédia + insertion ancre et lien <html> <body> Ancre et lien <h1>Bonjour <?php echo $_POST["nom1"]; ?></h1> <img class="alignleft size-medium Tulips" alt="Tulips" src="http://www.appliweb.be/Tulips.jpg" width="90" height="90" /> <a href='ex10.html' style='margin-left:10px' > Précédent</a>; </body> </html> . Ex11.php 6 http://b.kostrzewa.free.fr/html/balises/table.htm Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 11 sur 44 CFWB – Compétences 6ème 7.1.3. Notion de feuille de style Intégration de scripts et d’objets Mise en forme à l’aide de feuille de style En typographie, une feuille de style désigne l'ensemble d'attributs de caractères et de formats de paragraphes pouvant être appliqués en une seule opération à un ou plusieurs paragraphes, à un livre etc. De façon extensive, c'est l'ensemble des contraintes typographiques, de maquette, couleur, reliure etc. qui définissent l'unité d'une collection littéraire, d'une revue périodique etc. C'est aussi un document permettant de mettre en forme un autre document, comme un document rédigé dans un langage de balisage, comme SGML, HTML ou XML. Pour se faire, les feuilles de style sont rédigées dans un langage spécifique. Les langages de feuilles de style les plus courants sont : CSS XSL XSL-FO Les feuilles de style en cascade, généralement appelées CSS de l'anglais Cascading Style Sheets, forment un langage informatique qui décrit la présentation des documents HTML et XML. Les standards définissant CSS sont publiés par le World Wide Web Consortium (W3C). Introduit au milieu des années 1990, CSS devient couramment utilisé dans la conception de sites web et bien pris en charge par les navigateurs web dans les années 2000. Un tutorial est très bien expliqué à l’URL suivante : 1 http://www.alsacreations.com/tuto/lire/555-design-css.html 7.1.4. Notions de formulaire et de codage des informations Réalisation d’un formulaire exhaustif En informatique, un formulaire est un espace de saisie dans l'interface utilisateur, pouvant comporter plusieurs zones, ou « champs » : on peut y saisir du texte, cocher des cases, effectuer un choix dans une liste de termes prédéfinis, appuyer sur des boutons, etc. Ces zones de saisie assurent l'interactivité entre le client (par exemple, le navigateur de l'internaute) et le serveur (par exemple, la machine qui héberge les pages web sur internet). Les boutons des formulaires permettent de lancer des actions prédéfinies par l'auteur des pages. Ces actions sont des scripts (JavaScript, PHP, Perl, CGI...) qui envoient les données saisies au serveur. Ce dernier les traite et renvoie une réponse à l'utilisateur via la page web. Les formulaires intelligents voient leur contenu s'adapter aux informations saisies par leur utilisateur de sorte à contextualiser leurs interactions avec le serveur. De la sorte, seules les informations pertinentes au contexte de l'échange lui seront demandées. Ces formulaires se démarquent ainsi très fortement de leur équivalent papier en favorisant l'interactivité avec leur utilisateur et ce sans forcément devoir respecter une mise forme équivalente à une éventuelle version papier préexistante. Exemple de formulaire simple : La présentation est bien entendu adaptée selon les nécessités et tout particulièrement celles requises par la personne qui commande le site. Les concepts d’esthétique et d’efficacité sont à prendre en considération Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 12 sur 44 CFWB – Compétences 6ème 7.2. Concevoir et réaliser une application web interactive non linéaire Avertissement : Les programmes repris dans le cours ne mises pas sur une présentation particulière, seuls les concepts d’encodage, de stockage des données (MySQL) sur le serveur de l’école, d’accès à celles-ci et leurs modifications sont abordés afin de donner toutes libertés de développements personnalisés d’applications complexes Notions de bases de langages web dynamiques (PHP, ASP, Perl) Le cours et les labos développent particulièrement le langage PHP avec accès à une base de données MySQL Ce qui confère les savoir-faire : Stockage de données de session et aussi pérennisation des données grâce aux concepts développant la gestion des données dans base de données MySQL dont les accès au site de l’école permettent de se placer dans un contexte réaliste et proche des entreprises Gestion des flux d’information (voir figure 1 paragraphe 7.1.2) Utilisation des concepts de programmation (cf. labo logique) Intégration de données dynamiques au sein de pages web Notes : Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 13 sur 44 CFWB – Compétences 6ème 7.3. Résumé MySQL Balises <a> créer ancre Hyperlien <br> Saut de ligne <form> formulaire <input> <h1> titre niveau 1 <div> feuille bloc entier <p> paragraphe saute 2 lg PHP program appelant <form> action='appelé.php' method='POST'<br><p> Nom:<input type='text' name=".'nom1'." value=' '><br> Variable nom1 <input type='submit' name='Valider' value='Valider' </p></form> PHP program appelé $nom9 = $POST['$nom1']; La valeur de nom1 dans $nom9 MySQL connect $db = mysqli_connect($server, $user_name, $password,$db_name); if (mysqli_connect_errno()) { Message si pas de connexion echo "Failed to connect to MySQL: " . mysqli_connect_error(); } MySQL disconnect mysqli_close($db); Fermeture de la base de données Sélection $db = mysql_connect($server, $user_name, $password); mysql_select_db($db_name,$db); sql = "SELECT *FROM t_table WHERE Nom = '$nom1'"; $req = mysql_query($sql) or die('Erreur SQL !'<br>.$sql.'<br>'.mysql_error()); Lecture fichier while($data = mysql_fetch_assoc($req)) { $nom1 = $data['Nom']; } Nom est un champ du fichier Affichage echo "<a ".$nom1."</a>; Ajoute record mysqli_query($db,"INSERT INTO t_table(Nom) VALUES ('$nom2')"); Modification record mysqli_query($con,"UPDATE t_table SET nom='$nom2', prenom='$prenom2' WHERE reference='$ref2'"); Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 14 sur 44 CFWB – Compétences 6ème 8. Production d’objets multimédia 8.1. Produire des images optimisées pour des besoins spécifiques Notions d’images bitmap, vectorielles, compressées Image BITMAP Image matricielle, ou « carte de points » (de l'anglais « bitmap »), est une image constituée d'une matrice de points colorés. C'est-à-dire, constituée d'un tableau, d'une grille, où chaque case possède une couleur qui lui est propre et est considérée comme un point. Il s'agit donc d'une juxtaposition de points de couleurs formant, dans leur ensemble, une image. Image vectorielle Une image vectorielle (ou image en mode trait), en informatique, est une image numérique composée d'objets géométriques individuels (segments de droite, polygones, arcs de cercle, etc.) définis chacun par divers attributs de forme, de position, de couleur, etc. Elle se différencie en cela des images matricielles (ou « bitmap »), qui elles sont constituées de pixels. Par nature, un dessin vectoriel est dessiné à nouveau à chaque visualisation, ce qui engendre des calculs sur la machine. L'intérêt est de pouvoir redimensionner l'image à volonté sans aucun effet d'escalier. L'inconvénient est que pour atteindre une qualité photoréaliste, il faut pouvoir disposer d'une puissance de calcul importante et de beaucoup demémoire. Le principe de base du dessin vectoriel consiste à décrire des formes géométriques simples (arcs de cercle ou d'ellipse,segments de droite, courbes de Bézier...), auxquelles on peut appliquer différentes transformations : rotations,écrasement, mise à l'échelle. Les effets spéciaux permettent une très grande et importante souplesse : extrusion, effet miroir, dégradé de formes 1 morphage,( Le morphing ou morphose est un des effets spéciaux applicables à un dessin, vectoriel ou bitmap. Il consiste à fabriquer une animation qui transforme de la façon la plus naturelle et la plus fluide possible un dessin initial vers un dessin final) etc. Chacune des primitives géométriques possède un certain nombre d'attributs (position, couleur, remplissage). Lors d'une représentation, le logiciel travaille avec des lignes (ou encore courbes) et des surfaces Image compressée La compression d'image est une application de la compression de données sur des images numériques. Cette compression a pour utilité de réduire la redondance des données d'une image afin de pouvoir l'emmagasiner sans occuper beaucoup d'espace ou la transmettre rapidement. La compression d'image peut être effectuée avec perte de données ou sans perte. La compression sans perte est souvent préférée là où la netteté des traits est primordiale : schémas, dessins techniques, icônes bandes dessinées. La compression avec perte, plus radicale, est utile pour les transmissions à bas débit, mais dégrade la qualité de l'image restituée. Les méthodes de compression sans perte sont également préférées là où la précision est vitale : balayages médicaux ounumérisations d'images pour archivage. Les méthodes avec perte restent acceptables pour des photos dans les applications où une perte mineure de fidélité (parfois imperceptible) est tolérée pour réduire les coûts de stockage ou d'envoi. Les méthodes les plus importantes de compression d'image sans perte sont : la méthode du codage des répétitions, utilisée sur les premiers scanners et télécopieurs ; Les méthodes les plus importantes de compression avec perte sont : la réduction de l'espace des couleurs aux couleurs les plus fréquentes dans une image. Les couleurs choisies sont indiquées dans la palette de couleur dans l'en-tête de l'image compressée. Chaque pixel indique juste une référence sur une couleur dans la palette de couleurs. Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 15 sur 44 CFWB – Compétences 6ème 8.1.1. Acquisition d’une image par Internet, scanner, appareil photo numérique Acquisition d’une image par Internet Il est très facile de reprendre une image d’Internet et l’inclure dans un document. Précisons toutefois que le concept de droit d’auteur ne doit pas être bafoué. Il importe au minimum de citer la source de 1 cette image en insérant par exemple une note en bas de page (WORD Références > AB Insérer une note en bas de page Compte tenu de ce qui précède, pour reprendre l’image d’Internet : Sélectionner l’image > clic droit > copier l’image > Coller dans le document. Aussi dans Word : Clic droit sur l’image > Format de l’image > Onglet habillage cela permet de choisir comment l’image va s’intégrer dans le texte. Un autre moyen est d’ouvrir dans Word une zone de texte et y coller l’image. Cette zone de texte peut se positionner facilement, mais pouvant écraser des fragments de textes, c’est pourquoi la démarche précédente est conseillable La dernière façon est de faire un print srceen et de sélectionner ce qui convient par Paint, puis Ctrl+c Scanner Après avoir opérer le scannage de l’image, celle-ci est sous forme électronique et peut donc être traitée comme ci-dessus Appareil photo numérique Selon que l’appareil photo est récent ou pas la carte CIM peut directement être insérée dans l’interface PC. Un câble fourni avec l’appareil photo peut parfois être nécessaire, de même qu’un logiciel propre à cet appareil photo 8.1.2. Présentation des formats d’images courants (BMP, TIF, JPG, WMF) Format BMP Bitmap, connu aussi sous son abréviation BMP, est un format d'image matricielle ouvert développé par Microsoft et IBM. C'est un des formats d'images les plus simples à développer et à utiliser pour programmer. Il est lisible par quasiment tous les visualiseurs et éditeurs d'images. Une image matricielle, ou « carte de points » (de l'anglais « bitmap »), est une image constituée d'une matrice de points colorés. C'est-à-dire, constituée d'un tableau, d'une grille, où chaque case possède une couleur qui lui est propre et est considérée comme un point. Il s'agit donc d'une juxtaposition de points de couleurs formant, dans leur ensemble, une image. Cette expression est principalement utilisée dans les domaines de l'imagerie numérique (infographie informatique photographie numérique, etc.) afin de marquer l'opposition de ce concept avec celui des images vectorielles. Dans ces domaines, les points de couleurs les constituant s'appellent des pixels (pour « picture element », soit, littéralement : « élément d'image »). TIF Le Tag(ged) Image File Format généralement abrégé TIFF est un format de fichier pour image numérique.Adobe en est le dépositaire et le propriétaire initial (via Aldus). Plus exactement, il s'agit d'un format de conteneur (ou encapsulation), à la manière de avi ou zip, c'est-à-dire pouvant contenir des données de formats arbitraires. 7 Le Petit Prince de Saint-Exupery Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 16 sur 44 7 CFWB – Compétences 6ème JPG JPEG (acronyme de Joint Photographic Experts Group) est une norme qui définit le format d'enregistrement et l'algorithme de décodage pour une représentation numérique compressée d'une image fixe. L'extension JPG est apparue dans les années 1990 parce que certains systèmes d'exploitation de cette période (ex: Windows 95, 98, Me) ne permettaient pas d'utiliser d'extension de fichier de plus de 3 caractères. GIF Graphic Interchange Format est, un format image bitmap souvent utilisé sur le Web. Ce format supporte 8 bits par pixel. Une des caractéristique est que la compression ne dégrade pas la netteté de l’image PNG Le Portable Network Graphics (PNG) est un format ouvert d’images numériques, qui a été créé pour remplacer le format GIF, à l’époque propriétaire et dont la compression était soumise à un brevet. Le PNG est un format non destructeur spécialement adapté pour publier des images simples comprenant des aplats de couleurs. PNG est une spécification pour Internet et l’objet d’une Recommandation W3C WMF Windows Metafile (WMF) est un format d'image numérique sur les systèmes Windows, conçu au début des années 1990 et de moins en moins utilisé depuis l'avènement d'Internet et de l'utilisation massive d'autres formats comparables comme GIF, JPEG, et PNG. C'est un format supportant le dessin vectoriel, mais qui permet aussi l'inclusion d'images matricielles. WMF est un format 16-bit, introduit avec Microsoft Windows 3.0; une nouvelle version 32-bit, « améliorée », est appelée Enhanced Metafile (EMF). 8 8.1.2.1. Conversion d’une image d’un format à l’autre GIF et JPEG sont les formats à utiliser pour placer des images sur des pages WEB. L'un des soucis premiers du webmaster est de réussir le difficile équilibre entre un site au graphisme alléchant et un temps de chargement supportable pour les internautes. Les formats GIF et JPEG sont intéressants parce qu'ils permettent de réduire considérablement la taille (en kilo-octets) des images. Dans la langue des informaticiens cette réduction porte le doux nom de compression. GIF Les fichiers au format GIF (Graphics Interchange Format) peuvent contenir un maximum de 256 couleurs (d'où perte de qualité si le fichier original en comptait plus). Par contre le mode de compression se fait sans perte de qualité. De plus le format GIF permet de définir certaines couleurs comme étant transparentes. Cette transparence peut donner l'impression qu'une image est incrustée sur une page Web. Autre aspect intéressant, une variante du format GIF permet de créer des animations JPEG (Joint Photographic Experts Group) est une alternative à GIF. Son principal intérêt réside dans le fait que ce format supporte des millions de couleurs. Par contre la compression JPEG entraîne une perte de qualité de l'image (contour flou, surface plane pas très bien rendue). Cette perte reste toutefois minime et dans certains cas imperceptible. Ajoutons encore qu' il est possible d'intervenir sur le taux de compression. Vous l'aurez sans doute deviné, plus le taux est faible, meilleure est l'image mais plus grand est son poids. GIF JPEG Nombre de couleurs 256 (8 bits) Millions (24 bits) Compression Sans perte Avec perte Transparence Oui Non Avantages 8 Compression sans perte Idéal pour surface de couleurs uniformes (sans dégradé ou Possibilité de contrôle de la perte de qualité due à la compression http://dit-archives.epfl.ch/FI99/fi-6-99/6-99-page7.html Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 17 sur 44 CFWB – Compétences 6ème Désavantages Exemples d'utilisation changement fréquent de couleurs) Support transparence Possibilités d'images animées (GIF animé) Excellents résultats avec images photographiques Maximum de 256 couleurs Ne donne pas de bons résultats en dégradés Les images contenant beaucoup de changements de couleurs peuvent être très lourdes Pas de support pour la transparence Perte de qualité lors de la compression Pas de JPEG animé Images contenant du texte Logos Images animées Images types cartoon Boutons et fioritures des pages web Images style photographique Images scannées Images contenant des textures complexes (beaucoup de changements de couleurs) Images contenant des dégradés Signalons que de nombreux logiciels pré-visualisent l’image et donc permettent de faire le bon choix 8.1.2.2. Optimisation d’une image selon son utilisation : changement de résolution, de taille, luminosité, contraste, retouches Pour une image contenant du texte PNG Un logo, une icône, un dessin, graphique GIF Image haute qualité JPEG Une animation GIF La compression d’un format JPEG fait perdre de la netteté, ce qui n’est pas le cas pour GIF et PNG L’outil PAINT permet d’effectuer des modifications d’apparences en luminosité, contraste et retouches simples. Dans ce dernier cas PHOTO SHOP est sans conteste mieux adapté Un redimensionnement s’effectue facilement par clic sur l’image, faisant ainsi apparaître les poignées. Si les flèches se positionne à 45° le changement de dimension respecte les proportions hauteur/ largeur de l’image 8.1.2.3. Rognage d’une image PAINT permet de sélectionner une partie d’image Sauvegarder l’image dans le dossier « image » de Windows. Ouvrir > Microsoft Office Picture Manager > Modifier les images il est possible de : Rogner, Compresser pour le WEB, modifier couleur contrast Dans PAINT il est possible de sélectionner une portion de l’image, puis de sélectionner Rogner seule la zone sélectionnée est conservée Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 18 sur 44 CFWB – Compétences 6ème 8.2. Produire des séquences sonores optimisées pour des besoins spécifiques Caractéristiques des sons digitalisés (fréquence d’échantillonnage, échelle de l’échantillonnage, codage, compression, formats) 8.2.1. Acquisition du son La musique et l'informatique sont désormais liées dans tous les domaines, de la création à la notation musicale en passant par toutes les étapes de transformation du son, instrument modifié en temps réel, montage et gravure de disques. Il y a trois formes de créations musicales assistées par ordinateurs : La première, appelée composition assistée par ordinateur (CAO), a tenté de faire « calculer » à l'ordinateur les notes de la partition pour les faire jouer par la suite par des instruments traditionnels. La deuxième forme de création musicale, plus tournée vers l'interactif, a utilisé les éléments de la synthèse sonore pour, dans un premier temps, se servir des nouvelles sonorités ainsi conçues, et dans un deuxième temps les faire interagir avec les instruments traditionnels. La troisième forme de création musicale appelée « Composition Musicale par Ordinateur » est plus récente. Elle permet la création de logiciels générant, en toute cohérence harmonique et rythmique, une multitude de compositions totalement automatisée dans le style musical désiré. Avec les outils : MAO pour « Musique assistée par ordinateur ». CAO, pour « Conception Assistée par Ordinateur ». CMO, pour « Composition musicale par ordinateur » ou création de logiciels-compositeurs autonomes. Fréquence d’échantillonnage L'échantillonnage consiste à relever à intervalle régulier la valeur d'une grandeur physique. La fréquence d'échantillonnage est le nombre d'échantillons par unité de temps. Un microphone transforme d'abord la pression acoustique, qui est la grandeur physique correspondant au son, en signal électrique dit analogique, parce que ses variations reflètent celles de la grandeur qu'il transmet. Une fréquence d’échantillonnage de 7 kHz suffit pour la transmission de la parole, mais elle ne donne pas satisfaction pour la musique. En effet, avec cette fréquence, on ne peut reproduire les sons que jusqu'à la fréquence de 3 500 Hz, alors que la haute-fidélité propose de restituer les fréquences jusqu'à 20 kHz, un peu au delà de la limite de l'audible pour l'oreille humaine. La fréquence d'échantillonnage et la résolution de quantification déterminent la place que le fichier audio occupe en mémoire. Le fichier audio d'un enregistrement de meilleure qualité occupe plus d'espace Rappelons que l’Hertz est l’unité de mesure de la fréquence (f). Elle est reliée à la vitesse (v) et la longueur d’onde (λ) par la relation : f = v / λ 8.2.2. Conversion de formats sonores Un format de fichier audio est un format de données utilisé en informatique pour stocker des sons, (de la musique, des voix, etc.) sous forme numérique. L'industrie a produit de nombreux formats destinés à une application principale ou exclusive, soit à la production, soit à la conservation, soit à la diffusion. L'élément de programme qui transforme le signal en fichier et le fichier en signal s'appelle un codec, abréviation de COder-DECoder (codeur-décodeur) Une conversion peut se faire par audio converter Formats utilisés RIFF Plusieurs formats audio étant basés sur la norme RIFF (Resource Interchange File Format), format d'échange de fichiers resources, il convient de le décrire en premier, bien qu'il s'agisse d'une norme d'usage général. Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 19 sur 44 CFWB – Compétences 6ème Le principe est de définir des conteneurs et des bouts, les uns et les autres identifiés par leurs quatre premiers octets, qui sont, généralement, des caractères ASCII, de façon à pouvoir être lus par les techniciens qui ouvrent le fichier avec un éditeur hexadécimal, suivi par quatre octets qui indiquent où se trouve la fin du conteneur (ce nombre d'octets limite la taille d'un fichier RIFF à 4 Gio). Un fichier RIFF commence par « RIFF » et la longueur totale; puis on trouve l'identifiant du premier sous-conteneur, par exemple « INFO » suivi de la longueur de ce bout, à la fin duquel commence le suivant, par exemple « WAVE » suivi de la longueur de ce bout. WAV Article détaillé : WAVEform audio format. Le format WAV (ou WAVE), (WAVEform audio format) est un conteneur basé sur le format de fichier RIFF, dans lequel son identifiant est « WAVE ». Il peut contenir des codages audio avec réduction de débit ou non, mono ou stéréo, il a été mis au point par Microsoft et IBM. Les informations nécessaires au décodage se trouvent au début du fichier. Le WAV permet de stocker des métadonnées dans le fichier. Le plus souvent, il contient de l'audio sans réduction de données, avec des fréquences d'échantillonnage et des résolutions variées. Le suffixe des fichiers créés est .wav BWF Le BWF (Broadcast Wave Format) est un format audio standard créé par l'European Broadcasting Union à partir du WAV à l'usage des professionnels. Les Fichiers BWF incluent une référence 5 standardisée Timestamp qui permet et facilite la synchronisation avec un élément d'image distinct . C'est le format d'enregistrement usuel de nombreuses stations de travail audio professionnelles de la télévision et du cinéma. 6 7 Stand-alone, basé sur des fichiers, multi-enregistreurs de Sound Devices , Zaxcom , HHB 8 9 USA , (en) en:Fostex, et Aaton tous utilisent BWF comme leur format préféré. Ogg Le format Ogg Vorbis est un format libre, fruit de la fondation Xiph.org. Ogg est un conteneur qui peut contenir des pistes sonores audio sans perte (FLAC), codées avec le codec psychoacoustique Vorbis, audio parlées (Speex) et vidéo (Theora). Un 'fichier Ogg' peut donc contenir l'un ou l'autre (ou une combinaison) de pistes. AIFF L'AIFF est un format de stockage de sons sur les ordinateurs de Apple. C'est l'équivalent du format WAV dans le monde Windows. Les résolutions 8, 16, 20, 24 et 32 bits (à virgule flottante) sont acceptées. Le suffixe des fichiers créés est .aif Une variante l'AIFF-C permet de compresser la taille jusqu'à 6x. CAF Le CAF (Core audio format) a été développé par Apple pour s'affranchir des limitations de conteneur audio plus ancien comme le AIFF ou le WAV. Il est compatible avec le système Mac OS X d'Apple depuis la version 10.3 et est lisible par Quicktime 7. 8.2.3. Réduction de la taille d’un fichier son en jouant sur divers paramètres La compression audio est une forme de compression de données. Celle-ci a pour but de réduire la taille d'un fichier audio afin de répondre au besoin de bande passante de la transmission des flux audio numériques et de la taille de stockage de fichiers audio. On distingue la compression audio sans perte et la compression avec perte. Compression avec perte Une compression est appelée « destructive » quand on est incapable d'obtenir les données originales à partir des données compressées. Il s'agit donc d'une représentation de la source éliminant les données jugées inutiles pour la bonne compréhension, en se focalisant sur les données significatives. Le terme « compression destructive » signifie avec perte et vient de l'expression anglaise « lossy ». Ce type de compression est utilisé en diffusion audiovisuelle; en production on utilisera des formats « non-destructifs ». Ainsi, le format audio OGG Vorbis par exemple n'est pas une compression bit à bit du son d'origine, mais à partir de différents algorithmes permet de produire un fichier dont le son réinterprété par un moteur de décodage est suffisamment fidèle pour qu'une oreille humaine puisse difficilement faire la différence entre ces données compressées et le son original. Exemples vec perte : ATRAC --- Dolby Digital AC-3 --- MP2 --- MP3 --- Windows Media Audio Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 20 sur 44 CFWB – Compétences 6ème Sans perte Une compression, qu'elle soit audio, vidéo ou autre, est sans perte quand il est possible d'obtenir les données originales à partir des données compressées. Le qualificatif sans perte vient de l'expression anglaise « lossless ». Exemples: Apple Lossless – ALAC (Apple Lossless Audio Codec) --- ATRAC Advanced Lossless --- WMA Lossless – Windows Media Lossless Comparatif de compression pour un même échantillon 1. APE 870 Ko 2. FLAC 1007 Ko 3. WAV 1843 Ko (format brut initial) 8.2.4. Extraction et agencement de séquences sonores Trois formats de son numérique sont utilisés, les informations sonores de chaque format disponible étant inscrites sur des endroits différents sur la pellicule : Dolby Digital (anciennement Dolby SRD) : le son encodé est imprimé en paquets entre les perforations, sur la partie gauche du film (à côté de la piste sonore stéréo optique analogique); DTS : Digital Theater Systems, inspiré "fortement" par le LC Concept, le son est lu par un CDROM, un Timecode (temporel) (code d'adressage et de synchronisation) est photographié à côté de la piste optique ; SDDS : Sony Dynamic Digital Sound, le son encodé se répartit sur les bords extérieurs de la pellicule (entre les perforations et le bord) Les systèmes de restitution disposent de 6 à 8 voies : avant-gauche, avant-demi-gauche, avantcentre, avant-demi-droite, avant-droite, arrière-gauche, arrière-droit et basses (l'oreille perçoit mal la direction d'où proviennent les basses, il n'y a donc qu'un caisson unique). 8.3. Produire une présentation comprenant des images et des sons à l’aide d’un logiciel de présentation assistée par ordinateur 9 8.3.1. Intégration d’images et de sons dans des séquences animées Exemple : 10 logiciels gratuits pour éditer facilement vos fichiers audio. Ils sont classés sans ordre de préférence, à chacun de faire son choix. La plupart sont en anglais, mais sont relativement simples à utiliser. Ocenaudio est un logiciel d'origine brésilienne (mais disponible en anglais) qui fonctionne aussi bien sur Windows (XP/Vista/7), que sur Mac OS X et Linux et qui permet d'éditer et d'analyser facilement des fichiers audio (Mp3, WAV, FLAC, OGG, etc). Présenté sur le blog ici. 9 http://freewares-tutos.blogspot.be/2011/09/theme-30-les-10-meilleurs-logiciels.html Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 21 sur 44 CFWB – Compétences 6ème Audacity est sans doute l'éditeur audio gratuit le plus connu. Fonctionnant lui aussi sur Windows, Mac OS X, GNU/Linux, etc, il est disponible en français et permet de : - Enregistrer en direct. - Convertir vos disques et cassettes sur support numérique. - Editer des fichiers audio Ogg Vorbis, MP3 et WAV - Couper, copier, coller et assembler des extraits sonores - Modifier la vitesse ou la hauteur d'un enregistrement - etc Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 22 sur 44 CFWB – Compétences 6ème 9. Conception et réalisation d’une mise en réseau 9.1. Proposer une topologie adaptée à un réseau dont on connaît la finalité 9.1.1. Notion de réseau, de réseaux informatiques Réseau au sens large En premier ressort, un réseau désigne au sens concret « un ensemble de lignes entrelacées » et, au figuré « un ensemble de relations » Par extension, il désigne un ensemble interconnecté — fait de composants et de leurs interrelations — autorisant la circulation en mode continu ou discontinu de flux (eau, air, huile...) ou d'éléments finis (marchandises, informations, personnes...). Le Réseau n être « matériel » (comme le réseau sanguin), « semi-matériel » (comme le réseau lymphatique), « immatériel » (comme le réseau social), « abstrait, symbolique ou normalisé » (comme le Réseau Pert). Réseaux informatiques Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations), on appelle nœud (Node (networking) (en)) l'extrémité d'une connexion, qui peut être une intersection de plusieurs connexions ou équipements (un ordinateur, un routeur, concentrateur, un commutateur). Indépendamment de la technologie sous-jacente, on porte généralement une vue matricielle sur ce qu'est un réseau. De façon horizontale, un réseau est une strate de trois couches : les infrastructures, les fonctions de contrôle et de commande, les services rendus à l'utilisateur. De façon verticale, on utilise souvent un découpage géographique : réseau local, réseau d'accès et réseau 9.1.2. Notions de client/serveur et de réseau pair à pair (peer-to-peer), de protocole L'environnement client-serveur désigne un mode de communication à travers un réseau entre plusieurs programmes ou logiciels : l'un, qualifié de client, envoie des requêtes ; l'autre ou les autres, qualifiés de serveurs, attendent les requêtes des clients et y répondent. Par extension, le client désigne également l'ordinateur sur lequel est exécuté le logiciel client, et le serveur, l'ordinateur sur lequel est exécuté le logiciel serveur. En général, les serveurs sont des ordinateurs dédiés au logiciel serveur qu'ils abritent, et dotés de capacités supérieures à celles des ordinateurs personnels en termes de puissance de calcul, d'entrées-sorties et de connexions réseau. Les clients sont souvent des ordinateurs personnels ou des appareils individuels (téléphone, tablette), mais pas systématiquement. Un serveur peut répondre aux requêtes d'un grand nombre de clients. Il existe une grande variété de logiciels serveurs et de logiciels clients en fonction des besoins à servir : un serveur web publie des pages web demandées par des navigateurs web ; un serveur de messagerie électronique envoie des mails à des clients de messagerie ; un serveur de fichiers permet de stocker et consulter des fichiers sur le réseau ; un serveur de données à communiquer des données stockées dans une base de données, etc. Réseau pair à pair (peer to peer – P2P) Le pair à pair ou pair-à-pair (traduction de l'anglicisme peer-to-peer, souvent abrégé « P2P ») est un modèle de réseau informatique proche du modèle client-serveur mais où chaque client est aussi un serveur. Le pair à pair peut être centralisé (les connexions passant par un serveur central intermédiaire) ou décentralisé (les connexions se faisant directement). Il peut servir au partage de fichiers en pair à pair, au calcul distribué ou à la communication. Un partage de fichiers en pair-à-pair est un réseau qui permet de partager des fichiers entre plusieurs ordinateurs connectés entre eux par Internet, chaqueinternaute pouvant être serveur et receveur d’un autre internaute. Ils forment ainsi des « pairs ». Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 23 sur 44 CFWB – Compétences 6ème Serveur Caractéristiques d'un processus serveur : il attend une connexion entrante sur un ou plusieurs ports réseaux ; à la connexion d'un client sur le port en écoute, il ouvre un socket local au système d'exploitation; suite à la connexion, le processus serveur communique avec le client suivant le protocole prévu par la couche application du modèle OSI. Client Caractéristiques d'un processus client : il établit la connexion au serveur à destination d'un ou plusieurs ports réseaux ; lorsque la connexion est acceptée par le serveur, il communique comme le prévoit la couche applicative du modèle OSI. Le client et le serveur doivent bien sûr utiliser le même protocole de communication au niveau de la couche transport du modèle OSI. Un serveur est généralement capable de servir plusieurs clients simultanément. On parle souvent d'un service pour désigner la fonctionnalité offerte par un processus serveur. On définit aussi comme serveur, un ordinateurspécialisé ou une machine virtuelle ayant pour unique tâche l'exécution d'un ou plusieurs processus serveur. Protocole Un protocole réseau est un protocole de communication mis en œuvre sur un réseau informatique. Dans les réseaux informatiques et les télécommunications, un protocole de communication est une spécification de plusieurs règles pour un type de communication particulier. Initialement, on nommait protocole ce qui est utilisé pour communiquer sur une même couche d'abstraction entre deux machines différentes. Par extension de langage, on utilise parfois ce mot aussi aujourd'hui pour désigner les règles de communication entre deux couches sur une même machine. Les protocoles de communication les plus utilisés sont les protocoles réseau. TCP/IP est l'ensemble des protocoles utilisés pour le transfert des données sur Internet. Elle est souvent appelée TCP/IP, d'après le nom de deux de ses protocoles : TCP (Transmission Control Protocol) et IP (Internet Protocol), qui ont été les premiers à être définis. 9.1.3. Modèle de réseau OSI Le modèle OSI (de l'anglais Open Systems Interconnection) est un standard de communication, en réseau, de tous les systèmes informatiques. C'est un modèle de communications entre ordinateurs proposé par l'ISO qui décrit les fonctionnalités nécessaires à la communication et l'organisation de ces fonctions. La norme complète, de référence ISO 7498 est globalement intitulée « Modèle basique de référence pour l'interconnexion des systèmes ouverts (OSI) » et est composée de 4 parties : 1. Le modèle de base 2. Architecture de sécurité 3. Dénomination et adressage 4. Cadre général de gestion La version de cet article ainsi que les articles consacrés à chacune des couches du modèle se concentrent sur la partie 1, révision de 1994. L'UIT-T en a approuvé le texte à l'identique sous le numéro de recommandation X.200 en 1994. Le texte de la norme proprement dite est très abstrait car il se veut applicable à de nombreux types de réseaux. Pour la rendre plus compréhensible, en plus de présenter la norme, cet article fait des liens avec les réalisations concrètes telles qu'on les trouve dans un ordinateur, c’est-à-dire des piles protocolaires concrètes (un « système réel » au sens de la section 4). De plus, la norme n'indique pas de mécanismes propres à assurer les fonctions définies alors que cet article le fait. Les exemples de services et surtout de protocoles sont pris dans le monde IP (probablement le plus connu mais aussi le plus éloigné de l'esprit de la norme), le monde RNIS (y compris la seconde génération, plus connue sous le nom ATM) et parfois le monde OSI (qui ne fait pas que des modèles). Les combinaisons offertes par le modèle sont beaucoup plus nombreuses que celles réalisées dans des piles de protocoles existantes, on ne peut donc pas donner d'exemple réel pour toutes les fonctions. Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 24 sur 44 CFWB – Compétences 6ème Le modèle est essentiellement une architecture en couches définies et délimitées avec les notions de service, de protocole et d'interface. Un service est une description abstraite de fonctionnalités à l'aide de primitives (commandes ou événements) telles que demande de connexion ou réception de données. Un protocole est un ensemble de messages et de règles d'échange réalisant un service. Une interface (« point d'accès au service » dans la norme) est le moyen concret d'utiliser le service. Dans un programme, c'est typiquement un ensemble de fonctions de bibliothèque ou d'appels systèmes. Dans une réalisation matérielle, c'est par exemple un jeu de registres à l'entrée d'un circuit. Les détails d'un service varient bien sûr d'une architecture de réseau à l'autre. La classification la plus grossière se fait selon que le service fonctionne en mode connecté ou non. Malgré cette variabilité, les fonctions communes ont des noms conventionnellement constants. Ces noms ne proviennent toutefois pas directement de ISO 7498-1. 9.1.4. Notions de topologie Une topologie de réseau est en informatique une définition de l'architecture d'un réseau. Définissant les connexions entre ces postes et une hiérarchie éventuelle entre eux, elle peut avoir des implications sur la disposition géographique des différents postes informatiques du réseau. Ainsi Ethernet peut avoir comme support un simple plafond blanc visible de tous les postes (voir LiFi), alors que cela sera par construction impossible en token ring, bien que possible en token bus 9.1.4.1. Reconnaître une topologie Le réseau en anneau Topologie de réseau en anneau Un réseau a une topologie en anneau quand toutes ses stations sont connectées en chaine les unes aux autres par une liaison bipoint et la dernière à la première. Chaque station joue le rôle de station intermédiaire. Chaque station qui reçoit une trame, l'interprète et la ré-émet à la station suivante de la boucle si c'est nécessaire. La défaillance d'un hôte rompt la structure d'un reseau en anneau si la communication est unidirectionnelle ; en pratique un réseau en anneau est souvent composé de 2 anneaux contra-rotatifs. Note : les ordinateurs d'un réseau en anneau ne sont pas systématiquement reliés en boucle, mais peuvent être connectés à un répartiteur appelé « MAU », (pour Multistation Access Unit) qui va gérer la communication entre les ordinateurs reliés en allouant à chacun d'eux un « temps de parole ». En cas de collision de deux messages, les deux seraient perdus, mais les règles d'accès à l'anneau (par exemple, la détention d'un jeton) sont censées éviter ce cas de figure. Le réseau hiérarchique Topologie de réseau en arbre Aussi connu sous le nom de réseau en arbre, il est divisé en niveaux. Le sommet, de haut niveau, est Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 25 sur 44 CFWB – Compétences 6ème connectée à plusieurs nœuds de niveau inférieur, dans la hiérarchie. Ces nœuds peuvent être euxmêmes connectés à plusieurs nœuds de niveau inférieur. Le tout dessine alors un arbre, ou une arborescence. Le point faible de ce type de topologie réside dans l'ordinateur "père" de la hiérarchie qui, s'il tombe en panne, paralyse alors la moitié du réseau. Le réseau en bus Topologie de réseau en bus Cette topologie est représentée par un câblage unique des unités réseaux. Il a également un faible coût de déploiement et la défaillance d'un nœud (ordinateur) ne scinde pas le réseau en deux sousréseaux. Ces unités sont reliées de façon passive par dérivation électrique ou optique. Les caractéristiques de cette topologie sont les suivantes : Lorsqu'une station est défectueuse et ne transmet plus sur le réseau, elle ne perturbe pas le réseau. Lorsque le support est en panne, c'est l'ensemble du réseau qui ne fonctionne plus. Le signal émis par une station se propage dans un seul sens ou dans les deux sens. Si la transmission est bidirectionnelle : toutes les stations connectées reçoivent les signaux émis sur le bus en même temps (au délai de propagation près). Le bus est terminé à ses extrémités par des bouchons pour éliminer les réflexions possibles du signal. Autre description d'une topologie en bus : tous les postes sont directement connectés a un seul segment (limité par la longueur du câble). Le réseau en étoile Topologie de réseau en étoile C'est la topologie la plus courante actuellement. Omniprésente, elle est aussi très souple en matière de gestion et dépannage de réseau : la panne d'un nœud ne perturbe pas le fonctionnement global du réseau. En revanche, l'équipement central (un concentrateur (hub) et plus souvent sur les réseaux modernes, un commutateur (switch)) qui relie tous les nœuds constitue un point unique de défaillance : une panne à ce niveau rend le réseau totalement inutilisable. Le réseau Ethernet est un exemple de topologie en étoile. L'inconvénient principal de cette topologie réside dans la longueur des câbles utilisés Le réseau linéaire Il a pour avantage son faible coût de déploiement, mais la défaillance d'un nœud (ordinateur) peut scinder le réseau en deux sous-réseaux. Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 26 sur 44 CFWB – Compétences 6ème Le réseau maillé Topologie de réseau maillé Une topologie maillée correspond à plusieurs liaisons point à point. (Une unité réseau peut avoir (1,N) connexions point à point vers plusieurs autres unités.) Chaque terminal est relié à tous les autres. L'inconvénient est le nombre de liaisons nécessaires qui devient très élevé lorsque le nombre de terminaux l'est : s'il y a N terminaux, le nombre de liaisons nécessaires est de (n*(n-1))/2 fonction qui 2 croît comme n Cette topologie se rencontre dans les grands réseaux de distribution (Exemple : Internet). L'information peut parcourir le réseau suivant des itinéraires divers, sous le contrôle de puissants superviseurs de réseau, ou grâce à des méthodes de routage réparties. Elle existe aussi dans le cas de couverture Wi-Fi. On parle alors bien souvent de topologie mesh mais ne concerne que les routeurs Wi-Fi. Ceux-ci se relaient les paquets grâce au protocole OLSR. 9.1.4.2 Réseaux Ethernet Ethernet est un protocole de réseau local à commutation de paquets. Bien qu'il implémente la couche physique (PHY) et la sous-couche Media Access Control (MAC) du modèle IEEE 802.3, le protocole Ethernet est classé dans les couche de liaison de données et physique, puisque la couche LLC (Logical Link Control) 802.2 fait la charnière entre les couches supérieures et la sous-couche MAC (Media Access Control) qui fait partie intégrante du processus 802.3 avec la couche physique, car les formats de trames que le standard définit sont normalisés et peuvent être encapsulés dans des protocoles autres que ses propres couches physiques MAC et PHY. Ces couches physiques font l'objet de normes séparées en fonction des débits, du support de transmission, de la longueur des liaisons et des conditions environnementales 9.1.4.3. Le Wifi Le Wi-Fi est un ensemble de protocoles de communication sans fil régi par les normes du groupe IEEE 802.11 (ISO/CEI 8802-11). Un réseau Wi-Fi permet de relier sans fil plusieurs appareils informatiques (ordinateur, routeur, décodeur Internet, etc.) au sein d'un réseau informatique afin de permettre la transmission de données entre eux. Les autres topologies Il existe d'autres types de topologies, mais elles ne sont utilisées que dans des réseaux conçus pour des tâches particulières, souvent scientifiques, ou pour effectuer des calculs distribués : le réseau en grille le réseau en hypercube Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 27 sur 44 CFWB – Compétences 6ème Cette dernière topologie serait en théorie la meilleure qui soit (chaque nœud étant relié à chaque autre par un lien direct), mais dans la pratique elle serait aussi la plus chère et de très loin (coût en N² avec le nombre de nœuds !) ; elle n'est utilisée que dans des dispositifs particuliers, en général à l'intérieur d'un même châssis. Internet et les réseaux en général Internet est le nom donné à l'interconnexion de plusieurs réseaux, potentiellement de topologies différentes, l'unification n'en étant faite qu'au niveau du seul adressage IP (v4 ou v6) et d'un grand nombre de protocoles et règles définis par l'IETF. De ce fait, aucun des cas particuliers de topologies citées ci-dessus ne s'applique; comme pour la plupart des grands réseaux, on dit d'Internet que sa topologie est quelconque, et de toute façon indépendante du plan d'adressage qui y est défini. 9.2. Permettre l’échange de datagrammes entre deux réseaux distincts Détermination du prochain saut que va effectuer un datagramme en se basant sur une table de routage 9.2.1. Notions de trame et de datagramme Le datagramme est un paquet de données dans un réseau informatique utilisé par des protocoles orientés non connectés tel que : IPX ou UDP. Le datagramme est le terme généralement utilisé pour désigner la transmission d'un paquet via un service non « fiable » : il n'y a aucun moyen de s'assurer que le paquet est arrivé à sa destination (un peu comme une lettre sans accusé de réception). L'inventeur du datagramme est le français Louis Pouzin. En informatique, ce concept est également utilisé de manière plus générale pour décrire des blocs de données. Il est notamment utilisé pour décrire un bloc de donnée transféré à une fonction, dans l'esprit des réseaux, mais appliqué entre processus internes d'un ordinateur. On le retrouve également dans le formatage des fichiers afin de décrire, soit des blocs, soit des mots identifiables. Par exemple, dans les formats d'archivage (tel le TAR), de compression (tel le ZIP) ou d'encapsulation (pour l'audio-vidéo entre autres). La pile TCP/IP La pile TCP/IP et le modèle OSI Le datagramme IP (version 4) Lorsque deux machines communiquent en utilisant le protocole IP, elles s'échangent des datagrammes IP qui ont le format ci-dessous : Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 28 sur 44 CFWB – Compétences 6ème Version (4 bits) : Le champ version indique la version utilisée du protocole IP. Début 2006, la version de IP la plus fréquemment utilisée est la version 4. La version 6 commence à apparaitre : il n'y aura pas de version 5. Les 4 bits de ce champ sont donc 0100 (codage en binaire de la valeur décimale 4). IHL = IP Header Length - longueur de l'en-tête IP (4 bits) : Ce champ indique la longueur de l'entête IP. L'unité est le nombre de mots de 32 bits. Pour la version 4 la longueur de cette entête est de 20 octets soit 5 fois 32 bits : ce champ vaut donc 0101. Type of service (8 bits) : Ce champ permet d'indiquer que certains datagrammes IP ont une priorité supérieure à d'autres. Il est peu utilisé sauf par quelques routeurs spécialisés dans la transmission de voix sur IP. Total length (16 bits) : Ce champ indique le nombre d'octets du datagramme, en-tête IP comprise. La longueur maximale du 16 datagramme en octets est 2 -1 = 65 535 octets = 64 ko -1 octet ID (16 bits) : Ce champ est un identifiant du datagramme IP (le numéro du datagramme). F = Flags - les drapeaux (3 bits) : le premier bit est inutilisé le deuxième bit DF (don't fragment) permet d'interdire ou d'autoriser la fragmentation. positionné à 1, il est interdit de fragmenter ce datagramme IP. le troisième bit MF (more fragment) est utilisé lors de la fragmentation : il indique si le fragment est le dernier fragment du datagramme (MF=0) ou non (MF=1). TTL = Time to live - temps restant à vivre (8 bits) : Il s'agit d'une valeur initialisée par l'émetteur et qui est décrémentée de 1 à chaque fois que le datagramme traverse un routeur. Si le TTL arrive à la valeur 0, le datagramme est détruit : ce mécanisme assure la destruction des datagrammes qui se perdent sur le réseau. Ainsi ces datagrammes perdus n'encombrent pas indéfiniment le réseau. Protocole (8 bits) : Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 29 sur 44 CFWB – Compétences 6ème Ce champ indique la nature des données transportées par ce datagramme IP. 3 protocoles sont principalement utilisés au dessus de IP : ICMP (code 1), TCP (code 6) et UDP (code 17). Header Checksum - somme de contrôle de l'en-tête (16 bits) : Il s'agit d'un code détecteur d'erreurs qui ne porte que sur l'entête : la somme des octets de l'entête 16 16 regroupé par paquets de 16 bits (header checksum compris) doit valoir 2 -1 modulo 2 . En cas d'erreur sur l'entête le datagramme est détruit. IP n'est pas un protocole fiable puisqu'on ne garantit pas que les données arrivent, ni de leur fiabilité. IP source (32 bits) : Adresse IP de l'expéditeur. IP destination (32 bits) : Adresse IP du destinataire. 9.2.2. CSMA/CD méthode du token La méthode – protocole - CSMA/CD (Carrier Sense Multiple Access / Collision Detection) est dérivée d'un système de transmission radio appelé Aloha. Son principe est de laisser chacun libre de gérer ses émissions en fonction de ses besoins et de la disponibilité du média. En l'absence d'information à transmettre, la station écoute (ou reçoit) les paquets qui circulent sur le média dans un sens ou dans l'autre. Quand la station a besoin d'émettre un ou plusieurs paquets, elle vérifie qu'aucune trame n'est émise sur le média. Si c'est le cas elle commence à émettre son paquet. Si ce n'est pas le cas elle attend la fin de la transmission en cours. Chaque machine ayant à tout instant la possibilité de commencer une transmission de manière autonome, la méthode d'accès est distribuée : elle est dite à accès multiple (Multiple Access : MA). La machine observe le média en cherchant à détecter une porteuse (Carrier Sense : CS). Si aucune trame n'est transmise, elle ne trouve pas de porteuse. Elle envoie ses paquets sur le support physique et reste à l'écoute du résultat de son émission pendant quelque temps, pour vérifier qu'aucune autre machine n'a suivi le même comportement qu'elle au même instant. La méthode d'accès étant à détection de collision (Collision Detect : CD), lors de son émission une machine peut déceler un problème de contention, et s'arrêter avec l'intention de renvoyer son paquet ultérieurement quand elle aura de nouveau la parole. De façon à minimiser le risque de rencontrer une deuxième collision avec la même machine, chacune attend pendant un délai aléatoire avant de tenter une nouvelle émission. Cependant, de manière à ne pas saturer un réseau qui s'avérerait déjà très chargé, la machine n'essaiera pas indéfiniment de retransmettre un paquet si à chaque tentative elle se trouve en conflit avec une autre ; après un certain nombre d'essais infructueux (le nombre maximum de reprises est de 16) le paquet est éliminé. On évite ainsi l'effondrement du réseau. Les couches supérieures sont averties que la transmission du message a échoué. Token L'Anneau à jeton, plus connu internationalement sous le terme de Token Ring, est un protocole de réseau local qui fonctionne sur la couche Liaison du modèle OSI. Il utilise une trame spéciale de trois octets, appelée jeton, qui circule dans une seule direction autour d'un anneau. Les trames Token Ring parcourent l'anneau dans un sens qui est toujours le même Le Token Ring donnait d'excellents résultats si on considère les premières implémentations sur médium partagé d'Ethernet, et fut considéré comme alternative viable à haute performance à celles-ci. Contrairement aux performances d'Ethernet, qui décroissent avec la probabilité de collisions de trames et donc avec le nombre de stations, celles de Token Ring sont constantes et donc prévisibles, puisque les collisions sont impossibles. Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 30 sur 44 CFWB – Compétences 6ème 9.2.3. Notions d’adresse et de routage Le routage est le mécanisme par lequel des chemins sont sélectionnés dans un réseau pour acheminer les données d'un expéditeur jusqu'à un ou plusieurs destinataires. Le routage est une tâche exécutée dans de nombreux réseaux, tels que le réseau téléphonique, les réseaux de données électroniques comme l'Internet, et les réseaux de transports. Sa performance est importante dans les réseaux décentralisés, c'est-à-dire où l'information n'est pas distribuée par une seule source, mais échangée entre des agents indépendants. Pour effectuer le routage, on considère deux types de machines ou composants du réseau : les routeurs, qui servent d'intermédiaire dans la transmission d'un message, et les hôtes qui émettent ou reçoivent les messages. Lorsque le routeur se trouve entre deux réseaux dépendant d'autorités différentes, comme entre le réseau local d'une entreprise et l'Internet, on utilise alors une passerelle ; cet élément peut être considéré comme plus évolué qu'un simple routeur en raison de la conversion entre protocoles (généralement Ethernet sur réseau local et IP sur réseau étendu) effectuée. Type de routage : Unicast : vers un seul point 9.3. Tracer le chemin emprunté par un datagramme dans le cadre d’un algorithme de routage et d’un réseau connu Simulation théorique de l’échange des informations au maintien d’une session 9.3.1. Algorithmes de routage du plus court chemin À la base, un problème de pathfinding peut se ramener à un problème de recherche du meilleur chemin entre deux nœuds dans un graphe. Il existe un ensemble d'algorithmes classiques pour résoudre ce type de problème. Toutefois, le pathfinding devient un problème complexe lorsque l'on cherche à prendre en compte diverses contraintes additionnelles (exécution en temps réel, présence d'incertitudes, contrainte de ressources, environnement évolutif, etc). Patate chaude Border Gateway Protocol (BGP) est un protocole d'échange de route utilisé notamment sur le réseau Internet. Son objectif est d'échanger des informations d'accessibilité de réseaux (appelés préfixes) entre Autonomous Systems (AS) car il a été conçu pour prendre en charge de très grands volumes de données et dispose de possibilités étendues de choix de la meilleure route. Notons que dans un protocole de routage, la métrique est une mesure de la « distance » qui sépare un routeur d'un réseau de destination. Contrairement aux protocoles de routage interne, BGP n'utilise pas de métrique classique mais fonde les décisions de routage sur les chemins parcourus, les attributs des préfixes et un ensemble de règles de sélection définies par l'administrateur de l'AS. On le qualifie de protocole à vecteur de chemins (path vector protocol) 9.4. Déterminer le contexte d’une fourniture de services Simulation théorique de l’échange des informations nécessaires au maintien d’une session 9.4.1. Evocation du fonctionnement et de l’utilité de la translation d’adresse Simulation de l’échange des informations nécessaires au maintien d’une session En réseau informatique, on dit qu'un routeur fait du Network Address Translation (NAT) 1 (« traduction d'adresse réseau » ) lorsqu'il fait correspondre les adresses IP internes non-uniques et souvent non routables d'un intranet à un ensemble d'adresses externes uniques et routables. Ce mécanisme permet notamment de faire correspondre une seule adresse externe publique visible sur Internet à toutes les adresses d'un réseau privé (LAN) et pallie ainsi l'épuisement des adresses IPv4. Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 31 sur 44 CFWB – Compétences 6ème La fonction NAT dans un routeur de service intégré (ISR) traduit une adresse IP source interne en adresse IP globale. Un campus est composé de 1 000 hôtes (ordinateurs, imprimantes, etc.), répartis dans 4 sous-réseaux. Sans utilisation du NAT, un tel campus nécessiterait l'attribution de presque 1 000 adresses IPv4 uniques et routées. En connectant un tel campus à Internet via un routeur qui implémente NAT, il est possible de changer le plan d'adressage interne et d'utiliser des adresses non uniques (utilisées ailleurs dans le monde) et non routables sur Internet (cf. RFC 1918). On parle aussi d'adresses publiques (uniques au monde) et privées (uniques seulement dans le réseau privé). Un des buts du NAT est de rendre les adresses privées invisibles depuis Internet. On n'assignera que quelques centaines d'adresses à l'ensemble des adresses externes du NAT, sachant que les imprimantes (et certains autres équipements) n'ont pas besoin de communiquer avec l'extérieur de façon permanente (donc leurs adresses n'ont pas besoin d'être traduites). Le NAT permet donc de diminuer significativement le nombre d'adresses IP uniques utilisées. Nous pouvons rattacher cette approche à celle employée à l’école. 9.4.2. Notion de session En informatique et en télécommunication, une session est une période délimitée pendant laquelle un appareil informatique est en communication et réalise des opérations au service d'un client - un usager, un logiciel ou un autre appareil Ouverture Une session démarre lorsque l'utilisateur commence à interagir avec un programme logiciel, qu'il s'agisse d'un système d'exploitation (OS), d'une application lourde ou à travers un site internet. Plusieurs sessions peuvent donc être 'imbriquées' l'une dans l'autre, une session ouverte sur un site internet se faisant elle-même au sein d'une session ouverte sous l'OS. L'ouverture de session peut être : Explicite, avec une saisie d'un nom et d'un mot de passe. On parle alors d'authentification ou de connexion. Implicite, lorsqu'il n'y a pas besoin d'indiquer un identifiant ou un mot de passe. Ce type de session est bien souvent limitée en termes de droits et donc d'effets. Fermeture Selon toute logique, une session devrait se terminer lorsque l'utilisateur arrête de se servir du système. En pratique, même lorsque le système dispose d'un mécanisme d'arrêt explicite de la session (telle une déconnexion), l'utilisateur peut toujours laisser le programme 'ouvert' en cours de session pour revenir par la suite. Cela n'est pas sans poser des problèmes, notamment en matière de sécurité. Le concepteur du programme peut alors imposer un temps limite d'inactivité ou une échéance : passé un certain temps, soit la session est terminée, soit elle exige à nouveau l'entrée du mot de passe. Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 32 sur 44 CFWB – Compétences 6ème 9.5. Reconnaître les contextes dans lesquels un cryptage s’avère nécessaire 9.5.1. Notions d’encodage et de cryptage Réalisation et cassage d’un cryptage basique. Choix d’une clé Encodage Action de saisir des données qui sont traduites en code simultanément grâce à l’applicatif qui permet cette prise de données. Ce code est bien entendu relatif au binaire, seule information stockée et reconnu par les programmes informatiques. Cryptage Action d’utiliser des astuces pour renforcer la sécurité des informations transmises en informatique et dans toute autre discipline. Des tables d’équivalences sont souvent utilisées pour effectuer l’opération inverse, afin de pouvoir lire le message. Ce sont des algorithmes complexes de façon telle que celui qui ne dispose pas de l’outil nécessaire à la lecture ne puisse déchiffrer l’information. 10 Chiffre de César Le chiffre de César (ou chiffrement par décalage) est un algorithme de chiffrement très simple que Jules César utilisait pour chiffrer certains messages qu'il envoyait (source). Il s'agit d'une substitution mono-alphabétique car il remplace chaque lettre par une autre lettre de l'alphabet, toujours la même. Principe de chiffrement Ce crypto système consiste à remplacer chaque lettre du texte clair, par une lettre différente, située x lettres après dans l'alphabet, où x est la valeur de la clé passée en argument. Si l'on considère que chaque lettre de l'alphabet est numérotée de 0 à 25 (A = 0, B = 1, etc.), cela revient à additionner la valeur de la lettre du texte clair avec la valeur de la clé. Ensuite, pour éviter que la valeur dépasse le 'Z', on fait modulo 26 sur le résultat précédent. Rappelons que le modulo est une opération mathématique permettant d'obtenir le reste d'une division. 9.6. Intégrer un système à un réseau IP 9.6.1. Notion de protocole IP, d’adresse IP, de masque de sous-réseau Représentation d’une adresse IP en formats numérique et CIDR Protocole IP Internet Protocol (abrégé en IP) est une famille de protocoles de communication de réseau informatique conçus pour être utilisés parInternet. Les protocoles IP sont au niveau 3 dans le modèle OSI. Les protocoles IP s'intègrent dans la suite des protocoles Internet et permettent un service d'adressage unique pour l'ensemble des terminaux connectés. Lors d'une communication entre deux postes, le flux de données provenant de la couche transport — niveau 4 du modèle OSI — (par exemple des segments TCP) est encapsulé dans des paquets par le protocole IP lors de leur passage au niveau de la couche réseau. Ces paquets sont ensuite transmis à la couche de liaison de données — niveau 2 du modèle OSI — afin d'y être encapsulés dans des trames (par exemple Ethernet). Lorsque deux terminaux communiquent entre eux via ce protocole, aucun chemin pour le transfert des données n'est établi à l'avance : il est dit que le protocole est « non orienté connexion ». Par opposition, pour un système comme le réseau téléphonique commuté, le chemin par lequel va passer la voix (ou les données) est établi au commencement de la connexion : le protocole est « orienté connexion ». 10 http://fr.openclassrooms.com/informatique/cours/les-premiers-algorithmes-de-chiffrement Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 33 sur 44 CFWB – Compétences 6ème Adresse IP Une adresse IP (avec IP pour Internet Protocol) est un numéro d'identification qui est attribué de façon permanente ou provisoire à chaque appareil connecté à unréseau informatique utilisant l'Internet Protocol. L'adresse IP est à la base du système d'acheminement (le routage) des messages sur Internet. Il existe des adresses IP de version 4 (sur 32 bits, soit 4 octets) et de version 6 (sur 128 bits, soit 16 octets). La version 4 est actuellement la plus utilisée : elle est généralement représentée en notation décimale avec quatre nombres compris entre 0 et 255, séparés par des points, ce qui donne par exemple : 212.85.150.134. Les plages d'adresses IP v4 étant proche de la saturation, les opérateurs incitent à la transition d'IPv4 vers IPv6. Masque de sous-réseau Un sous-réseau est une subdivision logique d'un réseau de taille plus importante. Le masque de sousréseau permet de distinguer la partie de l'adresse utilisée pour le routage et celle utilisable pour numéroter des interfaces. Un sous-réseau correspond typiquement à un réseau local sous-jacent. Sous Windows la commande : CMD > IPCONFIG donne les informations d’un PC sous la forme : Dans ce cas (comme nous l’a exposé M. Gilles à l’école) Réseau…….|PC 192.168. 1.2 255.255.255.0 9.7. Concevoir un réseau IP 9.7.1. Notions de classe d’adressages, d’adresses privées Déterminer l’appartenance à un réseau à partir de l’adresse IP et du masque de sous-réseau Exemple : Adresse 192.168.1.2 et masque 255.255.255.0 192.168.1.2 & 255.255.255.0 = 192.168.1.0 192.168.1.2 & 0.0.0.255 = 0.0.0.2 Soit en binaire : Autrement dit, il suffit pour obtenir l'adresse du sous-réseau de conserver les bits de l'adresse IPv4 là où les bits du masque sont à 1 (un certain nombre de bits en partant de la gauche de l'adresse). La partie numéro d'hôte est, elle, contenue dans les bits qui restent (les plus à droite). Une forme plus courte est connue sous le nom de « notation CIDR » (Classless Inter-Domain Routing). Elle donne le numéro du réseau suivi par une barre oblique (ou slash, « / ») et le nombre de bits à 1 dans la notation binaire du masque de sous-réseau. Le masque 255.255.224.0, équivalent en binaire à 11111111.11111111.11100000.00000000, sera donc représenté par /19 (19 bits à la valeur 1, suivis de 13 bits 0). Dans ce cas (comme nous l’a exposé M. Gilles à l’école) Réseau…….|PC 192.168. 1.2 255.255.255.0 Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 34 sur 44 CFWB – Compétences 6ème Rappelons que toutes les 36 heures l’adresse IP change afin d’éviter que des personnes privées constituent un hébergeur chez eux. En effet une IP fixe est payante Pour se connecter à Google, le PC fait la demande à la BBOX qui demande à Google. Dans le paquet envoyé à l’extérieur il y a une info qui nous détermine, dès lors au retour ce sera bien moi qui recevrai l’information. Câble Pour info, niveau câblage, il y a un blindage extérieur en caoutchouc + un deuxième blindage en aluminium. Un câble est constitué de quatre fois deux paires avec blindage paire par paire (lesquelles sont torsadées). Ces blindages évitent les bruits sur réseau consécutifs aux nombres de câbles se trouvant dans un chemin de câbles. En effet il n’est pas rare que des fils électriques côtoient les câbles informatiques, même si cela n’est pas recommandé et où des spécifications de poses précisent des les séparer. Toujours est-il que des flux électromagnétiques peuvent perturber les communications. Les câbles sont d’ailleurs classés par catégories (imprimé sur le blindage) Il est important de spécifier que les câbles en fibres optiques ne sont pas sujets à ces problèmes car c’est de la lumière que les traverse. 9.7.2. Evocation du fonctionnement général, de protocole et d’outils Internet, dont HTTP, SMPT, POP3, DNS et PING Réalisation d’un plan d’adressage HTTP HTTP est un protocole de la couche application. Il peut fonctionner sur n'importe quelle connexion fiable, dans les faits on utilise le protocole TCP comme couche de transport. Un serveur HTTP utilise alors par défaut le port 80 (443 pour HTTPS). Les clients HTTP les plus connus sont les navigateurs Web permettant à un utilisateur d'accéder à un serveur contenant les données SMPT Simple Mail Transfer Protocol (SMTP, littéralement « protocole simple de transfert de courrier ») est un protocole de communication utilisé pour transférer le courrier électronique (courriel) vers les serveurs de messagerie électronique. SMTP est un protocole assez simple (comme son nom l'indique). On commence par spécifier l'expéditeur du message, puis le ou les destinataires d'un message, puis, en général après avoir vérifié leur existence, le corps du message est transféré POP3 En informatique, le POP (Post Office Protocol, littéralement le protocole du bureau de poste), est un protocole qui permet de récupérer les courriers électroniques situés sur un serveur de messagerie électronique. En règle générale (configuration par défaut) POP se connecte sur le serveur, récupère le courrier, efface le courrier sur le serveur et se déconnecte. DNS Le Domain Name System (ou DNS, système de noms de domaine) est un service permettant de traduire un nom de domaine en informations de plusieurs types qui y sont associées, notamment en adresses IP de la machine portant ce nom. PING CMD > PING 192.168.1.2 Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 35 sur 44 CFWB – Compétences 6ème Pour configurer Outlook – le fournisseur d’accès fournit des valeurs POP3 pour le courrier entrant et SMTP pour le courrier sortant Pour obtenir ces infos : Outils > Options > Messagerie > Compte de la messagerie : 9.8. Réaliser un ensemble de règles de filtrage afin de garantir une sécurité basique des communications avec un réseau non sécurisé 9.8.1. Fonctionnement générale d’un pare-feu Ecriture d’une règle de filtrage simple Panneau de configuration > Pare-feu Windows > Paramètres Il est aussi conseillé d’avoir un logiciel anti-virus supplémentaire Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 36 sur 44 CFWB – Compétences 6ème 10. Réalisation d’une programmation orientée objet 10.0. Introduction En C++ nous avons déclaré des variables entières et caractères. Soit le type de structure : #include "stdafx.h" #include <iostream> #include <iomanip> #include <string> using namespace std; struct signa { string reference; // Champ string nom; string prenom; }; void main() { struct signa liste[10]; int i=0,j=0; do { i++; cout << "Reference: "; cin >> liste[i].reference; if (liste[i].reference != "0" ){ cout << "Nom: "; cin >> liste[i].nom; cout << "Prenom: "; cin >> liste[i].prenom;} } while (liste[i].reference != "0" ); cout << "\nListe des noms" << endl; for (j=1;j<i;j++) { cout << liste[j].reference; cout <<" " << liste[j].nom; cout << " " << liste[j].prenom << endl; } system("Pause"); } Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 37 sur 44 CFWB – Compétences 6ème Nous pouvons remplacer STRUCT par CLASS nous en verrons l’intérêt plus avant dans le chapitre Remarque importante : cette page montre seulement une approche introductive à la matière #include "stdafx.h" #include <iostream> #include <iomanip> #include <string> using namespace std; class signa { public: string reference; // Champ string nom; string prenom; }; Approche introductive void main() { struct signa liste[10]; int i=0,j=0; do { i++; cout << "Reference: "; cin >> liste[i].reference; if (liste[i].reference != "0" ){ cout << "Nom: "; cin >> liste[i].nom; cout << "Prenom: "; cin >> liste[i].prenom;} } while (liste[i].reference != "0" ); cout << "\nListe des noms" << endl; for (j=1;j<i;j++) { cout << liste[j].reference; cout <<" " << liste[j].nom; cout << " " << liste[j].prenom << endl; } system("Pause"); } 10.1. Représenter dans un langage conceptuel des objets concrets avec leurs propriétés et leurs méthodes Conceptualisation d’objets concrets à travers des classes et objets Partons de la définition d’une classe, puis nous aborderons les différentes notions une à une Notion de classe En programmation orientée objet, une classe déclare des propriétés communes reprises par un ensemble d'objets. La classe déclare des attributs représentant l'état des objets et des méthodes représentant leur comportement. Une classe représente donc une catégorie d'objets. Elle apparaît aussi comme un moule ou une usine à partir de laquelle il est possible de créer des objets. (c'est en quelque sorte une « boîte à outils » qui permet de fabriquer un objet). On parle alors d'un objet en tant qu'instance d'une classe (création d'un objet ayant les propriétés de la classe). Il est possible de restreindre l'ensemble d'objets représenté par une classe A grâce à un mécanisme d'héritage. Dans ce cas, on crée une nouvelle classe B liée à la classe A et qui ajoute de nouvelles propriétés. Dans ce cas, différents termes sont utilisés dont (B est une sous-classe de A) Programmation orientée objets La programmation orientée objet (POO), se défini par l'interaction de briques logicielles Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 38 sur 44 CFWB – Compétences 6ème appelées objets. Un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement Il sait interagir avec ses pairs. Il s'agit donc de représenter ces objets et leurs relations (l'interaction entre les objets via leurs relations permet de mieux résoudre le ou les problèmes) Il est possible de concevoir par objet une application informatique sans pour autant utiliser des outils dédiés. Il n'en demeure pas moins que ces derniers facilitent de beaucoup la conception, la maintenance, et la productivité. On en distingue plusieurs sortes : les langages de programmation (Java, C#, VB.NET, Vala, Objective C, Eiffel, Python, Ruby, C++ Ada, PHP, Smalltalk, LOGO, AS3…) Pour mémoire, à ce stade du cours, mais il est intéressant d’en connaître l’existence : les outils de modélisation qui permettent de concevoir sous forme de schémas semi-formels la structure d'un programme (Objecteering, UMLDraw, Rhapsody, DBDesigner…) ; les bus distribués (DCOM, CORBA, RMI, Pyro…) ; les ateliers de génie logiciel ou AGL (Visual Studio pour des langages Dotnet, NetBeans pour le langage Java). Il existe actuellement deux catégories de langages à objets : Les langages à classes et ceux à prototypes, que ceux-ci soient sous forme fonctionnelle (CLOS), impérative (C++, Java) ou les deux (Python, OCaml). Nous savons donc que les objets interagissent entre eux : 11 11 http://rmdiscala.developpez.com/cours/LesChapitres.html/Cours5/Chap5.1.htm#1.1 Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 39 sur 44 CFWB – Compétences 6ème Le passage de la structure en classe nous permet d’introduire l’importante notion d’accessibilité aux différents champs #include "stdafx.h" #include <iostream> #include <iomanip> #include <string> using namespace std; void Encodage(void); void Affichage(void); class SIGNA { public: void Encoder(); METHODE void Afficher() const; CONST = fonction qui ne modifie pas de valeur string Nom; string Prenom; private: double epargne; VARIABLE seulement accessible par une méthode }; Protected est entre les deux SIGNA a; int main() et accessible à partir d’une classe fille { int opt=0; do { system ("cls"); cout << "Classe SIGNA" << endl; cout << "1. Encodage" << endl; cout << "2. Affichage" << endl; cout << "9. Fin de programme" << endl; cin >> opt; switch(opt) { case 1: Encodage(); break; case 2: Affichage(); } } while (opt != 9); return 0; } void Encodage() { system ("cls"); cout << "\nEncodage signaletique" << endl; cout << "\nNom: "; cin >> a.Nom; cout << "Prenom: "; cin >> a.Prenom; a.Encoder(); } void SIGNA::Encoder() { cout << "Epargne: "; cin >> epargne; } void Affichage() { system ("cls"); cout << "\nAffichage signaletique" << endl; cout << "\nNom: " << a.Nom; cout << "\nPrenom: " << a.Prenom; a.Afficher(); } void SIGNA::Afficher() const { cout << "\nEpargne: " << epargne << endl; system("Pause"); } Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 40 sur 44 CFWB – Compétences 6ème Développement 12 Instance d’une classe Une classe permet de regrouper dans une même entité des données et des fonctions membres (appelées aussi méthodes) permettant de manipuler ces données. La classe est la notion de base de la programmation orientée objet. Il s'agit en fait d'une évolution de la notion de structure, qui apporte de nouvelles notions orientées objet absolument fondamentales. Un objet est un élément d'une certaine classe : on parle de l'instance d'une classe. Encapsulation et méthode L'encapsulation est un mécanisme qui interdit d'accéder à certaines données depuis l'extérieur de la classe. Ainsi, un utilisateur de la classe ne pourra pas accéder à tous les éléments de cellesci. Il sera obligé d'utiliser certaines fonctions membres de la classe (celles qui sont publiques). L'avantage de cette restriction est qu'il empêche par exemple un utilisateur de la classe de mettre les données dans un état incohérent. Vue de l'extérieur, la classe apparaît comme une boîte noire, qui a un certain comportement à laquelle on ne peut accéder que par les méthodes publiques. Cette notion est extrêmement puissante et permet d'éviter de nombreux effets de bord. Disons aussi qu’un fichier attaché à un courriel est encapsulé à celui-ci Portée des noms de variables En informatique, la portée d'un identifiant est l'étendue au sein de laquelle cet identifiant est lié. Nous avons en effet les variables globales dont la portée vaut pour l’ensemble du code et les variables locales dont la portée et donc gardant leurs valeurs dans le bloc où elles sont déclarées. Nous pourrions aussi avoir une même variable utilisée dans des instances différentes et donc pour récupérer la valeur, il est nécessaire de faire appel à la bonne instance (pas conseillé car on risque de ne plus s’y retrouver, mais il faut savoir que cela existe) Constructeur C’est une fonction particulière qui permet d'instancier, c’est-à-dire de créer un objet en mémoire vive. Le constructeur permet d'allouer la mémoire nécessaire à l'objet et d'initialiser ses attributs. En C++, le constructeur est une fonction membre publique de la classe portant le ; même nom que celle-ci. Il est appelé lors de la déclaration de l'objet ou lors de l'utilisation du mot-clé new. Si aucun constructeur n’est spécifié, le compilateur en crée un. Dans notre cas ce serait : SIGNA() ; Destructeur Le destructeur d'une classe est une méthode spéciale lancée lors de la destruction d'un objet afin de récupérer les ressources (principalement la mémoire vive) réservée dynamiquement lors de l'instanciation de l'objet. Alors qu'il peut exister plusieurs constructeurs, il ne peut exister qu'un seul destructeur. Dans notre cas ce serait : ˶SIGNA() ; (tilde code ASCII ALT 126) Héritage Classe SIGNA2 hérite de la classe SIGNA class SIGNA { public: void Encoder(); void Afficher() const; string Nom; string Prenom; private: double epargne; }; class SIGNA2: public SIGNA {public: double courant; }; SIGNA a; SIGNA2 b; 12 Héritage Une caractéristique clé de classes C + + est l'héritage. L'héritage permet de créer des classes, qui sont dérivées d'autres classes, de sorte qu'elles incluent automatiquement certains membres de ses classes "parents", ainsi que ses propres membres Polymorphisme C’est une fonctionnalité de l’héritage qui permet à un même code d'être utilisé avec différents types, ce qui permet des implémentations plus abstraites et générales. http://fr.wikibooks.org/wiki/Programmation_C%2B%2B/Les_classes Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 41 sur 44 CFWB – Compétences 6ème 10.2. Transférer un concept complexe de la programmation structurées vers la programmation orientée objets 10.2.1. Spécialisation objets grâce à l’héritage Utilisation du polymorphisme. Polymorphisme vient du grec : Poly = plusieurs Morphos = forme Nous allons donc nous attarder à quelque chose qui va prendre plusieurs formes, ou plutôt d’une même fonction qui ne réagira pas de la même façon selon les types passés en arguments #include "stdafx.h" #include <iostream> #include <iomanip> #include <string> using namespace std; class CALC1 { public: int x , y ; virtual void calcul(int x, int y) const; private: int r1; }; class CALC2: public CALC1 { void calcul(int x, int y)const; private: double r2; }; void CALC1::calcul(int x,int y) const { int r = x/y; cout << "Resultat1: " << r << endl; } void CALC2::calcul(int x, int y) const { double r = (double)x/y; cout << "Resultat2: " << r << endl; } Une fonction virtuelle est définie dans une classe (méthode). Elle est destinée à être redéfinie dans les classes qui en héritent void expression (CALC1 const& v) { v.calcul(10,3); // utiliser méthode virtual et référence } CALC1 a; CALC2 b; void main() { expression(a); expression(b); system ("Pause"); } Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 42 sur 44 CFWB – Compétences 6ème 10. Réalisation d’une programmation orientée objet Notions de classe, d’instance, d’objets, d’encapsulation, de portée, des noms, de méthodes, de surcharge, d’héritage, de passage de messages, de constructeur et de destructeur 10.1. Représenter dans un langage conceptuel des objets concrets avec leurs propriétés et leurs méthodes Conceptualisation d’objets concrets à travers des classes et objets Nous obtenons une fenêtre appelée « Form1 » par défaut. Clic droit dans Form1 > Propriétés > Text (+autres options) Nous travaillerons donc avec les propriétés de chaque élément (appelé objet) car tout s’appelle « objet » en programmation orientée objets (poo). L’interface de programmation nous facilite grandement la tâche, en effet il suffit de dessiner un bouton pour obtenir automatiquement le code programme qui le défini. A nous d’y ajouter notre propre code pour lui faire faire ce que nous voulons. L’interface C++ nous crée Form1.h [design] où nous dessinons l’aspect de notre fenêtre, il y aura aussi Form1.h qui contiendra notre code Nous les distinguons par les deux onglets de même noms qui se créent eux aussi automatiquement. Pour créer les objets nous avons la boîte à outils suivante : Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 43 sur 44 CFWB – Compétences 6ème Dans la fenêtre ainsi créée nous ajoutons une textBox et un bouton. Cette textBox se rapproche d’un champ formulaire qui va permettre d’encoder ou d’afficher les valeurs que nous attribuerons aux champs de la structure définie dans notre application. Pour accéder à une propriété : indiquer le nom de l’objet, suivi de -> et de Text (propriété d’attribution de valeur). Exemple : textBox1->Text = Popol ; Nous l’encoderons par un double-click sur le bouton private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { textBox1->Text = "Popol"; textBox1->ReadOnly = true; } Remarque : Si par erreur vous fermez un des fichiers … pas de panique, aussi bizarre que cela puisse paraître, fermez le deuxième, puis Fichier > Ouvrir > dossier > Form1.h normalement le Form1.h [design] s’affiche double click sur un bouton et vous retrouvez aussi le second !? Note : La principale source d’information du fascicule est le site Internet Wikipedia Marc Liégeois Page 44 sur 44