Les systèmes multiplateformes

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

Intégration de logiciels Open-Source dans un ordinateur simplifié basé sur Linux Stage du 6 avril au 30 juin 2006.
Introduction: Concepts de la programmation
La machine virtuelle virtuelle utopie et/ou réalité ?
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
Types des systèmes d’exploitation
Chapitre I : Systèmes d’exploitation
Chapitre I : Culture Informatique Vous avez dit Informatique !!!
Le monde du logiciel libre
PLAN du COURS Introduction Structure des Systèmes Informatiques
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
Objectifs Identifier l’interface entre le logiciel de plus bas niveau et le matériel Comprendre la problématique de l’architecture du jeu d’instruction.
3D MEsh Processing Platform
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
Architecture de machines Principes généraux
Systèmes d’exploitation
Simulateurs de réseaux Ns-3 et Ns-2.
SECURITE DU SYSTEME D’INFORMATION (SSI)
Les Systèmes d’Exploitation
par Bernard Maudhuit Anne-Marie Droit
Applications Chapitre B17 et C18
Programmation Approche composants Ing5 SI
LES VIRUS INFORMATIQUES.
Programme et Langage C++
Logiciels.
Distribution Linux pour clients légers Rolland DUDEMAINE ST50 - GI – RSR Printemps 2002.
Analyse des besoins en informatique du SRI
Dégradation élégante dinterfaces- utilisateur. Description du problème Construction dinterfaces-utilisateur pour: des systèmes dinformation multiplate-formes.
Présentation et utilisation du logiciel R Komi Sodoké Université du Québec à Montréal Février 2007.
Amorçage des compilateurs Un compilateur est un programme écrit dans un langage Peut-il être écrit dans le langage cible ? dans le langage source ? comment.
IFT 6800 Atelier en Technologies d’information
Java vs. C++ Pierre-Yves ALIZON – Ingénieurs 2000.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Analyse des Algorithmes
Les différents langages de programmation
‘‘Open Data base Connectivity‘‘
Programmer en langage c
SYSTEMES D’EXPLOITATION
Introduction à la programmation en Java
8INF856 Programmation sur architectures parallèles
Le web service
Chapitre 1 : Présentation Page 1. Chapitre 1 : Présentation Page 2  1979 : Première version d’Unix commercialisée  Unix Système V  Puis Unix BSD par.
La programmation système
CAZIER Kévin JACOB Sébastien Réalisée dans le cadre du Projet Pluridisciplinaire Encadré par Mme Martine COQUET Responsable de l’entreprise.
L’Audio sur PC Comparaison Numérique vs Analogique Comparaison Audio sur PC vs Hardware dédié (DSP) Rmq: beaucoup de simulitudes avec la vidéo, mais débit.
1 IFT 099 Introduction à la programmation. 2 Plan du cours (sem. 1) 1.Introduction - les ordinateurs 2.La programmation procédurale 3.La programmation.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Les systèmes d’exploitation
Le multimédia embarqué :
Architecture matérielle Qu’est ce qu’un ordinateur ?
3D MEsh Processing Platform
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Déploiement OS via Clonezilla
Le Club informatique 18 octobre 2007 Fonctionnement d’un ordinateur Achat d’un ordinateur.
Rim chakroun Mejdoub khouloud Direction de la Mecque.
DECOUVERTE DE L’INFORMATIQUE
Présentation de Qt Iris 1
1 Matthieu GUIBERT Rodolphe DELLA NEGRA 1. Introduction, Concepts de base, Boucles. TP 2. Tableaux,structures,conditions, séquences, chaînes de caractères,
Introduction Rappels : Accès serveurs Unix Ensimag via ssh et sftp
1.1: notions de bases de l’informatique
Présentation Notre intention est créer un système qui compense en temps réel les délais et l’atténuation du son, correspondant à la distance entre la.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Unité N°1: Système Informatique
Les mémoires la préparation de: chaimaa hamdou.
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
Chapitre 12 Surveillance des ressources et des performances Module S41.
DUT 1ère année Génie Biologique Paul-Antoine Bisgambiglia Année
Introduction O.Legrand G. Seront. Open Handset Alliance Project Regroupement d'entreprises : –de télécommunications, –de constructeurs d’appareils mobiles,
Transcription de la présentation:

Les systèmes multiplateformes Université HBC faculté des sciences de l’ingénieur Département d’Informatique Les systèmes multiplateformes Présenté par: Younsi Nadia. Samet khayra.

Plan de travail Introduction Problématique Différentes solutions techniques Langages compilés avec des bibliothèques multiplateformes Les langages interprétés Les langages semi-interprétés

Introduction Un logiciel multiplate-forme ou multiplateforme est un logiciel conçu pour fonctionner sur plusieurs plates-formes, c’est-à-dire le couple liant ordinateur et système d’exploitation. En anglais on parle souvent de « cross-platform software » ou « platform independent software » ou encore de « multi-platform software ». De nombreux langages de programmation sont multiplateformes. En effet, il suffit de développer un compilateur destiné à générer un code exécutable compréhensible par chacun des processeurs qu’on désire utiliser. Par exemple, un logiciel fait avec la bibliothèque graphique GTK+ sous Linux ne fonctionnera pas tel quel sous Windows, même si l’Architecture est la même. Même si le langage est le C, le fonctionnement interne de la gestion de l’affichage est différent. On touche ici à la notion de portabilité d’un programme.

Problématique  Le problème se pose rapidement aux développeurs : choisir une plate-forme pour un programme revient à restreindre l’audience de celui-ci. Ce problème se complexifie d’autant plus que le secteur informatique tend à se diversifier, tant dans le système d’exploitation (Linux, Mac OS, etc.) que dans le matériel (GSM, PDA, etc.).

Différentes solutions techniques Pour permettre aux logiciels d’avoir le plus d’audience possible on peut recourir à trois techniques : les langages compilés avec des bibliothèques multiplateformes, les langages interprétés, les langages semi-interprétés.

Langages compilés avec des bibliothèques multiplateformes La vitesse d’exécution et l’intégration sont des facteurs importants dans beaucoup de développements. Il est alors nécessaire de passer par les langages compilés. Les différents systèmes gérant différemment de nombreuses choses, on doit passer par des bibliothèques multiplate-formes pour obtenir l’abstraction nécessaire à une programmation multiplate-forme. Un autre avantage des programmes compilés est que ceux-ci sont directement utilisables chez l’utilisateur final. En fournissant la bibliothèque avec le produit, il n’est pas nécessaire d’utiliser un interpréteur ou une machine virtuelle.

Langages compilés avec des bibliothèques multiplateformes Il y a tout de même un inconvénient à l’utilisation de programmes compilés multiplateformes : la distribution. Il faut en effet compiler une version du programme pour chaque système d’exploitation et pour chaque architecture, et ceci à chaque version du programme. Dans le cas des logiciels open source cela ne pose pas vraiment de problème car il suffit de fournir le moyen de compiler sur chaque système d’exploitation. Parmi les bibliothèques multiplateformes les plus populaires citons wxWidgets et QT. Ces deux bibliothèques fournissent un framework très complet qui permet de développer une application une fois pour de nombreux systèmes (Linux, Mac OS, Windows, Windows CE, Palm OS, etc.).

Les langages interprétés Les langages interprétés proposent une autre approche du problème. De tels langages sont interprétés à chaque fois que le programme est utilisé, du coup si l’interpréteur existe pour une plate-forme donnée, le programme fonctionnera sur cette plate-forme. Néanmoins, l’utilisation n’est aussi facile que dans le cas où tout ce qui est utilisé dans le programme fait partie de bibliothèques standards. Pour utiliser des fonctions avancées, il faut se rabattre sur des bibliothèques multiplateformes (par exemple encore wxWidgets et Qt). La distribution de logiciels en langage interprété est beaucoup plus facile mais il faut souvent fournir l’interpréteur adéquat. Un autre problème est que les sources du logiciel sont fournies, cela peut poser des problèmes dans le cas où le code contient un procédé qui doit rester secret.

Les langages semi-interprétés L’approche la plus récente pour créer des applications multiplateformes est l’utilisation de langages semi-interprétés. Ces langages sont compilés vers un code intermédiaire qui est interprété. Cette approche présente les même avantages que les code interprétés mais possède une plus grande vitesse d’exécution. Le principal exemple est le langage Java de Sun Microsystems. Ce langage est compilé en bytecode Java qui est ensuite interprété par une machine virtuelle .Le bytecode peut être exécuté sur chaque plate-forme où la machine virtuelle est implémentée. Malgré l’utilisation de codes semi-interprétés, Java a la réputation d’être lent. Le langage Java peut être compilé en code natif (par exemple avec GCJ) mais il perd alors sa portabilité. La distribution de Java pose le problème de la machine virtuelle, il faut distribuer celle-ci avec le logiciel, ce qui n’est pas toujours très facile.

Merci pour votre attention!