Vous êtes sur la page 1sur 29

REPUBLIQUE DE COTE D’IVOIRE

Union – Discipline - Travail


Ministère de l’enseignement supérieur et
De la recherche scientifique

RAPPORT DE BE INFORMATIQUE

Thème
ETUDE ET REALISATION D’UN ARBRE
GENEALOGIQUE SIMPLIFIE EN LANGAGE C.

Enseignant
Prof. BI Tra GOORE
Enseignant - Chercheur à l’INP-HB

Réalisé Par
KOUAME Kouassi Jean Luc
Coulibaly Yennepéna Jérémie
KONE Karnon
YOBOU Michelle Pélagie
Élèves Ingénieurs STIC 1
Année Scolaire 2019 - 2020
SOMMAIRE
SOMMAIRE ........................................................................................................ I
INDEXE DES FIGURES ................................................................................... II
AVANT-PROPOS……………………………………………………………..III
INTRODUCTION……………………………………………………………….5
PREMIERE PARTIE : CONSIDERATIONS THEORIQUES………………6
I.
MODELISATION………………………………..…………..…………..7
II. CAHIER DE CHARGE……………………………………….…..8
DEUXIEME PARTIE : IMPLEMENTATION DE L'APPLICATION……...11
I. ORGANIGRAMME DE L'APPLICATION………………….…12
II. CODES ET FONCTIONS……………………………………….12
TROISIEME PARTIE : JEUX DE TESTS…………………………………..20
CONCLUSION………………………………………………………………...26
REFERENCES…………………………………………………………………IV
TABLES DES MATIERES…………………………………………………….V

[2]
INDEXE DES FIGURES
Figure 1: Sujet du BE...................................................................................................................................
Figure 2: Représentation graphique de la structure……………………………………………………………..

Figure 3: Menu de l'application…….……………………………………………………………………………...

Figure 4: La structure en langage C………………………………………………………………………………

Figure 5: Fichiers de l'application…………………………………………………………………………………

Figure 6-10: app.c…………………………………………………………………………………………………..

Figure 11: genealogie.c…………………………………………………………………………………………….

Figure 12: genealogie.h…………………………………………………………………………………………….

Figure 13: int_out.c………………………………………………………………………………………………….

Figure 14: int_out.h………………………………………………………………………………………………….

Figure 15: tab_hash.c………………………………………………………………………………………………

Figure 16: tab_hash.h………………………………………………………………………………………………

Figure 17: affichage_graphique.c…………………………………………………………………………………

Figure 18: affichage_graphique.h…………………………………………………………………………………

Figure 19: Commande pour lancer l'application…………………………………………………………………

Figure 20: Sauvegarde……………………………………………………………………………………………..

Figure 22: Menu…………………………………………………………………………………………………….

Figure 23: ajout d'une personne………………………………………………………………………………….

Figure 24: recherche d'une personne……………………………………………………………………………

Figure 25: informations d'une personne…………………………………………………………………………

Figure 26: père d'une personne…………………………………………………………………………………..

Figure 27: mère d'une personne…………………………………………………………………………………..

Figure 28: parents d'une personne………………………………………………………………………………..

Figure 29: enfants d'une personne………………………………………………………………………………..

Figure 30: personnes sans enfant…………………………………………………………………………………

Figure 31: personnes mariées……………………………………………………………………………………..

Figure 32: conjoint d'une personne……………………………………………………………………………….

Figure 33: contenu de l'arbre………………………………………………………………………………………

Figure 34: commande pour quitter l'application………………………………………………………………….

[3]
AVANT-PROPOS

La connaissance et la formation constituent des piliers du développement, du progrès et


du succès économique d’un pays. C’est au regard de cette réalité et pour ne pas rester
en marge du développement que la Côte d’Ivoire, dès les premières heures de son
indépendance, a mis un accent particulier sur la formation et l’éducation. En effet, en
moins de deux décennies d’indépendance, elle s’est dotée de structures de formation et
de recherche dont l’IAB (Institut Agricole de Bouaké), l'ENSA (Ecole Nationale
Supérieure d’Agronomie), l'INSET (Institut National Supérieur d’Enseignement
Technique) et l'ENSTP (Ecole Nationale Supérieure des Travaux Publics).

Etablissement à caractère administratif, l’Institut National Polytechnique Félix


Houphouët-Boigny (INP-HB) de Yamoussoukro, créé par décret 96-678 du 04
Septembre 1996, nait de la fusion de ces quatre (4) grands établissements. Suite à cette
restructuration, on assiste à la création de huit (8) grandes écoles que sont :

• L’ESA (Ecole Supérieure d’Agronomie) ;


• L’ESI (Ecole Supérieure d’Industrie) ;
• L’ESCAE (Ecole Supérieure de Commerce et d’Administration des Entreprises) ;
• L’ESTP (Ecole Supérieure des Travaux Publics) ;
• L’ESMG (Ecole Supérieure des Mines et de Géologie) ;
• L’EFCPC (Ecole (Formation Continue et de Perfectionnement des Cadres),
• Les CPGE (Classe Préparatoire aux Grandes Ecoles) ;
• L’EDP (Ecole Doctorale Polytechnique).

Par ailleurs, L’ESI est chargée de la formation des ingénieurs et des techniciens
supérieurs dans les principaux domaines de l’industrie. Et de ce fait, elle a en charge
notre formation d’ingénieur en sciences et technologies de l’information et de la
communication.

C’est en outre dans le cadre de cette formation que l’Ecole Supérieure d’Industrie initie
en première année de cycle ingénieur, des bureaux d’étude en vue d’amener ses élèves
à appliquer leurs connaissances acquises pendant les différents cours académiques à
un projet concret. C’est ainsi que ce nous a été soumis le thème que sanctionne ce
document.

[4]
INTRODUCTION
Dans le cadre de l’amélioration de la formation des élèves Ingénieurs de l ‘ESI,
plusieurs reformes ont été entreprises, tant sur les filières que sur leurs différents
emplois du temps. Ces changements de plusieurs ordres, sont remarqués par
l’apparition de nouvelles disciplines telles que les bureaux d’études (BE) qui permet
aux élèves d’accroitre leurs capacités d’action en leur proposant un large panel
d’outils de résolution de problèmes et en leur permettant d’acquérir des compétences.
Parmi ces BE, nous pouvons compter le BE Informatique.
L’informatique est de nos jours un domaine incontournable dans la vie. Ainsi dans le
but de proposer une pluralité de possibilité que pourrait offrir l’informatique, plusieurs
approches et outils sont proposés, entre autres les langages de programmation. Le
langage C ne reste pas en marge de ces langages et se présente comme un langage
proche de la machine. Ainsi, dans la cadre académique, nous devons améliorer nos
capacités de programmation dans ce langage.
C’est donc dans ce contexte que le thème <<Etude et réalisation d’un arbre
généalogique simplifié en langage C.>> nous a été soumis.
Alors, en quoi consiste vraiment notre projet ? Comment fonctionnera-t-il ? Et quelles
sont les étapes menant à sa réalisation ?
Dans la suite, nous nous efforcerons d’apporter des réponses à ses différentes
questions en détaillant en trois (03) parties le travail que nous avons réalisé. Ainsi,
après avoir exposé les considérations théoriques dans la première partie,
procèderons-nous dans la seconde partie à une présentation détaillée de
l’implémentation du code de l’algorithme du simplexe. Enfin, la troisième partie sera
consacrée à un jeu de tests pour jauger la fiabilité de notre application.

[5]
PREMIERE PARTIE :
CONSIDERATIONS
THEORIQUES

[6]
I. MODELISATION

1. Sujet

Figure 1

2. Représentation graphique de la structure

Nous choisissons de mettre les enfants d’une personne à sa gauche et ses


frères et sœurs à sa droite. L’ainé des enfants étant le premier enfant à gauche
juste après le père et le frère cadet immédiat du père la première personne
placée à sa droite.

[7]
Figure 2

II. CAHIER DES CHARGES

Cette partie présente le cahier de charges du thème qui nous fut soumis.

1. Contexte

Au titre de l’année académique 2019 – 2020, des Bureaux d’études ont été
introduits dans le cursus de l’élève Ingénieur STIC, afin de lui permettre d’aborder
l’aspect pratique des cours théoriques étudiés en classe. Dans le cadre du BE
Informatique, il nous a été demandé d’étudier et de réaliser un arbre généalogique
simplifié en langage C. Nous détaillons donc dans ce rapport, le cahier de charges
fonctionnel de notre projet.

2. Objectifs du projet

[8]
Nos objectifs se déclinent en objectifs généraux et spécifiques.

1. Objectif général

La finalité attendue de ce projet est la conception d’une application permettant la


création et la manipulation d’un arbre généalogique.

2. Objectifs spécifiques

Les objectifs spécifiques du projet sont les suivants :


- Coder l’application avec le langage C ;
- Réalisation d’un menu ;
- Rendre la manipulation facile pour les utilisateurs ;
- Sauvegarder les ajouts dans un fichier.

3 Spécifications Fonctionnelles

L'analyse de ce projet nous a permis d'identifier les divers besoins auxquels doit
répondre notre application. Ces besoins dégagés sont classés en deux catégories à savoir
les besoins fonctionnels et les besoins non fonctionnels.

1. Besoins fonctionnels

L’application doit assurer aux utilisateurs les fonctionnalités suivantes :


- Ajout d’une personne
- Recherche d’une personne
- Affichage des informations d’une personne
- Affichage de la mère d’une personne
- Affichage du père d’une personne
- Affichage des parents d’une personne
- Affichage des enfants d’une personne
- Affichage des frères cadets d’une personne
- Affichage des personnes sans enfants
- Affichage des personnes mariées
- Affichage des conjoints
- Affichage des parents d’une personne
- Affichage du contenu de l’arbre
[9]
- Sauvegarde des informations
- Quitter l’application

2. Besoins non fonctionnels


Les besoins non fonctionnels inhérent au projet à nous soumis sont :
- Ergonomie et convivialité : l’application doit fournir aux différents utilisateurs une
interface conviviale ;
- Maintenabilité et évolutivité : le code de l’application doit être lisible et
compréhensible pour pouvoir le maintenir facilement et rapidement. En outre, le
système doit être évolutif afin de répondre aux changements des besoins du
marché.

[10]
DEUXIEME PARTIE :
IMPLEMENTATION DE
L'APPLICATION

[11]
I. ORGANIGRAMME DE L’APPLICATION

1. Description de l’application
L’application aura pour fonction première de créer l’arbre généalogique et par la suite
permettra de faire des manipulations en se servant des fonctionnalités que nous
propose le menu.
Pour l’implémentation de cette application, nous avons utilisé le langage de
programmation C.

2. Présentation du menu de l’application


Le menu de l’application nous présente toutes fonctionnalités.

Figure 3
3. CODES ET FONCTIONS

Structure en langage C qui caractérisent l’arbre

[12]
Figure 4
Les fonctions sont contenues dans les fichiers qui composent l’application.

Figure 5
1. app.c
C’est le fichier qui génère le menu

[13]
Figure 6

Figure 7

[14]
Figure 8

Figure 9

[15]
Figure 10
2. genealogie.c
Aperçu des codes du fichier

Figure 11

3. genealogie.h
Aperçu des codes du fichier

[16]
Figure 12
4. int_out.c
Aperçu des codes du fichier

Figure 13
5. int_out.h
Aperçu des codes du fichier

[17]
Figure 14
6. tab_hash.c
Aperçu des codes du fichier

Figure 15
7. tab_hash.h
[18]
Aperçu des codes du fichier

Figure 16
8. affichage_graphique.c
Aperçu des codes du fichier

Figure 17

[19]
9. affichage_graphique.h
Aperçu des codes du fichier

Figure 18

[20]
TROISIEME PARTIE :
JEUX DE TESTS

[21]
 Lancement de l’application
On lance l’application avec la commande « ./app »

Figure 19
 Rechargement du fichier

Figure 20
 Affichage du menu

Figure 21
 Manipulations

Figure 22

[22]
Figure 23

Figure 24

Figure 25

Figure 26

Figure 27

[23]
Figure 28

Figure 29

Figure 30

Figure 31

[24]
Figure 32

Figure 33

Figure 34

Figure 35

[25]
CONCLUSION

Le projet soumis à notre étude consistait à étudier et à réaliser un arbre


généalogique simplifié en langage c. Pour ce faire, nous avons d’abord procédé à
l’analyse de notre cahier des charges, ce qui nous a permis de mieux cerner les
contours de notre projet. Ensuite, nous avons procédé à l’implémentation via le
langage C, ce qui a finalement abouti à une belle application.
Par ailleurs, ce projet a été d’un apport considérable, non seulement à notre
formation personnelle en matière de programmation informatique précisément en
langage C mais aussi à notre préparation à la gestion de projet en équipe. En fin de
compte, nous nous réjouissons énormément d’avoir participé à un tel projet car nous
en sortons enrichis.

[26]
REFERENCES

Bibliographie

Prof. BI Tra GOORE (2020). Support de cours langage C ING STIC 1 (Consulté
le 20, 26 décembre 2019 et le 8, 17 janvier 2020).

Pierre-Alain Fouque et David Pointcheval. Support de cours Ecole


Nationale Supérieure de Techniques Avancées (Consulté le 8, 19 janvier 2020).

Webographie

URL : http://www.developpez.com (Consulté le 5, 17 janvier 2020).

URL: http://www.openclassroom.com (Consulté le 8,9 et 19 janvier 2020).

[27]
TABLE DES MATIERES
SOMMAIRE ............................................................................................. I
INDEXE DES FIGURES ......................................................................... 3
AVANT-
PROPOS………………………………………………………………………..III
INTRODUCTION……………………………………………………………….5
PREMIERE PARTIE : CONSIDERATIONS THEORIQUES………………6
I.
MODELISATION…………………………...………………..…………..7
1.
Sujet………………………………………………………………………7
2. Représentation graphique de la structure……………7
II. CAHIER DE CHARGE………………………………….………..8
1.
Contexte…………………………………………….……………………8
2. Objectifs du projet………………………………………..9
1. Objectif général…………………………………….9
2 Objectif spécifique…………………………………9
3. Spécialisation fonctionnelles…………………………..9
1. Besoins fonctionnels……………………………...9
2. Besoins non fonctionnels……………………….10
DEUXIEME PARTIE : IMPLEMENTATION DE L'APPLICATION……...11
I. ORGANIGRAMME DE L'APPLICATION………………….…12
1. Description de l'application……………………………12
2. Presentation du menu…………………………………..12
II. CODES ET FONCTIONS……………………………………….12
1. app.c……………………………………………………….13
2. genealogie.c………………………………………………16

[28]
3.
genealogie.h……………………………………………………………16
4.
in_out.c………………………………………………………………….17
5.
in_out.h……………………………………………...………………….17
6.
tab_hash.c……………………………………………………………...18
7.
tab_hash.c……………………………………………………………...18
8.
affichage_graphique.c……………………………………………….19
9.
affichage_graphique.c…………………………………………….…20
TROISIEME PARTIE : JEUX DE TESTS……………………………….....20
CONCLUSION……………………...…………………………………………26
REFERENCES…………………………………………………………………IV
TABLES DES MATIERES…………………………………………………….V

[29]

Vous aimerez peut-être aussi