Ensemble Scolaire Saint Jean Baptiste De La Salle
BTS IRIS
9, rue Notre Dame des Sept Douleurs
BP 165 - 84000 Avignon CEDEX 1
FRANCE
Téléphone : (+33) 4 90 14 56 56 (standard) poste 150.
tvaira(at)free.fr
Mise à jour : 14/09/2010
Au cours de ces travaux pratiques, vous allez intervenir sur un projet existant à différentes étapes de son cycle de vie. Vous allez donc participer et découvrir un certain nombres d'activités liées au développement d'un projet logiciel en tant que technicien IRIS.
Pour en savoir plus :
Le projet consiste à développer la partie embarquée d'un panneau d'affichage lumineux. Un panneau lumineux est constitué de différentes parties qui sont : l'alimentation, l'interface électronique de commande et un système embarqué.
Pour en savoir plus : lire l'annexe sur le panneau lumineux Systel
Les panneaux lumineux répondent à de nombreux besoins. Par exemple, les panneaux d'information sur la circulation vous renseignent sur les conditions de circulation. Certaines villes (par exemple, Nantes Métropole) ont installé, sur leur agglomération, des Panneaux à Messages Variables Intelligent (PMVI), actualisables en temps réel, pour guider les automobilistes sur ces nouveaux itinéraires de substitution, en cas de perturbation du trafic et les informer sur les temps de parcours.
Ce système repose sur :
Le projet a déjà subi trois évolutions (versions) successives qui se sont décomposées de la manière suivante :
Il existe de nombreux tests dans le développement logiciel. En BTS IRIS, on traite des tests suivants :
On vous propose de mettre en oeuvre l'environnement de développement suivant :
Cette activité de mise en oeuvre se décomposera en plusieurs parties :
Le matériel à votre disposition pour cette activité est le suivant :
En BTS IRIS, on utilise de nombreux logiciels. La liste des logiciels à mettre en oeuvre dans ce TP est la suivante :
Nom | Description | Rôle |
---|---|---|
PuTTY | PuTTY est un émulateur de terminal doublé d'un client pour les protocoles SSH, Telnet, rlogin, et TCP brut. Il permet également d'établir des connexions directes par liaison série RS-232. A l'origine disponible uniquement pour Windows, il est à présent porté sur diverses plate-formes Unix (et non-officiellement sur d'autres plate-formes). C'est un logiciel libre distribué selon les termes de la licence MIT. Lien : http://www.chiark.greenend.org.uk/~sgtatham/putty/ |
permet d'ouvrir, à partir d'un PC, une session Telnet sur la carte TINI et donc d'interagir avec celle-ci. |
FileZilla | FileZilla est un client FTP, FTPS et SFTP, multiplate-forme depuis la version 3. C'est un logiciel libre développé sous la licence publique générale GPL/GNU. Lien : http://filezilla-project.org/ |
permet de transférer des fichiers du poste de développement (PC_DEV) vers la carte TINI. |
Notepad++ | Notepad++ est un éditeur de texte générique écrit en C++, qui intègre de nombreuses fonctionnalités dont la coloration syntaxique de code source pour beaucoup de langages (C, C++, Java, etc ..). Il est également une alternative au bloc-notes de Windows (d'où le nom). Le projet est sous licence GPL. Lien : http://notepad-plus.sourceforge.net/fr/site.htm |
permet d'éditer les fichiers sources de l'application sur le poste de développement (PC_DEV). |
Windows © | Windows est une gamme de systèmes d'exploitation produite par Microsoft ©, principalement destinés aux ordinateurs compatibles PC. C'est le successeur de MS-DOS. Windows est distribuée sous la licence Microsoft EULA (End User License Agreement). La plupart des ordinateurs vendus ont un système Windows préinstallé par le constructeur sous licence OEM (Original Equipment Manufacturer). Contrairement aux autres logiciels utilisés ici, Windows fait partie des logiciels propriétaires. Lien : http://www.microsoft.com/france/windows/ |
permet d'exploiter le poste de développement (PC_DEV). |
cmd.exe | cmd.exe est l'interpréteur de commande en mode texte de Windows. Il est l'équivalent du shell sous Unix. Il peut interpréter des fichiers batch qui sont des fichiers textes contenant une série de commandes. Un fichier batch est l'équivalent d'un script shell sous Unix. Les fichiers batch de Windows sont des fichiers dotés de l'extension .BAT (ou .CMD). Sous Windows, l'appellation "shell" regroupe deux concepts : Comme pour Unix, l'interpréteur en ligne de commande (command.com pour les versions de Windows basées sur MS-DOS, et cmd.exe pour celles qui reposent sur Windows NT) L'interface graphique, en général l'Explorer. Remarque : avec Windows Vista est apparu un nouvel interpréteur de commande, le Windows PowerShell (utilisable aussi sous Windows XP), orienté objet. Lien : http://windows.developpez.com/cours/ligne-commande/ |
permet d'exécuter des commandes (ping, ipconfig, ...) et d'automatiser la procédure de fabrication de l'application (maketini.bat). |
Java | Java est une technologie développée par Sun Microsystems. Elle correspond à plusieurs produits et spécifications de logiciels qui, ensemble, constituent un système pour développer et déployer des applications. Java est utilisée dans une grande variété de plates-formes depuis les systèmes embarqués et les téléphones mobiles jusqu'aux serveurs, les applications d'entreprise, les superordinateurs et dans une moindre mesure pour les interfaces graphiques comme les applets Java du Web. Java est sous licence GNU GPL depuis novembre 2006. Depuis des années, Sun Microsystems appelle Java la « technologie Java » dans son ensemble. En pratique, beaucoup de programmeurs utilisent le mot « Java » pour désigner le langage de programmation, tandis que la plate-forme d'exécution est appelée « JRE » Java Runtime Environment, environnement d'exécution Java) et le système de compilation : « JDK » (Java Development Kit) plutôt que « compilateur Java ». Lien : http://java.sun.com/ |
Dans ce système, la technologie JAVA est utilisée de la manière suivante :
|
Vous devez réaliser dans l'ordre les actions suivantes :
On va utiliser l'interpréteur de commandes de Windows, pour cela il faut faire :
Menu Démarrer → Exécuter → cmd
Puis pour obtenir la configuration réseau du poste, taper la commande :
Fiche réseau du poste de développement | |
---|---|
Carte réseau | |
Adresse physique | |
Adresse réseau | |
Masque de sous-réseau | |
Passerelle par défaut | |
DHCP | actif / inactif |
Serveur DHCP | |
Serveur DNS |
Equipement | Adresse IP | Label |
---|---|---|
PC de développement (sous Windows) |
adresse_ip_pc |
|
carte TINI Remarque : l'adresse IP de la carte TINI vous est forunie lors de la manipulation |
adresse_ip_tini |
En utilisant l'interpréteur de commandes de Windows, taper la commande :
Pour réaliser un test de base d'une liaison réseau, on utilise souvent la commande ping qui permettra, en cas de succès, de valider la pile de protocoles jusqu'au niveau IP.
En utilisant l'interpréteur de commandes de Windows, taper la commande :
A la suite de ce test, on obtient généralement une des deux situations suivantes :
La carte embarquée TINI ne disposant pas de terminal opérateur (clavier/écran), on va donc utiliser celui du poste de développement par l'intermédiaire d'un logiciel d'émulation de terminal via le réseau. Le protocole permettant l'émulation de terminal en réseau se nomme telnet. Le logiciel Putty va nous permettre d'ouvrir une session (accès à un terminal de connexion via le réseau sur la carte TINI).
L'ouverture d'une session sur la carte TINI nécessite une authentification (un compte identifié par un login et un mot de passe). Vous utiliserez l'identifiant suivant :
login : root
password : tini
Les paramètres de connexion sont les suivants :
Host Name (or IP address) → indiquer l'adresse IP de la carte TINI (destination à joindre) Port → 23 (le numéro de port du service Telnet) Connection type : Telnet
Ces paramètres peuvent être sauvegardés dans un profil de session avec le bouton Save et ré-utiliser plus tard avec le bouton Load.
Pour ouvrir une session, il faut ensuite cliquer sur le bouton Open !
Une fois connecté, il est possible d'exécuter des commandes sur la carte TINI. Ceci est possible car celle-ci dispose d'un système d'exploitation (TiniOs) et d'un interpréteur de commandes (nommé SLUSH).
Taper la commande :
Pour mettre fin à une session telnet, il suffit de taper la commande :
Remarque : à la fin de cette séquence, vous êtes en mesure de compléter une partie de la fiche de tests de la partie E.
Remarque : les logiciels sont disponibles sur le serveur de la section, sur le CD ressources et par téléchargement sur Internet.
Le répertoire (dossier) racine se nomme : panneauLumineuxSystel
et il sera créé dans C:\
.
Remarque : on peut créer un répertoire (dossier) de deux manières sous Windows
Pour cela, il vous faut copier les APIs tini1.02f et Taylec et les sources dans le répertoire racine C:\panneauLumineuxSystel
.
panneau_v1
On utilise le fichier maketini.bat
qui permet d'automatiser le cycle de fabrication d'un programme pour la carte TINI.
Maintenant, votre espace de travail pour la version 1 (dossier C:\panneauLumineuxSystel\workspace\panneau_v1\
) doit être dans l'état suivant :
Remarque : à la fin de cette séquence, vous êtes en mesure de compléter une partie de la fiche de tests de la partie E.
La carte TINI dispose d'un serveur FTP natif. On va donc utiliser un client FTP (comme FileZilla) pour transférer le programme panneau_v1.tini
vers la carte TINI.
FTP (File Transfer Protocol, protocole de transfert de fichiers) est un protocole de communication dédié à l'échange de fichiers informatique sur un réseau TCP/IP.
Il faut exécuter le logiciel FileZilla, ouvrir une connexion FTP et transférer le programme panneau_v1.tini
vers la carte TINI.
L'ouverture d'une session FTP sur la carte TINI nécessite une authentification (un compte identifié par un login et un mot de passe). Vous utiliserez l'identifiant suivant :
login : root
password : tini
Pour se connceter au serveur FTP de la carte TINI, vous pouvez utiliser le bouton Connexion rapide comme indiquer dans la capture d'écran fournie.
Une fois connecté, le transfert d'un fichier se fait par un simple glisser/déposer avec la souris.
Il faut ouvrir une session Telnet sur la carte TINI avec Putty et lancer l'exécution du programme panneau_v1.tini avec la commande java (machine virtuelle).
Taper la commande :
Remarque : à la fin de cette séquence, vous êtes en mesure de compléter une partie de la fiche de tests de la partie E.
Ces tests ont permis de valider la mise en oeuvre du matériel, des logiciels et des ressources de développement constituant le système.
A la fin de cette activité, vous pouvez finaliser la fiche suivante :
Tests de mise en oeuvre | OUI/NON |
---|---|
La liaison réseau IP PC-TINI est-elle fonctionnelle ? | |
La communication réseau PC-TINI par telnet est-elle fonctionnelle ? | |
La fabrication d'un exécutable TINI est-elle fonctionnelle ? | |
Le transfert de fichiers PC-TINI par ftp est-elle fonctionnelle ? | |
L'exécution d'une application TINI est-elle fonctionnelle ? | |
Le panneau lumineux Systel affiche des caractères ? | |
Remarques : fait le ___ / ___ / _____ par ___________________________ |
Dans cette activité, vous allez rédiger un rapport de test de validation. La mise en oeuvre complète du système a du être réalisée précédemment.
Un technicien IRIS doit être capable de réaliser des tests de validation et d'apporter des remarques techniques précises lorsque ceux-ci échouent.
TGestionPanneau
(avec Notepad++)Tests de validation | Application : panneau_v1.tini | ||
---|---|---|---|
Testeur : ___________________________ | Date : ___ / ___ / _____ | ||
Description | Résultat attendu | Résultat obtenu | Validation |
Effacement du panneau au démarrage | panneau vierge | ||
Affichage d'une suite de caractères | Affichage de 'AAAA' | ||
... | |||
Remarques : (version 1a) |
Tests de validation | Application : panneau_v1.tini | ||
---|---|---|---|
Testeur : ___________________________ | Date : ___ / ___ / _____ | ||
Description | Résultat attendu | Résultat obtenu | Validation |
Effacement du panneau au démarrage | panneau vierge | ||
Affichage d'une suite de caractères | Affichage de 'BTS' | ||
... | |||
Remarques : (version 1b) |
"TCP/IP" désigne une architecture réseau, mais aussi deux protocoles réseaux : un protocole de transport, TCP (Transmission Control Protocol) qu'on utilise "par-dessus" un protocole réseau, IP (Internet Protocol). C'est donc une architecture réseau en couches dans laquelle les protocoles TCP et IP jouent un rôle prédominant. Le modèle TCP/IP peut en effet être décrit comme une architecture réseau à 4 couches : application, transport, réseau et interface.
Il existe aussi le modèle OSI (Open Systems Interconnection, « Interconnexion de systèmes ouverts ») qui est un modèle de communication réseau proposé par l'ISO (Organisation internationale de normalisation). Le modèle OSI comporte 7 couches qui décrivent les fonctionnalités et l'organisation nécessaires à la communication :
1 . La couche « physique » est chargée de la transmission effective des signaux (émission/réception de bits)
2 . La couche « liaison de données » gère les communications par l'échange de trames entre 2 cartes de communication, directement reliées entre elles par un support physique.
3 . La couche « réseau » gère les communications de proche en proche, généralement entre machines : routage et adressage des paquets.
4 . La couche « transport » gère les communications de bout en bout entre processus (programmes en cours d'exécution).
5 . La couche « session » gère la synchronisation des échanges et permet l'ouverture et la fermeture de session.
6 . La couche « présentation » est chargée du codage des données applicatives.
7 . La couche « application » est le point d'accès aux services réseaux.
Les 4 couches inférieures (couches basses) sont plutôt orientées communication et sont typiquement fournies par un système d'exploitation. Dans le monde IP, les deux couches les plus basses sont rarement distinguées et forment une seule couche représentant l'interface de communication.
Les 3 couches supérieures (couches hautes) sont plutôt orientées application et plutôt réalisées par des bibliothèques ou un programme spécifique. Dans le monde IP, ces 3 couches sont rarement distinguées et sont considérées comme partie intégrante du protocole applicatif..
Quelques protocoles :
7 . Couche application (Telnet - SSH - FTP - NNTP - DNS - SMTP - POP3 - IMAP - IRC - VoIP - HTTP)
6 . Couche de présentation (Videotex - Unicode - XDR)
5 . Couche de session (RTSP - H.323 - SIP - AppleTalk)
4 . Couche de transport (TCP - UDP - SPX)
3 . Couche de réseau (NetBEUI - ARP - IPv4 - IPv6 - IPX - ICMP - BGP - OSPF - RIP - IGMP - IS-IS - ATM)
2 . Couche de liaison de données (Ethernet - Anneau à jeton - LocalTalk - FDDI - Frame Relay - CAN - Wi-Fi - PPP - PPPoE - HDLC)
1 . Couche physique (CSMA/CD - CSMA/CA - Codage NRZ - Codage Manchester - RS-232 - Câble coaxial - 10BASE2 - 10BASE5 - Paire torsadée - 10BASE-T - 100BASE-T - RNIS - EIA-485 - ADSL - IrDA - USB - IEEE 1394 (FireWire) - Wireless USB, Bluetooth)
En savoir plus : lire l'annexe sur le réseau
Le système d'exploitation (en anglais Operating System ou OS) est un ensemble de programmes responsables (noyau ou kernel) de la liaison entre les ressources matérielles d'un ordinateur et les applications informatiques de l'utilisateur (espace utilisateur ou user).
Un système d'exploitation est typiquement composé : d'un noyau, de bibliothèques, d'un ensemble d'outils système et de programmes applicatifs de base.
Le noyau assure notamment les fonctionnalités suivantes :
» gestion des périphériques (au moyen de pilotes ou driver) ;
» gestion de l'exécution des programmes (nommés processus, c'est-à-dire un programme en exécution) ;
» gestion de la mémoire ;
» gestion des fichiers (au moyen de systèmes de fichiers, comme NTFS ou FAT pour Windows) ;
» gestion des protocoles réseau (TCP/IP, IPX, etc.).
L'interface utilisateur aussi nommée interface homme-machine (IHM) permet à un homme de se servir de l'ordinateur. Dans le cas d'un ordinateur classique, il sera traditionnellement équipé de clavier, souris et moniteur.
Cette interaction homme machine s'élabore tant par le biais d'interfaces graphiques qu'en ligne de commande par le « shell ».
La ligne de commande (en anglais CLI pour Command Line Interface) est encore utilisée en raison de sa puissance, de sa grande rapidité et du peu de ressources nécessaires à son fonctionnement. Le système d'exploitation permet cette possibilité par l'intermédiaire d'un interpréteur de commandes (le « shell »).
L'interface graphique (en anglais GUI pour Graphical User Interface) s'oppose à l'interface en ligne de commande. Les parties les plus typiques de ce type d'environnement sont le pointeur de souris, les fenêtres, le bureau, les icônes, les boutons, les menus, les barres de défilement, ... Les systèmes d'exploitation grand public (Windows, MacOS, les distributions grand public de GNU/Linux, etc.) sont pourvus d'une interface graphique qui, dans un soucis d'ergonomie, se veut conviviale, simple d'utilisation et accessible au plus grand nombre pour l'usage d'un ordinateur personnel.