Changes between Initial Version and Version 1 of SujetTP4-2016


Ignore:
Timestamp:
Feb 19, 2016, 8:38:42 AM (9 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SujetTP4-2016

    v1 v1  
     1= TP4 : Serveur WEB minimaliste pour la commande des LEDs et la lecture du bouton poussoir =
     2
     3== Objectif ==
     4
     5Le but de ce TME est de créer un site web consultable par un browser web permettant de changer l'état des leds et le consulter l'état du bouton poussoir. Le serveur web est écrit en Python, à la réception des requêtes du client, il exécute des scripts CGI (Common Gateway Interface) écrit également en Python pour produire des pages HTML dynamiques. Les scripts CGI devront communiquer avec le programme écrit en C contrôlant les LEDs et le bouton poussoir. La communication entre les scripts et le programme de contrôle se fera par fifo.
     6
     7Pour ce faire, nous allons procéder en deux temps.
     81. Nous allons faire communiquer un programme python avec un programme C par FIFO.
     92. Nous allons créer un serveur local sur le PC de développement et le faire communiquer avec le programme C.
     103. Nous allons mettre le serveur sur une raspberry PI et communiquer avec le programme C
     114. Nous allons remplacer le programme C par le programme de contrôle des LEDs et du bouton poussoir.
     12
     13== 1. Communication par FIFO ==
     14
     15Le but de cette première partie est de réaliser le programme suivant
     16
     17[[Image(htdocs:png/fake2server.png,nolink,400px)]]
     18
     19- fake lit une valeur sur stdin et place la valeur lue dans une variable.
     20- Lorsque l'on tape plusieurs valeurs de suite la nouvelle valeur écrase l'ancienne.
     21- fake est toujours en fonctionnement.
     22- Le server Python est lancé et arrêté, il se comporte comme se comportera le script CGI.
     23- Quand le server python démarre, il envoie deux types de commande au programme fake
     24  - Une commande d'affichage pour afficher un message sur l'écran
     25  - Une commande de lecture pour récupérer la valeur lue par fake.
     26
     27Pour démarrer, vous allez récupérer une archive constituer de 4 fichiers: 2 lecteurs et 2 écrivains.
     28Les deux lecteurs sont interchangeables, le premier est en C, le second en Python.
     29Les deux écrivains sont aussi interchangeables.
     30{{{
     31writer_reader
     32├── Makefile
     33├── reader.c    : lit une fifo et affiche le message reçu jusqu'à recevoir le message end
     34├── reader.py
     35├── writer.c    : écrit dans une fifo 5 fois et écrit le message end
     36└── writer.py
     37}}}
     38