Téléchargez aux formats PDF ou lisez en ligne sur Scribd
sanvi2021 1026 Inaton & Unic- Enizainement +
Consignes :
Toute entorse a ces consignes donnera lieu a des pénalités.
Documents autorisés : tous ceux fournis dans le cadre du module : polycopié papier, pages
web du cours en ligne, et illustrations interactives et QCM
Répondez aux questions sur la copie et exécutez les commandes sur votre compte.
En plus des ragles usuelles des contrdles, il est strictement interdit d
Commencer le contréle avant le signal de démarrage de l'enseignant
Continuer le contrdle aprés le signal d'arrét de l'enseignant
Naviguer sur le web ailleurs que dans les pages du module
Communiquer de l'information par tout moyen électronique : courrier, fichier.
Entrainement 1 : analyse et modification d'un logiciel écrit en
langage c
Llarchive que vous allez récupérer contient plusieurs groupes de programmes. Celui qui va nous
intéresser ici concerne un jeu : "Monsieur et Madame ont un fils...". Nous désirons reconstruire le
logiciel, c.-4-d. compiler les programmes sources, puis en modifier organisation arborescente.
Mais, avant de le construire, nous préférons en faire une sauvegarde. Dans la derniére partie,
nous simplifierons le logiciel
1. Préparation
Récupérez l'archive en I'enregistrant dans votre répertoire de connexion.
Si vous n’arrivez pas 4 réaliser cette étape, demandez l'aide de 'enseignant. Il notera sur votre
copie quill vous a aidé
Dépliez archive avec la commande tar xvfz [Link]
Supprimez l'archive [Link]
2. Recherche et sauvegarde de fichiers
Objectif: trouver les fichiers a sauvegarder.
Indication : "Monsieur et Madame DEUF ont un fils. I! s‘appelle John".
1. Pour estimer votre approche pour la recherche des fichiers @ sauvegarder, comptez le
nombre d'entrées de l'arborescence de I'archive.
Donnez la commande et le nombre obtenu.
2. Un autre critére d'évaluation de la grosseur d'un logiciel est la place que ses fichiers
(programmes sources) consomment, Exécutez la commande permettant de connaitre cette
place en nombre de blocs de données. Utilisez une option pour limiter laffichage a une ligne.
Donnez la commande et le nombre obtenu
3. Clairement, vous n’allez pas parcourir toutes les entrées pour trouver celles devant étre
sauvegardées. Utiisez lindication pour rechercher les fichiers de texte contenant la chaine
de caractéres "DEUF"
Donnez la commande et le nom des répertoires contenant des fichiers respectant le critére
Si vous n’arrivez pas a réaliser cette étape, demandez aide de lenseignant. II notera sur
votre copie quill vous a aidé.
4, Nous devons sauvegarder tous les répertoires a partir du premier trouvé : le premier trouvé
étant celui qui est "plus haut" (prés de la racine) dans 'arborescence. La sauvegarde est
mise dans le répertoire Pratique1, au méme niveau que le répertoire Picolibre. Le répertoire
racine de la sauvegarde doit garder le méme nom
Donnez la commande.
_wwwint-sudparis eulmodules/UX* tfexamen_1.html 18sanvi2021 1026 Inaton & Unic- Enizainement +
5. Afin de nous protéger contre nos propres erreurs, nous décidons d'enlever certains droits
d'accés a toutes les entrées de l'arborescence de sauvegarde.
Donnez les droits 4 enlever et la commande.
3. Modification de certains programmes
Objectif : ajouter une nouvelle solution au jeu "Monsieur et Madame ont un fils..."
Nouvelle entrée : <<~Monsieur et Madame BALMASKE ont un fils : Alonzo~>>.
1. Vérifions d'abord que cette solution n‘existe pas. Nous pourrions réutiliser la commande de
recherche, mais nous sommes curieux et décidons de procéder différemment : nous
connaissons déja les noms des fichiers . Déplacez-vous dans l'un des répertoires contenant
les solutions du jeu. Ensuite, affichez les 30 premieres lignes du fichier solution
Donnez la commande.
2. Nous observons que le fichier est trié, Cela aiderait bien la recherche de "BALMASKE".
Comptons le nombre de solutions et affichons les lignes du fichier qui n'ont pas encore été
affichées.
Donnez les deux commandes
3. Avant d'ajouter la nouvelle entrée, aprés analyse de la structure du fichier, donnez la
commande qui affiche uniquement le nom de famille de "Sacha",
Donnez la commande et la réponse.
4, Maintenant, utilisez un éditeur de texte pour ajouter la nouvelle solution au bon format, par
exemple "BALMASKE ont un fils : Alonzo", Attention, le fichier ne contient pas de tabulation,
en utilisez donc pas non plus. Renouvelez l'opération pour les fichiers solutions des autres
répertoires "oo"
4. Construction du logiciel
Objectif : tester le logiciel
Cas de test : "Monsieur et Madame BALMASKE ont un fils : Alonzo”
1. Pour construire le programme, déplacez-vous dans un des répertoires "g*" et exécutez la
commande nake
2. Nous pouvons enfin tenter notre chance. Par exemple, dans le méme répertoire, démarrez le
serveur du jeu (fichier binaire serveur) en arriére-plan et vérifiez que le processus est bien
lancé.
Donnez les deux commandes.
3. Exécutez un client (fichier binaire c1ient) en avant-plan avec l'argument "BALMASKE"
Donnez la commande.
4, Donnez la commande qui permet de verifier que le processus client est bien terminé, puis
celle qui permet de vérifier que le processus serveur existe toujours. Les deux commandes
doivent étre différentes
5, Ré-exécutez le méme client, mais cette fois-ci, gardez le résultat dans un fichier que vous
appellerez “filsALMASK‘
Donnez la commande.
6. Pour terminer le test de l'ajout de la nouvelle solution, supprimez le processus serveur avec
les informations récoltées précédemment.
Donnez la commande.
5. Simplification de certains programmes
Objectif : supprimer les redondances de fichiers
Fichiers concemés : fichiers solutions
_wwwint-sudparis eulmodules/UX* tfexamen_1.html 28sanva021 1028 Inaton & Uni- Entainement
1. Nous pouvons remarquer que le fichier solution est présent 5 fois dans le logiciel. Si les
fichiers sont les mémes, ce sont 4 fois de trop. Vérifiez donc que ce sont les mémes fichiers.
Donnez l'une des commandes utilisées.
2. C'est le cas : les exemplaires sont strictement identiques. Nous pouvons donc supprimer les
4 fichiers en trop. Commencez par effacer ces exemplaires, Pour éviter le risque de
mauvvaise manipulation, ajoutez 'option qui permet de demander a l'utilisateur de confirmer
effacement de chaque fichier.
Donnez la commande.
3, Pour remplacer les fichiers supprimés, nous allons créer 4 liens. Créez 2 liens physiques et 2
liens symboliques, en allant successivement dans chaque répertoire "o*" et en utilisant
alternativement des chemins absolus et relatifs.
Donnez les quatre commandes de création des liens,
_wwwint-sudparis eulmodules/UX* tfexamen_1.html
38