TGC Codebase Backup



basic_FrameWork by Serge Adjo

28th Jan 2009 8:18
Summary

THIS is just a framework for an FPS:



Description

THIS is just a frame work for an FPS:

rem * Title : FPSute-New
rem * Author : SERGE ADJO
rem * Date : 5 JANVIER 2009
` ===== FPSute-NEW =====
` 'FPSute' stands for: First-Person-Shooter using tutorials, examples (FPS utilisant tutoriels, exemples) par Serge Adjo, membre du forum TGC.
` ======================
` débuté le 15/12/2008 fini le ... version 0.9
` ======================
` Main Source File for 'FPSute-New' (Programme principal I) - :) [nom fichier projet; _MainProgFPS_DBP]
` ======================
`************************************************************************************
`* *
`* S T A R T O F M A I N L O O P *
`* *
`************************************************************************************
rem #INCLUDE "INCLUS.DBA" : ` <<<<<<<<< !!! ôTEZ 'REM'!!! INCLURE tout les sous-programmes grâce à "Inclus.dba";
GOSUB Initialise_E : f_Initialise_Jeu() : ` Le jeu commence par cette fonction ;
f_Deroulement() : ` Le déroulement du programme ENTIER se gère ici
FINIR_TOUT:
END :` FIN de TOUT LE PROGRAMME
`***********************************************************************************
`* *
`* E N D O F M A I N L O O P *
`* *
`***********************************************************************************
` =====================
` FIN
` ===== FPSute-New =====
` "Inclus.dba" par Serge Adjo
` ======================
` fonctions: Ce programme inclu d'autres prog. au programme principal, afin qu'il les utilise.
` ======================
`************************************************************************************
`* *
`* !!!!OTEZ REM Voici la liste des fichiers inclus: OTEZ REM !!! *
`* *
`************************************************************************************
remstart : ` <<<<<<<<< !!! ôTEZ 'REM' !!!!!
#INCLUDE "F_INITIALISATION.dba"
#INCLUDE "F_Variées.dba"
REMEND : ` <<<<<<<<< !!! ôTEZ 'REM' !!!!!



remstart
note: noms de variables: préfixe "_" (en général :)) ; noms de tableaux préfixe "T_"=GLOBAL, sinon LOCAL="t_" ; Etiquettes suffixe "_e"=GOTO sinon "_E"=GOSUB
note: noms de fonctions: préfixe "f_"
_variables; _variable ;suffixe # ; $ ; E ;
V_variable globale; V majuscule
_préfixe; "T_"=tableau GLOBAL ; "t_"=tableau LOCAL ;
étiquettes ; suffixe _e et "_E"
_fonctions; préfixe "f_"
types: TYPE_
REMEND

remstart
TODO:

f_Deroulement() gère le déroulement de tout le programme
f_Initialise_Jeu() à mettre à jour avec un tableau GLOBAL pour préférences:
- FAIRE tableau GLOBAL pour charger contenu de préférences .TXT ; puis faire comme présentement
f_Anti_bogue() à mettre à jour - message d'erreur
f_OPEN_TO_READ_safe() mettre à jour...
faire le menu principal et menu option pour afficher/modifier résolution écran, mode fenêtre


Déroulement du programme , fonctions ;

REMEND
rem ***** Included Source File *****
` ===== FPSute-NEW =====
` "F_Initialisation.dba" par Serge Adjo
` ======================
` fonctions: Ce programme initialise le programme, ajuste résolution et rafraîchissement de l'écran;
` ======================
rem DéCLARER les variables du programme;
Initialise_E:
` déclarer Variables globales de lecture;
GLOBAL _LectureA$ : GLOBAL _LectureB$ : GLOBAL _LectureC$ : GLOBAL _LectureD$ : GLOBAL _LectureE$ : GLOBAL _LectureF$
` déclarer Variables globales d'erreurs;
GLOBAL _Erreur1$ : GLOBAL _Erreur2$ : _Erreur2$=" Erreur - pressez ECHAP pour QUITTER ce programme. "
GLOBAL _Langue1 :` VARIABLE GLOBALE LANGUE
` Crée/efface un memblock pour permmettre à SC_Collision de marcher;
IF MEMBLOCK EXIST(1) THEN DELETE MEMBLOCK 1
` Fin retour;
RETURN


// ***************************************************************
// ***************************************************************
rem f_Deroulement() gère le bon déroulement de TOUT le programme;
FUNCTION f_Deroulement()
f_Sequence_INTRO()
` FIN de la Fonction;
GOTO FINIR_TOUT
ENDFUNCTION

rem f_Initialise_Jeu() initialise le prog., ajuste résolution, charge fichier "préférences.txt"
FUNCTION f_Initialise_Jeu()
` >>>>>>>> CHANGE LE REPERTOIRE DE TRAVAIL <<<<<<<<<<<< !!!
SET DIR ".." : ` <<<<<<<<< !!!
f_OPEN_TO_READ_safe(1,"Données_0aPréférences.txt","Fichier introuvable: ''FPSute-NewBin32Données_0aPréférences.txt''") : ` Charger fichier "Préférences.txt" afin de changer résolution;
READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
READ STRING 1,_LectureA$ : ` lire 3 lignes résolution LxHxProfondeur;
READ STRING 1,_LectureB$ : READ STRING 1,_LectureC$ : READ STRING 1,_LectureD$ : READ STRING 1,_LectureE$ : READ STRING 1,_LectureF$
SET DISPLAY MODE VAL(_LectureA$),VAL(_LectureB$),VAL(_LectureC$),VAL(_LectureD$),VAL(_LectureE$),VAL(_LectureF$)
READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
READ STRING 1,_LectureA$ : _Langue1=VAL(_LectureA$) : ` lire 1, langue
READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
READ STRING 1,_LectureA$ : SET TEXT FONT _LectureA$ : ` lire 1, Police texte
READ STRING 1,_LectureA$ : SET TEXT SIZE VAL(_LectureA$) : ` lire 1, TAILLE texte
READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
READ STRING 1,_LectureA$ : SYNC ON : SYNC RATE VAL(_LectureA$) : ` lire 1, fréquence d'image SYNC RATE;
READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
READ STRING 1,_LectureA$ : SET WINDOW TITLE _LectureA$ : SET WINDOW OFF : ` lire 1, Titre du programme;
READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
READ STRING 1,_LectureA$ : ` lire 1, Activer ECHAP Presto;
IF 10=VAL(_LectureA$) THEN ENABLE ESCAPEKEY
IF 0=VAL(_LectureA$) THEN DISABLE ESCAPEKEY : ` Sinon désactiver ECHAP ;
` <<<<<<<<<<<<< !!!!!! ECHAP !!! ^^^^
READ STRING 1,_LectureA$ : _Erreur1$=_LectureA$ : ` message d'erreur
CLOSE FILE 1
BACKDROP ON
COLOR BACKDROP RGB(64,64,64)
AUTOCAM OFF
SET NORMALIZATION ON
null = MAKE VECTOR3(1) :` réglages pour fonctions distance entre 2 points ;
` FIN DE FONCTION ;
ENDFUNCTION


remstart ***** Included Source File *****
"F_Variées.dba" par Serge Adjo
======================
fonctions: Ce programme contient plusieurs fonctions ;
REMEND
rem ======================

rem f_Anti_bogue() prévient le programme du plantage, interrompt en affichant un message d'erreur, affiche menu QUITTER.
FUNCTION f_Anti_bogue()
` informer Utilisateur du problème, proposer ECHAP pour QUITTER ;
ENABLE ESCAPEKEY : ` <<<<<<<<<<<< !!!!! TOUCHE ECHAP ACTIVE !!!!!!!!
SET TEXT FONT "Arial"
SET TEXT SIZE SCREEN WIDTH()/40
SYNC RATE 60
BACKDROP OFF
CLS
DO
SET CURSOR 0,35
PRINT TEXT FONT$()
PRINT TEXT SIZE()
PRINT _Langue1
PRINT SCREEN FPS()
PRINT SCREEN WIDTH()
PRINT SCREEN HEIGHT()
PRINT SCREEN DEPTH()
TEXT 5,5,"F_ANTI_BOGUE()"
PRINT _Erreur1$
PRINT _Erreur2$
SYNC
LOOP
ENDFUNCTION


rem f_QUITTER_ECHAP() permet de QUITTER grâce à la touche ECHAP;
FUNCTION f_QUITTER_ECHAP()
IF KEYSTATE(1)=0 THEN GOTO FIN
CLS
DO
SET CURSOR 0,0
PRINT "VOUS POUVEZ QUITTER EN APPUYANT SUR ENTREE SINON ESPACE POUR CONTINUER"
IF RETURNKEY()=1 THEN END
IF SPACEKEY()=1 : WAIT 300 : EXIT : ENDIF
SYNC
LOOP
FIN:
ENDFUNCTION

rem f_OPEN_TO_READ_safe(id,nom_du_fichier,message_d'erreur) vérifie si fichier existe et l'ouvre ;
FUNCTION f_OPEN_TO_READ_safe(_id_,_nom_$,_Erreur_$)
IF FILE EXIST (_nom_$)=0 : _Erreur1$=_Erreur_$ : f_Anti_bogue() : ENDIF
OPEN TO READ _id_,_nom_$
ENDFUNCTION

rem f_Sequence_INTRO() affiche une Séquence_d'_Intro au début du programme;
FUNCTION f_Sequence_INTRO()
CLS
` SET CURSOR 0,5
DO
TEXT 0,5,"BIENVENUE DANS ''FPSute-NEW'', LE JEU VIDEO DE SERGE ADJO (c)2008 - "
TEXT 0,50,"LE CONTENU PRESENTé DANS CE PROGRAMME N'EST PAS REEL."
TEXT 0,95,"APPUYEZ SUR ESPACE POUR CONTINUER ou bien ECHAP POUR QUITTER"
f_QUITTER_ECHAP()
IF SPACEKEY()=1 THEN EXIT
SYNC
LOOP

ENDFUNCTION



Code
                                    ` This code was downloaded from The Game Creators
                                    ` It is reproduced here with full permission
                                    ` http://www.thegamecreators.com
                                    
                                    rem * Titre  : programmer1
rem * Auteur : programmeur prog'
rem * Date   : 22/ 02/ 2009
`;
`###################################################################################
`|PROG PRINCIPAL "_prog.dba" ; "_prog-PRO.dbpro"///////////////////////////////////|
`################################################################################### #
`Débuter PROGRAMME PRINCIPAL ; déclarer les variables en premier;
`;
GOSUB Initialiser_GOS ;` commencer par déclarer variables ;
f_Initialiser_prog()  :` commencer le prog' par cette fonction ;
`;
FINIR_TOUT:
END :` FIN de TOUT LE PROGRAMME
`;
` =====================
` FIN
`;
remstart
;
; NOTER | Enregistrer sousI | Enregistrer sousII | Répertoire à structurer | INCLURE dans l'éxecutable | LIRE comme suit |
;
|***********************************************************|
NOTER; |************---------------------------------------||
|*********************************************************|||

-FONCTIONS préfixe 'f_'
-VARIABLES préfixe majuscule 'V_' = globale ; 'v_' = locale ; SUFFIXE Variables _E ; _# ; _$ (Entier ; réel ; caractères)
-numéroter variables globales 1,2 etc pour les différencier des locales déclarées dans des fonctions;
-TABLEAUX préfixes majuscule 'T_' = GLOBAL ; 't_' = LOCAL ; SUFFIXE Tableaux _E ; _# ; _$
-TYPES préfixes 'TYP_'
-ETIQUETTES suffixe majuscule '_GOT' = GOTO ; '_GOS' = GOSUB
-CHEMINS "\" séparateur ; ".." dossier parent ;

|-------------------------------------------------------|
Enregistrer sousI '_Préférences.txt'; |----------------||
|-----------------------------------------------------|||

>enregistrer sous '_Préférences.txt'
>enregistrer sous '\Bin32\Données_0a\_Préférences.txt' (<-préf. par défaut)

>Fichier '_Préférences.txt' ; contenu;
-résolution largeur. hauteur. profondeur. Vsync. Anti-aliasing;
1024
-
768
-
32
-
1
-
1
-Langue, 1 français, 2 Anglais;
1
-Qualité / performances 1=très bas, 2=bas, 3=Bon, 4=Très Bon, 5=Max élevé;
4
-Typo texte (s'assurer que la typo est installée sur votre disque dur) sinon laisser ARIAL;
Arial
-Taille Texte: 1,2 ou 3 pour améliorer la définition utilisée par les lettres du texte;
1
-demander confirmation avant de quitter le programme grâce à touche ECHAP ; 0=non ;1=oui ;
0

|--------------------------------------------------------|
Enregistrer sousII _initialisation.txt; |---------------||
|------------------------------------------------------|||

>enregistrer sous '\Bin32\Données_0a\_initialisation.txt'

>Fichier '_initialisation.txt' ; contenu;
-fréquence d'images/seconde;
60
-Titre de barre de titre;
programme darkbasicpro
-Titre jeu;
"programme1"
-Auteur;
"programmeur prog'"
-année;
(c)2009
-Message d'erreur de base;
"erreur"


|--------------------------------------------------------|
Répertoires à structurer; |-----------------------------||
|------------------------------------------------------|||

->\Repertoire Parent\; *Exécutable.exe ; _prog-PRO.dbpro ; LisezMoi.txt ; _Préférences.txt*
___|->\Aide_Help_Informations\; * Aide.txt ; Auteur.txt ; Raccourci vers _Préférences.txt*
___|->\_Cprog-PRO\; * _Fprog.dba ; _Fprog-PRO.dbpro ; Lisez-Moi.txt *
___|->\Bin32\; *  *
______|->\Données_0a\; * _initialisation.txt ; _Préférences.txt (défaut)* 		-à zipper-protéger
______|->\Données_0b\; *  * 													-à zipper-protéger
______|->\Données_001 (&++)\; *  * 	 (\Données_001 (&++)\ ces répertoires sont à zipper-protéger)
______|->\Algos\; *(copie de) _prog-PRO.dbpro*
_________|->\mes_Sources\; *tutos.dba ; médias et icône.ico*
fin;
|__|__|__|
1__2__3__4 ème niveau

|-------------------------------------------------------|
INCLURE dans l'éxecutable; |---------------------------||
|-----------------------------------------------------|||

médias de base, icône, sprites ; données textuelles.

|*******************************************************|
LIRE comme suit; |**********************---------------||
|*****************************************************|||
;
------------------------------------------------
séparateur simple
------------------------------------------------
;
************************************************
séparateur plus
************************************************
;
__________________________________________________________
BOUCLE DO|________________________________________________|
;
__________________________________________________________
FIN LOOP|_________________________________________________|
;
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
CHANGEMENT DE REPERTOIRE DE TRAVAIL
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;
#################################################
|//////////////////////////////////////////////|
#################################################
début de fichier prog'
;
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||
début et fin de fonction
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||fin
;
remend
`;
`;
`#############################################################
`|"F_Initialisation.dba" |///////////////////////////////////|
`# (c) prog' ############################################ #############################
`But du programme; initialiser le programme, ajuster résolution et rafraîchissement de l'écran;
`;
`DéCLARER les variables du programme;
Initialiser_GOS:
` déclarer Variables globales d'erreurs;
    GLOBAL V_Erreur1_$ : GLOBAL V_Erreur2_$ : V_Erreur2_$=" Erreur  - presser ECHAP pour QUITTER ce programme. "
    GLOBAL V_Langue1_E :` VARIABLE GLOBALE LANGUE
remstart
` déclarer Variables globales de lecture;
    GLOBAL _LectureA$ : GLOBAL _LectureB$ : GLOBAL _LectureC$ : GLOBAL _LectureD$ : GLOBAL _LectureE$ : GLOBAL _LectureF$
` Crée/efface un memblock pour permmettre à SC_Collision de marcher;
    IF MEMBLOCK EXIST(1) THEN DELETE MEMBLOCK 1
remend
` Fin retour;
RETURN
`;
remstart
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||
rem f_Deroulement() gère le bon déroulement de TOUT le programme;
FUNCTION f_Deroulement()
    f_Sequence_INTRO()
` FIN de la Fonction;
    GOTO FINIR_TOUT
ENDFUNCTION
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||fin
remend
`;
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||
rem f_Initialiser_prog() initialiser le prog., ajuster résolution, charger fichier "_préférences.txt"
FUNCTION f_Initialiser_prog()
remstart
ENDFUNCTION
` >>>>>>>> CHANGE LE REPERTOIRE DE TRAVAIL <<<<<<<<<<<< !!!
    SET DIR ".." : ` <<<<<<<<< !!!
        f_OPEN_TO_READ(1,"Données_0a\Préférences.txt","Fichier introuvable: ''FPSute-New\Bin32\Données_0a\Préférences.txt''") : ` Charger fichier "Préférences.txt" afin de changer résolution;
        READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
        READ STRING 1,_LectureA$ : ` lire 3 lignes résolution LxHxProfondeur;
        READ STRING 1,_LectureB$ : READ STRING 1,_LectureC$ : READ STRING 1,_LectureD$ : READ STRING 1,_LectureE$ : READ STRING 1,_LectureF$
        SET DISPLAY MODE VAL(_LectureA$),VAL(_LectureB$),VAL(_LectureC$),VAL(_LectureD$),VAL(_LectureE$),VAL(_LectureF$)
        READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
        READ STRING 1,_LectureA$ : _Langue1=VAL(_LectureA$) : ` lire 1, langue
        READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
        READ STRING 1,_LectureA$ : SET TEXT FONT _LectureA$ : ` lire 1, Police texte
        READ STRING 1,_LectureA$ : SET TEXT SIZE VAL(_LectureA$) : ` lire 1, TAILLE texte
        READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
        READ STRING 1,_LectureA$ : SYNC ON : SYNC RATE VAL(_LectureA$) : ` lire 1, fréquence d'image SYNC RATE;
        READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
        READ STRING 1,_LectureA$ : SET WINDOW TITLE _LectureA$ : SET WINDOW OFF : ` lire 1, Titre du programme;
        READ STRING 1,_LectureA$ : ` lire 1 ligne intermédiaire;
        READ STRING 1,_LectureA$ : ` lire 1, Activer ECHAP Presto;
        IF 10=VAL(_LectureA$) THEN ENABLE ESCAPEKEY
        IF 0=VAL(_LectureA$) THEN DISABLE ESCAPEKEY : ` Sinon désactiver ECHAP ;
        ` <<<<<<<<<<<<< !!!!!! ECHAP !!! ^^^^
        READ STRING 1,_LectureA$ : _Erreur1$=_LectureA$ : ` message d'erreur
    CLOSE FILE 1
    BACKDROP ON
    COLOR BACKDROP RGB(64,64,64)
    AUTOCAM OFF
    SET NORMALIZATION ON
    null = MAKE VECTOR3(1) :` réglages pour fonctions distance entre 2 points ;
remend
    ` FIN DE FONCTION ;
ENDFUNCTION
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||fin
`;
`;
`######################################################
`|"F_variées.dba" |///////////////////////////////////|
`# (c) prog' ############################################ #############################
`But du programme; plusieurs fonctions variées;
`;
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||
`f_Message_erreur() prévenir le programme du plantage, afficher un message d'erreur, afficher menu QUITTER.
FUNCTION f_Message_erreur()
` informer Utilisateur du problème, proposer ECHAP pour QUITTER ;
    ENABLE ESCAPEKEY : ` <<<<<<<<<<<< !!!!! TOUCHE ECHAP ACTIVE !!!!!!!! 
    SET TEXT FONT "Arial"
    SET TEXT SIZE SCREEN WIDTH()/40
    SYNC RATE 60
    BACKDROP OFF
    CLS
    DO
        SET CURSOR 0,35
        PRINT TEXT FONT$()
        PRINT TEXT SIZE()
        PRINT _Langue1
        PRINT SCREEN FPS()
        PRINT SCREEN WIDTH()
        PRINT SCREEN HEIGHT()
        PRINT SCREEN DEPTH()
        TEXT 5,5,"message d'erreur"
        PRINT _Erreur1$
        PRINT _Erreur2$
        SYNC
    LOOP
ENDFUNCTION
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||fin
`;
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||
`f_QUITTER_ECHAP() permet de QUITTER grâce à la touche ECHAP;
FUNCTION f_QUITTER_ECHAP()
    IF KEYSTATE(1)=0 THEN GOTO FIN
    CLS
    DO
     	SET CURSOR 0,0
     	PRINT "VOUS POUVEZ QUITTER EN APPUYANT SUR ENTREE SINON ESPACE POUR CONTINUER"
     	IF RETURNKEY()=1 THEN END
     	IF SPACEKEY()=1 : WAIT 300  : EXIT : ENDIF
     	SYNC
    LOOP
    FIN:
ENDFUNCTION
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||fin
`;
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||
`f_OPEN_TO_READ_(id,nom_du_fichier,message_d'erreur) vérifie si fichier existe et l'ouvre ;
FUNCTION f_OPEN_TO_READ_(v_id_E,v_nom_$,v_Erreur_$)
    IF FILE EXIST (v_nom_$)=0 : V_Erreur1_$=v_Erreur_$ : f_Message_erreur() : ENDIF
    OPEN TO READ v_id_E,v_nom_$
ENDFUNCTION
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||fin
`;
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||
`f_Sequence_INTRO() affiche une Séquence_d'_Intro au début du programme;
FUNCTION f_Sequence_INTRO()
    CLS
`    SET CURSOR 0,5
    DO
        TEXT 0,5,"BIENVENUE DANS '';;;;;;'', LE JEU VIDEO DE ;;;;;;; (c);;;;; - "
        TEXT 0,50,"LE CONTENU PRESENTé DANS CE PROGRAMME N'EST PAS REEL."
        TEXT 0,95,"Cliquez POUR CONTINUER ou bien ECHAP POUR QUITTER"
        f_QUITTER_ECHAP()
        IF MOUSECLICK()=1 THEN EXIT
        SYNC
    LOOP
 
ENDFUNCTION
`__________________________________________________
`||||||||||||||||||||||||||||||||||||||||||||||||||fin
`;
`;

`#######################################################
`|"Conclusion.dba" |///////////////////////////////////|
`# (c) prog' ########################################### #############################
`Conclusion, notes finales;
`;
` faut Arranger le prog' comme suit;
`Initialiser_GOS ; commencer par déclarer variables;
`f_Initialiser_prog() : ` commencer le prog' par cette fonction ;
`f_Sequence_INTRO()
`;
`FINIR_TOUT: ` pour finir
`END :` FIN de TOUT LE PROGRAMME
`;
`-------------------------------
`pour charger des fichiers;
`f_OPEN_TO_READ_(id,nom_du_fichier,message_d'erreur)    `charger fichiers;
`;
`f_Message_erreur()                                     `message d'erreur ;
`f_QUITTER_ECHAP()                                      `Quitter ECHAP;
`;
`;
`;
`#CORBEILLE, à supprimer;
`f_Deroulement()                                        `gèrer le déroulement du programme ENTIER ;
`;
`;
`TODO liste;
` corriger variables
` ajouter des champs info, initialisation.txt
` lister les menus
` decrire les médias ;
`;
`;