TEKAM KAMDEM ANDRE DEVOS PIERRE 2 IRT Groupe 2 Laboratoire de technique informatique Rapport n° 2 : Site Web, Animation Flash et projet USB Professeur : D. Pourbaix Remarque(s):__________________________________ _____________________________________________ _____________________________________________ ____________________________________________ Graduat en informatique industrielle Année 2007-2008 1 Table des matières Site Web....................................................................................................................................................................3 A. Cahier des charges............................................................................................................................................3 B. Structure............................................................................................................................................................3 C. Code..................................................................................................................................................................4 1. Style.css.........................................................................................................................................................4 2. Modele.html..................................................................................................................................................7 D. Logiciels utilisés...............................................................................................................................................8 E. Conclusion........................................................................................................................................................8 Flash..........................................................................................................................................................................9 A. Cahier des charges............................................................................................................................................9 B. Méthôde............................................................................................................................................................9 1. Interpolation de mouvement..........................................................................................................................9 2. Interpolation de forme.................................................................................................................................10 C. Conclusion......................................................................................................................................................11 D. Les clips..........................................................................................................................................................11 Projet USB...............................................................................................................................................................12 A. Présentation....................................................................................................................................................12 B. Materiel...........................................................................................................................................................12 C. Fonctionnement..............................................................................................................................................12 1. Fonctionnement général..............................................................................................................................12 2. Interface.......................................................................................................................................................13 D. Algorithme du compteur................................................................................................................................14 Explications :...................................................................................................................................................14 E. Code................................................................................................................................................................15 2 Site Web A. Cahier des charges Réaliser un site Web HTML avec CSS. Contenu : menu, Curriculum Vitae, animation flash, lien vers fichiers, images, javascript, explications sur de la programmation et présentation du projet USB. B. Structure http://home.tele2.be/elwood/ Ce site est structuré grâce à un fichier .CSS (Cascading Style Sheets: feuilles de style en cascade). Le fichier CSS établit une «structure de formatage» reflétant l'arbre logique du document. Les propriétés sont regroupées par blocs de règles, délimités par les accolades {}. Ainsi, dans ce fichier, on définit l'aspect général du site, du menu par le style de police, de couleur etc.. On peut aussi y incorporer une image récurrente, des arrièreplans etc... On doit appeler le fichier CSS sur chaque page en plaçant cette ligne dans entre les balises <head> et </head>. <link rel=stylesheet type="text/css" href="style.css"> Le code des pages html et css a été modifié avec Notepad++ qui rend le code plus lisible grâce à un jeu de couleur pour les balises. Les différentes images de fond ont été créées avec Macromedia Fireworks Mx et sauvegardées au format PNG qui permet une modification ultérieure plus facile. 3 C. Code 1. Style.css *{ margin: 0; padding: 0; } body { background: #DFDBD3 url(images/bg.gif) top left repeat-x; color: #4C4C4C; font-family: Verdana,Arial,Helvetica,sans-serif; } p{ font-size: .8em; line-height: 2em; } h3 { font-size: .7em; font-weight: bold; line-height: 1.3em; padding-top: 2.5em; } a:link, a:visited { background: #FFFFFF; color: #3333FF; text-decoration: none; } a:hover, a:active, a:focus { background: #3333FF; color: #FFF; } #container { background: transparent url(images/contbg.gif) top left repeat-y; width: 700px; } #intro, #text { padding: 0 69px 0 86px; width: 600px; } #intro { background: transparent url(images/logo.png) top left no-repeat; 4 padding-top: 230px; } #text h3, #text p { padding-left: 10px; padding-right: 40px; } #contenu { border-bottom: 1px solid #E4E1DB; padding-bottom: 20pt; } #contact .p1 { padding: 40px 40px 0 30px; } #contact .p2 { padding: 60px 40px 0 30px; } #contact .p2, #contact .p1 { background: transparent url(images/contact.png) top left no-repeat; font-size: .6em; font-weight: bold; left: 661px; display: block; line-height: 1.4em; position: absolute; top: 160px; width: 141px; z-index: 20; } #contact .p2 a:link, #contact .p2 a:visited { background: transparent; color: #E6E3DE; text-decoration: none; } #contact h3 { font-size: .9em; } #linkList { background: transparent url(images/navbg.gif) top left repeat-y; left: 661px; padding-top: 10em; position: absolute; top: 130px; width: 285px; z-index: 10; } 5 #linkList2 { background: transparent url(images/navbtmbg.gif) bottom left no-repeat; font: .7em/1.4em verdana, sans-serif; padding-bottom: 160px; } #linkList2 h3 { background: transparent top left no-repeat; display: block; height: 26px; padding: 0 0 10px 0; width: 285px; } #linkList2 .page { background-image: url(images/page.png); } #linkList2 .download { background-image: url(images/download.png); } #linkList2 ul { list-style-type: none; padding: 0 75px 25px 15px; } #linkList2 li { color: #E6E3DE; padding: 6px 10px; } #linkList2 a:link, #linkList2 a:visited { background: transparent; color: #4C4C4C; font-weight: bold; } #contact .p2 a:hover, #contact .p2 a:active, #contact .p2 a:focus, #linkList2 a:hover, #linkList2 a:active, #linkList2 a:focus, { background: #3333FF; color: #FFF; text-decoration: none; } #lselect li, #ldownload li { background: transparent url(images/navico.gif) 3pt 5pt no-repeat; border-bottom: 1px solid #CFCCC4; 6 padding: 7px 10px 7px 30px; } 2. Modele.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" > <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <meta name="author" content="Devos Pierre" /> <meta name="keywords" content="css, isims, devos, pierre" /> <meta name="description" content="Site Web réalisé dans le cadre du cours de LTIN 2007-2008" /> <title></title> <script type="text/javascript"></script> <style type="text/css" title="currentStyle" media="screen"> @import "style.css"; </style> </head> <body> <div id="container"> <div id="intro"> <div id="pageHeader"> <h1><span></span></h1> <h2><span></span></h2> </div> <div id="contact"> <h3><span>nom page</span></h3> <p class="p1"><span>Me contacter : </span></p> <p class="p2"><span><a href="mailto:[email protected]">[email protected]</a></span></p> </div> </div> <div id="text"> <div id="contenu"> <h3><span></span></h3> <p class="p1"><span></span></p> <p class="p2"><span></span></p> </div> 7 </div> <div id="linkList"> <div id="linkList2"> <div id="lselect"> <h3 class="page"></h3> <ul> <li><a href="index.html">Accueil</a></li> <li><a href="cv.html">Curriculum Vitae</a></li> <li><a href="prog.html">Programmation</a></li> <li><a href="projet.html">Projet USB Delphi</a></li> <li><a href="flash.html">Animation Flash</a></li> </ul> </div> <div id="ldownload"> <h3 class="download"></h3> <ul> <li><a href="style.css">Télécharger le blabla</a></li> </ul> </div> </div> </div> </div> </body> </html> D. Logiciels utilisés − Macromedia Fireworks MX (images) − Notepad+ (code) − Filezila (upload) − internet explorer, mozilla firefox (test) E. Conclusion Le plus dificile fut le positionnement des éléments avec le padding. Ce site est approuvé par W3C Markup Validation Service comme étant parfaitement valide XHTML 1.0 et CSS niveau 2.1. 8 Flash A. Cahier des charges Réaliser dans des animations Flash, des interpolations de mouvement et de forme. B. Méthôde 1. Interpolation de mouvement L'interpolation de mouvement est une méthode qui permet de déplacer une image sans devoir utiliser la méthode «images par images». 1 : Créez une image quelconque, et Copiez-la. Allez ensuite plus loin dans le temps comme l’image 10 par exemple. Appuyez sur F6 (touche raccourci) pour créer une nouvelle image clé. Votre barre d'animation change : 2 : Sur l'image 10, déplacez la forme vers un autre endroit de la page. 3 : Cliquez sur une des images entre la 1ère et la 9ème image, puis choisissez "créer une interpolation de mouvement" dans le menu qui vient de s'ouvrir. La barre d’animation change. Les images interpolées ont une flèche et sont de couleur violette. A noter que si l'interpolation est impossible, ou ratée, le trait qui constitue la flèche est discontinu. 9 2. Interpolation de forme Cette interpolation s'applique à peu près de la même manière que l'interpolation de mouvement. Celle-ci permet par exemple de changer un rond en carré durant une interpolation de mouvement, ou encore de changer la couleur de la forme dans un laps de temps. 1 : Créez une image quelconque. 2 : Cliquez sur l'image 10 et appuyez sur F7 (touche raccourci) pour créer une nouvelle image clé vide. Puis dessinez-y un carré au même endroit ou à un autre endroit que la forme de l’image 1. 3 : Cliquez sur une des images entre la 1 et la 9. Allez dans la fenêtre image et dans le sélecteur d'interpolation, choisissez «forme». Votre barre doit alors ressembler à cela : Vous remarquez que la représentation sur la barre de temps est la même que pour l'interpolation de mouvement à la couleur près. Ici, la couleur est verte. 10 C. Conclusion Il faut savoir que pour créer une interpolation de forme, il faut séparer la forme (ctrl+b), sans quoi on risque d’avoir des pointillés à la place d’une flèche continue et rendre l’interpolation impossible. Quand la forme ne doit pas varier au cours du temps, il faut « grouper » l'objet. D. Les clips L’utilisation de clips est très utile pour ne pas s’embrouiller lorsque l’on doit réaliser de longues animations consécutives. Pour ajouter un clip la touche de raccourci est CTRL+f8. On peut comme cela créer plusieurs clips commençant chacun à l’image 0 mais qui pourront s’enchaîner grâce à un peu d’action script. 11 Projet USB A. Présentation Il s'agit d'un projet consistant à étudier le fonctionnement des entrées et sorties du port USB à l'aide d'une plaquette Velleman K8055.Le programme a été réalisé avec Delphi. B. Materiel 1 moteur rotatif à courant continu 1 capteur de compteur pour vélo 1 aimant 1 Compact Disc 1 plaquette Velleman K8055 1 ordinateur avec port USB disponible C. Fonctionnement 1. Fonctionnement général Les entrées de la plaquette vont permettre de recueillir les données sur le compteur. Les sorties vont permettre d'alimenter le moteur. - Le moteur est connecté entre une des sorties analogiques (PWM1 ou PMW2) et une des sources de tension interne +5v (SK2 ou SK3). - Le compteur est connecté entre une des entrées numériques et la masse (I1 et GND) Une fois alimenté suffisamment, le moteur fait tourner le disque; à chaque tour de l'aimant fixé sur le disque, le compteur reçoit une impulsion que l'on peut recueillir sur une entrée digitale de la plaquette K8055. Ensuite, on peut calculer le nombre de tours-minutes. 12 2. Interface Avec cette interface, on peut rendre la carte active via un bouton «Connect» et quitter le programme par un bouton «Exit». On peut augmenter la tension fournie au moteur par un trackbar. Il faut fournir un certain nombre de Volt avant que le moteur ne se mette à tourner. L'action sur ce trackbar a pour effet d'afficher dans des labels la tension fournie ainsi que son équivalent en bit. L'affichage central montre la vitesse en tours par minutes. Un edit montre le nombre de tours effectué au total, cette affichage peut être remis à zéro par un bouton reset. Une label s'affiche dans le bas de l'interface pour avertir l'utilisateur quand la tension demandée devient trop importante et rend le montage instable malgrè les contrepoids. Enfin, un menu «à propos» affiche des informations dans une label, la tension est remise à zéro lors de l'affichage de celle-ci. 13 D. Algorithme du compteur Explications : − L'intervalle du timer est fixé à 10ms. − La variable time s'incrémente donc de 1 toutes les 10ms. − On va vérifier la valeur de l'entrée digitale et la placer dans une variable C1 (boolean). − A chaque changement d'état de l'entrée, variable pulse s'incrémente de 1. − Quand la variable time a atteint 500 la (donc 5 secondes). − On transfert la variable "pulse" dans une autre, "trm". − Ensuite, on multiplie cette valeur par 12 pour avoir une projection sur 1 minute. − On affiche la valeur de trm dans la label des tours/minute. 14 E. Code private { Déclarations privées } k: longint; c0,c1: boolean; pulse,time,trm: integer; public { Déclarations publiques } end; var Form1: TForm1; implementation procedure TForm1.connectClick(Sender: TObject); begin k:= OpenDevice(0); clearanalogchannel(1); setanalogchannel (1); resetcounter (1); setcounterdebouncetime (1,2); case k of 0: label1.caption:='Card connected'; -1: label1.caption:='Card not found'; end; ClearAllAnalog; if k = 0 then trackbar1.enabled := true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin time:=time+1; Edit1.text:=inttostr(ReadCounter(1)); c1:=ReadDigitalChannel(1); if c1=true then if c0=false then pulse:=pulse+1; if time=1000 then {toutes les 10 sec} begin trm:=pulse; trm:= trm*6; {* 6 pour avoir une moyenne sur une minute} label4.caption:=inttostr(trm); pulse:=0; time:=0; 15 end; end; procedure TForm1.ExitClick(Sender: TObject); begin outputanalogchannel (1,0); CloseDevice; close; end; procedure TForm1.resetClick(Sender: TObject); begin resetcounter (1); end; procedure TForm1.TrackBar1Change(Sender: TObject); begin OutputAnalogChannel(1,0 + TrackBar1.position); Label7.caption:=inttostr(0 + TrackBar1.position); if TrackBar1.position >= 200 then label3.visible:= true; if TrackBar1.position < 200 then label3.visible:= false; label11.caption := floattostr((trackbar1.position /255)* 5); end; procedure TForm1.Apropos1Click(Sender: TObject); begin panel2.Visible := true; trackbar1.Position := 0; end; procedure TForm1.FormCreate(Sender: TObject); begin panel2.Visible := false; TrackBar1.position:=0; resetcounter (1); end; procedure TForm1.Panel2Click(Sender: TObject); begin panel2.Visible := false; end; end. 16