Vous êtes sur la page 1sur 61

Mémoire de Projet de Fin d’Etudes

Pour l’Obtention du Diplôme de Master Spécialisé

Filière : Systèmes de Télécommunication

Réalisation d'une application de télégestion d’un


émetteur TNT pour le centre de Casablanca

Réaliser par : Encadrer par :

- Ayoub LAAMARI - Mme. Houda ZAGRARI (SNRT)


- M. Youssef EL MERABET (FSK)
- Mme. Zineb SAMIR (FSK)

Soutenu le 11 novembre 2022 devant le jury :

Pr. MEZOUARI Abdelkader ESTK Président


Pr. EL HAMDAOUY Achour ESTK Examinateur

Pr. EL MERABET Youssef FSK Encadrant


Co-encadrant
Dr. SAMIR Zineb FSK

Année Universitaire : 2021 – 2022


Réalisation d'une application de télégestion d’un émetteur TNT 2022

Dédicace
A tout ce que peut nous apporter le partage qu'il soit culturel ou
humain.

Que le fait d'être lu puisse être et rester notre plus belle rétribution.

J’ai l’honneur de dédier ce travail

A mes chers parents ma mère qui lors, de toutes mes années


d’études, m’encouragé et soutenue et mon père pour leur patience,
leur soutien,qui ma donnée la force de continuer sans jamais
baisser les bras

A mes frères et toute ma famille

A tous mes collègues et professeurs de la promotion


Télécommunication 2022.

A tous mes proches amis.

LAAMARI Ayoub

2
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Remerciements

« Il n'y a guère au monde un plus bel excès que celui de la reconnaissance. » Jean de la Bruyère.

C’est avec beaucoup d’estime et une sincère reconnaissance que je tiens à remercier
toutes les personnes qui ont contribuées à l’aboutissement de ce projet. L’expression de
mes profondes gratitudes ne saurait égaler l’aide et le soutien tant sur le plan professionnel
que moral qu’elles m’ont apporté tout au long de la période de réalisation de ce projet.

À mes Chers Parents.

J’aimerai que vous receviez mes très sincère gratitude pour votre encouragement et vos
efforts pour fournir les meilleures conditions possibles pour travailler sur ce projet, je dois
ce travail à vous.

À mes Encadrants.

M. EL MERABET Youssef, professeur de l’enseignement supérieur à l’université Ibn


Tofail, Mme SAMIR Zineb, doctorant à la faculté des sciences de Kénitra, Mme
ZAGRARI Houda, Ingénieur développement d’application dans le département de
Télédiffusion dans la SNRT. Recevez mes plus sincères remerciements d'avoir encadré
mon travail pendant ce stage, je tiens également à vous exprimer mes reconnaissances pour
votre disponibilité et vos précieux conseils fructueux.

A l’ensemble des Ingénieurs et responsables du service de Télédiffusion.

M. TARMIDI Mohammed et M. MNIJEL Ahmed. Pour leurs orientations et leurs


coopérations qui m’a permis de passer ce stage dans des bonnes conditions.

A Tous les employés de la SNRT.

A mes chers professeurs et formateurs.

3
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Résumé
La télévision numérique terrestre (TNT) est une évolution technique en matière de
télédiffusion, fondée sur la diffusion de signaux de télévision numérique par un réseau de
réémetteurs hertziens terrestres.

Ce projet de fin d’étude est consacré à la réalisation d'une application de télégestion pour
un émetteur TNT. Mon travail est une conception sur le Framework Django en langage
Python, dont on va créer une interface web qui assure la gestion des différents paramètres de
l'équipement.

Mot-clé : TNT, Python, Django, SNMP, HTML, DVBT.

Abstract
Digital Video Broadcasting Terrestrial (DVBT) is a technical evolution in television
broadcasting, based on the broadcasting of digital television signals by a network of
terrestrial hertzian transmitters.

This project is devoted to the realization of a remote management application for a DTT
transmitter. Our work is a design on the Django Framework in Python language, of which
we will create a web interface which ensures the management of the various parameters of
the equipment.

Keyword: TNT, Python, Django, SNMP, HTML, DVBT.

4
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Table des matières


DEDICACE ......................................................................................................................................................................... 2

REMERCIEMENTS ..................................................................................................................................................... 3

RESUME ........................................................................................................................................................................ 4

ABSTRACT.................................................................................................................................................................... 4

TABLE DES MATIERES ............................................................................................................................................. 5

TABLE DES FIGURES ................................................................................................................................................ 8

LISTE DES ABREVIATIONS ................................................................................................................................... 10

INTRODUCTION GENERALE ................................................................................................................................ 12

CHAPITRE UN............................................................................................................................................................ 13

PRESENTATION DE LA SNRT ............................................................................................................................... 13

PRESENTATION DE L’ORGANISME D’ACCUEIL ............................................................................................ 14

1.1. LA SNRT .................................................................................................................................................... 14


1.2. SERVICES DE LA SNRT : ............................................................................................................................ 14
1.2.2. La télédiffusion : .................................................................................................................................. 14
1.2.3. La radiodiffusion : ............................................................................................................................... 15
1.2.4. Programmation : .................................................................................................................................. 15
1.2.5. La Publicité : ........................................................................................................................................ 16
1.3. ORGANIGRAMME DE LA SNRT .................................................................................................................. 16
CONCLUSION : .......................................................................................................................................................... 16

CHAPITRE DEUX ...................................................................................................................................................... 17

MISE EN SITUATION DE SUJET ........................................................................................................................... 17

1. LA TRANSMISSION TERRESTRE : ............................................................................................................. 18

1.1. TELEVISION NUMERIQUE TERRESTRE (TNT) .......................................................................................... 18


1.2. FREQUENCES ET CANAUX DES CHAINES DE TELEVISION ÉTABLIES AU MAROC .................................... 20
1.3. LA NORME DVB-T ..................................................................................................................................... 21
1.3.2. Introduction : ....................................................................................................................................... 21
1.3.3. Fonctionnement :.................................................................................................................................. 21
1.3.4. Chaine d’émission DVB_T: ................................................................................................................. 23
- Paquets de transport:............................................................................................................................................. 24
- Codage de canal : ................................................................................................................................................... 24

5
Réalisation d'une application de télégestion d’un émetteur TNT 2022

- Outer coder (codage externe) :.............................................................................................................................. 25


- Outer interleaver (Entrelacement externe):......................................................................................................... 26
- Inner coder (codage interne) : ............................................................................................................................... 27
- Inner interleaver (Entrelacement interne):..........................................................................................................27
- Mapper(constellation et mapping) : ..................................................................................................................... 28
- Structure de la trame OFDM :.............................................................................................................................. 28
1.3.5. Le multiplexage COFDM: ................................................................................................................... 29
- Différence entre OFDM et COFDM : ................................................................................................................... 29
1.3.6. DVB-T2 : ............................................................................................................................................... 29
- Différences entre DVB-T et DVB-T2: .................................................................................................................. 29

2. EMETTEUR TREDESS :.................................................................................................................................. 30

2.1. LES CARACTERISTIQUES :.......................................................................................................................... 31


2.2. FONCTIONNALITES AVANCEES : ................................................................................................................ 31
2.3. AVANTAGES & BENEFICES : ...................................................................................................................... 32

3. TACHES EFFECTUEES : ................................................................................................................................ 33

3.1. CAHIER DE CHARGES : ............................................................................................................................... 33


3.2. OUTILS ET LOGICIELS : ............................................................................................................................. 33
3.2.1. Python : ................................................................................................................................................. 33
3.2.2. Django : ................................................................................................................................................. 34
3.2.3. HTML, CSS & JS : .............................................................................................................................. 38
3.2.4. MongoDB : ............................................................................................................................................ 38
3.2.5. SNMP : .................................................................................................................................................. 39
CONCLUSION : .......................................................................................................................................................... 41

CHAPITRE TROIS ..................................................................................................................................................... 42

CONCEPTION ET MODELISATION DU SYSTEME........................................................................................... 42

1. CONNECTER L’EQUIPEMENT TREDESS: ................................................................................................ 43

2. EXTRAIRE DES DONNEES DE L’EMETTEUR : ....................................................................................... 44

O COMMANDE GET : ......................................................................................................................................... 45


O COMMANDE SET : .......................................................................................................................................... 46

3. DEVELOPPEMENT DE L’APPLICATION WEB SUR DJANGO : ........................................................... 47

 VIEWS.PY......................................................................................................................................................... 50
 SETTINGS.PY ................................................................................................................................................... 50

4. BASE DE DONNEES (MONGODB) : ............................................................................................................. 51

 DJONGO ........................................................................................................................................................... 51
 MODELS.PY ..................................................................................................................................................... 52

5. DEVELOPPEMENT DES PAGES WEB : ...................................................................................................... 52

6
Réalisation d'une application de télégestion d’un émetteur TNT 2022

- STATICS ........................................................................................................................................................... 53
- DJANGO TEMPLATE LANGUAGE (DTL) : ...................................................................................................... 53
- Base.html : ................................................................................................................................................. 54
- LogIn & LogOut ....................................................................................................................................... 55
- Home page (Index.html) ........................................................................................................................... 55
- Paramètres (Settings.html)....................................................................................................................... 55
- Edit et modification .................................................................................................................................. 57

CONCLUSION ............................................................................................................................................................ 57

CONCLUSION GENERALE ..................................................................................................................................... 58

BIBLIOGRAPHIE....................................................................................................................................................... 59

ANNEXE ...................................................................................................................................................................... 60

7
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Table des Figures


FIGURE 1: SIEGE DE LA SNRT ................................................................................................................................................ 14
FIGURE 2: LES CHAINES DE TELEVISION ET STATIONS DE RADIOS DIFFUSEES PAR LA SNRT .................................................................. 15
FIGURE 3: ORGANIGRAMME DE LA SNRT. ............................................................................................................................... 16
FIGURE 4: TELEVISION ANALOGIQUE ET NUMERIQUE .................................................................................................................. 18
FIGURE 5: TELEVISION NUMERIQUE TERRESTRE ........................................................................................................................ 19
FIGURE 6: FREQUENCES DES CHAINES DE TELEVISION ÉTABLIES AU MAROC. ................................................................................... 20
FIGURE 7: UTILISATION DES PRINCIPAUX FORMATS DE DIFFUSION NUMERIQUE DANS LE MONDE. ........................................................ 21
FIGURE 8: LOGO DU CONSORTIUM DVB.................................................................................................................................. 21
FIGURE 9: SYNOPTIQUE DE LA CHAINE D'EMISSION DVB-T .......................................................................................................... 22
FIGURE 10: EMETTEUR RECEPTEUR DVB-T (LE PARAGRAPHE SUIVANT DONNERA LE DETAIL DE CES BLOCS)........................................... 23
FIGURE 11: GENERATION D’UN TRANSPORT STREAM MPEG. ..................................................................................................... 23
FIGURE 12: PAQUET DE TRANSPORT TRAIN MPEG-2. ............................................................................................................... 24
FIGURE 13: CHAINE DE CODAGE DE CANAL. .............................................................................................................................. 25
FIGURE 14: REPRESENTATION ELECTRONIQUE DE L’EMBROUILLEUR. ............................................................................................. 25
FIGURE 15: CODAGE EXTERNE ............................................................................................................................................... 25
FIGURE 16: ENTRELACEMENT EXTERNE ................................................................................................................................... 26
FIGURE 17: PRINCIPES DE L’ENTRELACEMENT ET DU DESENTRELACERENT CONVOLUTIONNELS EN DVB-T. ............................................ 27
FIGURE 18: ENTRELACEMENT INTERNE.................................................................................................................................... 27
FIGURE 19: UTILITE DE L’ENTRELACEMENT. .............................................................................................................................. 28
FIGURE 20: CONSTELLATION ET MAPPING. ............................................................................................................................... 28
FIGURE 21: CODAGE DE GRAY. .............................................................................................................................................. 28
FIGURE 22: OFDM. ........................................................................................................................................................... 28
FIGURE 23: BANDES PASSANTES DISPONIBLES POUR LA DVB-T ET LA DVB-T2. .............................................................................. 30
FIGURE 24: EMETTEUR TREDESS ............................................................................................................................................ 30
FIGURE 25: EMETTEUR TREDESS, VUE D'ARRIERE. ..................................................................................................................... 32
FIGURE 26: ARCHITECTURE DE L’APPLICATION WEB................................................................................................................... 33
FIGURE 27: L’ARCHITECTURE MVC. ....................................................................................................................................... 35
FIGURE 28: MODELE MVT................................................................................................................................................... 36
FIGURE 29: HTML, CSS ET JS. ............................................................................................................................................. 38
FIGURE 30: ARCHITECTURE SNMP. ....................................................................................................................................... 39
FIGURE 31: FONCTIONNEMENT DE SNMP. ............................................................................................................................. 40
FIGURE 32: OPERATIONS SNMP. .......................................................................................................................................... 40
FIGURE 33: EXEMPLE D'OID DANS LA MIB. ............................................................................................................................. 41
FIGURE 34: PROPRIETES DE CONNEXION. ................................................................................................................................. 43
FIGURE 35: CONFIGURATION D'ADRESSE IP. ............................................................................................................................. 43

8
Réalisation d'une application de télégestion d’un émetteur TNT 2022

FIGURE 36: COMMANDE PING. ............................................................................................................................................. 44


FIGURE 37: ADRESSE IP DE TREDESS. ...................................................................................................................................... 44
FIGURE 38: CODE DE LA COMMANDE GET. ............................................................................................................................. 45
FIGURE 39: SIMULATION DE LA CMD GET. ............................................................................................................................. 45
FIGURE 40: CODE DE LA COMMANDE SET. .............................................................................................................................. 46
FIGURE 41: SIMULATION DE CMD SET. ................................................................................................................................. 46
FIGURE 42: CREATION ET ACTIVATION D'UN VIRTUEL ENVIRONNEMENT.......................................................................................... 48
FIGURE 43: DEMARRAGE DE SERVEUR ' CMD RUNSERVER'.......................................................................................................... 48
FIGURE 44: RESULTAT OBTENU. ............................................................................................................................................. 49
FIGURE 45: REPERTOIRE DE L'APP PAGES. ................................................................................................................................ 49
FIGURE 46: SIMULATION, TEST 1ER ESSAI. ............................................................................................................................... 51
FIGURE 47: TEMPLATES. ...................................................................................................................................................... 52
FIGURE 48: STATIC. ............................................................................................................................................................ 53
FIGURE 49: DECLARATION DES TEMPLATES ET STATIC................................................................................................................. 53
FIGURE 50:BASE.HTML ........................................................................................................................................................ 54
FIGURE 51: LOGIN PAGE. ..................................................................................................................................................... 55
FIGURE 52: INDEX.HTML (HOME PAGE) .................................................................................................................................. 56
FIGURE 53: SETTINGS.HTML ................................................................................................................................................. 56
FIGURE 54: FENETRE POP-UP D'EDIT. ...................................................................................................................................... 57
FIGURE 55: MODELS.PY ....................................................................................................................................................... 61
FIGURE 56: VIEWS.PY .......................................................................................................................................................... 61
FIGURE 57: URLS.PY DE L'APPLICATION 'PAGES'......................................................................................................................... 61

9
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Liste des Abréviations


SNRT : Société Nationale de Radiodiffusion et de Télévision
TNT : télévision numérique terrestre
MPEG : Moving Picture Experts Group
DVBT : Digital Video Broad casting Terrestriel
HD : Haute Définition.
SD : Standard Définition
VHS: Video Home System
TS: Transport Stream
PAL : Phase Alternating Line
SCART : Syndicat des Constructeurs d'Appareils Radiorécepteurs et Téléviseurs
HDMI: High-Definition Multimedia Interface
OFDM: Orthogonal Frequancy Division Multiplex
PES: Packetized Elementary Stream
PUSI: Payload Unit Start Indicator
PID: Packet Identifier
FEC: Forward Error correction
RS: Reed-Solomon
QPSK: Quadrature Phase Shift Keying
QAM: Quadrature amplitude modulation
UHF: Ultra High Frequencies
VHF: Very High Frequencies
DAB: Digital Audio Broadcasting
PLP: Physical Layer Pipes
ISDB-T: Integrated Services Digital Broadcasting – Terrestrial
SFN: single frequency network
MFN: Multiple Frequency. Network
GPS: Global Positioning System

10
Réalisation d'une application de télégestion d’un émetteur TNT 2022

TPS: Transmission Parameter signalling


DEEC: Doppler Enhanced Echo Canceller
DAP : Précorrection adaptative numérique linéaire et non linéaire
MIB : Management Information Base
MVC : Modèle Vue Contrôleur
MVT : Modèle Vue Template
URL : Uniform Resource Locator
NMS: Network Management Station
OID: Object IDentifier
PYSNMP : python Simple Network Management Protocol

11
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Introduction Générale

Etant en fin de cycle de Master spécialisée en systèmes de télécommunication à la Faculté


des sciences de Kenitra, nous étions conduits à accomplir un stage de fin d’étude, pour concrétiser
notre formation. J’ai effectué ce stage au sein de la SNRT pendant 5 mois.

Dans le présent rapport de stage, mon projet est visé à la Réalisation d'une application de
télégestion d’un émetteur TNT pour le centre de Casablanca.

Dans tous les systèmes de télédiffusion, on peut voir d'une manière et d'une autre, risque de
perte d'informations, en raison de problèmes de bruit et d'interférence etc.… qui peuvent conduire
à des erreurs d'interprétations du signal par le récepteur. Donc c'est l’occasion de profiter de
l’évolution technologique pour trouver des solutions.

La Solution de télégestion pour les applications Télécommunication & Broadcast devient


essentielle pour maintenir les communications régionales, nationales et mondiales opérationnelles
de l'information du monde sur les dernières nouvelles, aux divertissements et aux services
d'urgence.

Jusqu’à récemment, pour effectuer ce suivi était de se rendre sur place dans les locaux
techniques. Maintenant, ces émetteurs sont connectés et il est donc possible d’envisager une
supervision à distance.

Mon travail durant le stage est de concevoir une application web qui permet au responsable
de monitorer et contrôler ces émetteurs TNT et d’être alerté en cas de problème.

Le travail présenté dans le présent manuscrit s’articule en trois chapitres, le premier est un
chapitre dans lequel on présentera le contexte de l’entreprise, Le deuxième explique d’une
manière précise le contexte général de sujet tel que la transmission terrestre, étude sur le matériel
et la technologie utilisés, tandis que le troisième est dédié à la partie pratique de conception de site
web.

12
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Dans ce chapitre on trouvera une présentation générale sur la


SNRT, les services que provident et l’organigramme de cette
société ou j’ai effectué mon stage.

13
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Présentation de l’organisme d’accueil


Nous allons commencer par présenter l’organisme d’accueil dans lequel nous avons effectué notre
stage : La société nationale de radiodiffusion et de télévision.

1.1. La SNRT

La SNRT est une société anonyme dont le capital social est totalement détenu par l'Etat. C’est
une société nationale de l’audiovisuel qui appartient au secteur public pour le but d'exécuter la
politique de l'Etat dans le domaine de la télédiffusion, radiodiffusion, la publicité et la production
des programmes. Elle peut créer des filiales qui peuvent exercer une ou plusieurs activités citées
ci-dessus

Cette société vise à satisfaire les besoins


du public à travers des programmes
éducatifs, culturels, sportifs qui se
caractérisent par leur diversité linguistique
et ciblant les différentes tranches d’âge
particulièrement les jeunes. Elle favorise
aussi la création originale et production
cinématographique et musicale nationale et
ses programmes sont diffusés sur l'ensemble
du territoire national. Figure 1: Siégé de la SNRT

1.2. Services de la SNRT :

1.2.2. La télédiffusion :
Composée de services nationaux et internationaux et de services régionaux suivants :

• La chaîne de télévision nationale marocaine "Al Aoula", diffusée par voie hertzienne
terrestre et par satellite.

• La chaîne de télévision nationale sportive qui diffuse les événements sportifs au Maroc :
"Arryadia".

• La chaîne de télévision nationale thématique éducative : "Arrabiâ"

• La chaîne de télévision nationale religieuse : "Chaîne Mohammed VI du Saint Coran


:"Assadissa".

• La chaîne de télévision nationale consacrée au cinéma national


et international :"AflamTV".

• La chaîne de télévision nationale pour la promotion et la préservation de la culture amazighe


au Maroc et dans la région de l’Afrique du Nord dite "Tamazight TV".

14
Réalisation d'une application de télégestion d’un émetteur TNT 2022

• La chaîne de télévision pour la rediffusion de meilleures émissions TV de la SNRT :"Al


Maghribiya".

• La chaîne de télévision régionale : Laâyoune.

1.2.3. La radiodiffusion :
Composée de services de radiodiffusion régionaux et nationaux suivants :

• La radio nationale marocaine.

• La radio nationale d'expression amazigh.

• La radio "Rabat chaîne inter".

• La radio nationale de diffusion du Saint Coran :"la radio Mohammed VI du SaintCoran".

• Les radios régionales : "Radio Casablanca, Agadir, Tanger, Ouarzazate, Laâyoune, …".

Figure 2: Les chaînes de télévision et stations de radios diffusées par la SNRT

1.2.4. Programmation :
La SNRT propose une programmation radiophonique et télévisée diversifiée. Parmi ces
programmes on cite :

• Journaux d’information politique et générale.

• Programmes consacrés à a religion.

• Emissions sportives.

• Magazines culturels et œuvres cinématographiques.

• Programmes dédiés à l’enfance et aux jeunes.

15
Réalisation d'une application de télégestion d’un émetteur TNT 2022

1.2.5. La Publicité :
La SNRT est autorisée à diffuser des publicités pendant ses programmes diffusés sur le radio
ou la télévision. Les séquences publicitaires sont séparées des programmes et leur durée dépend de
la nature du programme diffusé. Ces séquences peuvent être insérées entre ou au sein des
émissions mais ne peuvent pas interrompre les journaux d’information ou les émissionspolitiques.

1.3. Organigramme de la SNRT

La Société Nationale de Radiodiffusion et de Télévision est représentée par l’organigramme


suivant :

Figure 3: Organigramme de la SNRT.

J’ai effectué mon stage au sein du département de télédiffusion qui s’occupe de la


transmission des signaux de télévision par faisceaux hertziens ou par satellites. Elle s’occupe aussi
de la diffusion de la Radio AM et FM.

Conclusion :

Dans ce chapitre, on a abordé la structure interne de l’organisme d’accueil, ainsi on a donné


un aperçu global sur l’entreprise, dans le chapitre suivant on va détailler le concept de la TNT et
les différentes technologies qui vont avec, nous terminons par annoncer le cahier des charges.

16
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Ce chapitre approfondit le terme TNT et la norme DVBT. Aussi


ce chapitre présente un recueil d’informations sur l’émetteur
utilisé TREDESS et ses techniques, après on va aborder le cahier
des charges et énumérer les différents objectifs atteindre.

17
Réalisation d'une application de télégestion d’un émetteur TNT 2022

1. La Transmission terrestre :
Au Maroc le pôle public de l'audiovisuel, représenté par la SNRT (société nationale de
radiodiffusion et de télévision) a réalisé un le basculement de l'analogique vers le tout numérique
par le lancement de la TNT (télévision numérique terrestre). Le Maroc, ainsi que les pays de la
région Maghreb ont déjà passé au tout-numérique. Le pôle public a techniquement numérisé tous
ses chaines.

1.1. Télévision Numérique Terrestre (TNT)

La télévision numérique est le pendant numérique de la télévision analogique, c'est-à-dire que


les informations de son, d'images, et autres, sont transmises sous forme de nombres binaires. En
d’autres termes, la Télévision Numérique Terrestre (TNT) est une technologie de diffusion qui
permet de recevoir la télévision en qualité numérique par une antenne râteau. Elle remplacera à
terme la télévision habituelle dite « analogique » telle que nous la connaissons. Ainsi grâce aux
émetteurs numériques installés sur le territoire, la population pourra recevoir, gratuitement jusqu’à
20 chaînes nationales et éventuellement des chaines locales. La diffusion en analogique nécessite
une bande de fréquence large pour le transport des signaux et exige une fréquence par chaîne alors
que la TNT permet de diffuser plusieurs chaînes (15 à 20) sur une seule fréquence.

Figure 4: télévision analogique et numérique

L’arrêt de la diffusion analogique permettra surtout de libérer des fréquences pour d’autres
usages à valeur ajoutée (Internet mobile à haut débit, applications de nouvelles générations etc.)
On parle alors de « Dividende numérique ».

Techniquement, qu’est-ce qui change ?

La TNT passera toujours par les ondes recevables sur l’antenne râteau disposé sur le toit de
votre maison, mais c’est simplement la façon dont les signaux sont envoyés qui change. Les ondes
ne sont pas envoyées de manière analogique mais numérique, ce qui est plus performant.

18
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Figure 5: Télévision Numérique Terrestre

Avec la TNT, les utilisateurs auront :

 Une meilleure qualité d’image grâce au mode diffusion qui sera numérisé ;
 Une réception sans interférence ;
 Un accès garanti sur l’ensemble du territoire, un plus large choix de programmes ;
 De nouveaux services (Guide de programme, Archivage, Internet, VOD, Accès aux
bandothèques des diffuseurs, etc.)
Les avantages du passage au numérique :

 Le passage à la Télévision numérique terrestre comporte énormément d’avantages.


 La qualité de l’image est au moins cinq (5) fois meilleure qu’en analogique, en particulier
avec une bonne réception, en raison de l’élimination des interférences visibles et d’autres
effets tels que les images fantômes. Il est plus facile d’obtenir une qualité d’image
optimale numérique qu’une qualité d’image optimale analogique.
 Beaucoup plus de chaînes peuvent tenir sur le même spectre dans la transmission
numérique : ceci conduit à la fois à une augmentation du nombre de chaînes, ainsi qu’à la
libération de certaines portions du spectre hertzien (dividende numérique)
 Certaines chaînes peuvent diffuser leurs programmes en haute définition (HD).
 En plus d’une meilleure couverture nationale, le décrochage régional ouvre de nouvelles
possibilités d’éditer des programmes mieux adaptés aux besoins des populations dans leur
diversité.
 La transmission de la télévision en numérique est plus efficace en termes de consommation
d’énergie que la transmission en analogique.

19
Réalisation d'une application de télégestion d’un émetteur TNT 2022

 De nouveaux services (peuvent être fournis Guide de programme, Archivage, Internet,


VOD, Accès aux bandothèques des diffuseurs, etc.) ainsi que des services interactifs
(HbbTV, « Bouton rouge », etc.).
 La mise en place d’une infrastructure partagée de transport et diffusion numérique et
multimédias engendre une nouvelle chaine de valeur plus réaliste et professionnelle.
 L’archivage national numérique structuré de toutes les œuvres audiovisuelles devient une
réalité sans ressource supplémentaire pour les éditeurs audiovisuels.
 La transition s’accompagne d’un volet harmonisation du cadre juridique régissant les
secteurs de l’audiovisuel, des Télécommunications.
 La transition offre un cadre propice pour structurer et financer le développement d’une
industrie de production audiovisuelle locale de qualité dans un environnement économique
viable.

1.2. Fréquences et Canaux des Chaînes de Télévision Établies au Maroc

Figure 6: Fréquences des Chaînes de Télévision Établies au Maroc.

20
Réalisation d'une application de télégestion d’un émetteur TNT 2022

1.3. La norme DVB-T

La télévision numérique terrestre (TNT) est la dénomination française désignant les systèmes de
diffusion numérique de la télévision via un réseau d'émetteurs terrestres.

La transmission se fait selon la norme DVB-T pour Digital Video Broadcasting – Terrestrial dans
la plage de 474 à 858 MHz de la bande UHF, divisée en canaux de largeur 8 MHz.

1.3.2. Introduction :
Digital Video Broadcasting (abrégé en DVB, et qu'on
pourrait traduire par « diffusion vidéo numérique »), est un
ensemble de normes de télévision numérique édictées par
le consortium européen DVB, et utilisées dans un grand
nombre de pays. Ses principales concurrentes sont les
normes ATSC (utilisées aux États-Unis et au Canada) et
les normes ISDB (utilisées au Japon et au Brésil).

Figure 8: Logo du consortium DVB.

Figure 7: Utilisation des principaux formats de diffusion numérique dans le monde.

1.3.3. Fonctionnement :
En sortie de studio, le signal numérique n'est pas encore exploitable pour la transmission
télévisuelle. Ces signaux sont traités par des codeurs afin de séparer la vidéo, la ou les pistes
audio(s) ainsi que le télétexte. Le codage comprend aussi une partie compression de données, et
pour cela, la plus utilisée aujourd’hui est encore la norme MPEG-2 qui se voit lentement
remplacée par la norme MPEG-4.

21
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Ensuite, tous ces services codés sont multiplexés afin d’y ajouter d’autres fonctionnalités telles
que les sous-titres DVB, les applications interactives, l’accès conditionnel permettant la protection
du contenu, la protection de l’individu par type de contenu (enfant, adulte…) et sa
commercialisation.

Durant le processus de multiplexage, les différents services (chaînes, jeux, radio…) sont
assemblés en flux de transport (TS, Transport Stream) par l’adjonction des tables DVB. Chaque
TS peut ainsi transporter jusqu’à 20 chaînes de télévision, voire plus, dépendant du mode de
transport et de la qualité de codage voulus.

Une fois ce processus terminé, ces flux sont transmis soit sous la forme d’un bouquet numérique
vers les clients finaux qui devront donc posséder un décodeur (Set-top box) compatible qui fera le
processus inverse : démultiplexage, vérification des droits d’accès, décodage et transmission vers
la télévision, soit par un modulateur PAL, soit par une sortie Péritel (SCART), soit par une sortie
HDMI ou encore sous la forme d’un signal composite pour la vidéo et analogique pour l’audio.

Globalement, la norme DVB entre donc en jeu depuis la mise en multiplex jusqu’à la sortie du
décodeur final.

Figure 9: synoptique de la chaine d'émission DVB-T

22
Réalisation d'une application de télégestion d’un émetteur TNT 2022

1.3.4. Chaine d’émission DVB_T:


En général le système DVB-T est défini comme un bloc fonctionnel d’équipement réalisant
l’adaptation des signaux TV en bande de base en sortie du multiplexeur de transport MPEG-2, aux
caractéristiques du canal terrestre.

Figure 10: Emetteur Récepteur DVB-T (le paragraphe suivant donnera le détail de ces blocs).

Le traitement suivant est appliqué aux flux de données :


 Adaptation du multiplex de transport et brassage
 Codage externe
 Entrelacement externe
 Codage interne
 Entrelacement interne
 Mapping et modulation
 Transmission OFDM

La numérisation des signaux étant faite, il nous reste les transmettre dans le même train binaire.
Généralement, on dispose de deux signaux numériques compressés, l'un vidéo et l'autre audio, il
faut les transmettre dans le même train binaire. Pour cela les deux éléments devront être
synchronisés afin que la restitution de la parole soit en phase avec l'image. Des marqueurs
temporels sont associés à chacune des composantes, ces marqueurs indiqueront l'instant auquel les
informations devront être décodés et joués. Par ailleurs, il est impératif que ces deux signaux
partagent la même horloge de référence.

Le PES (Packetized Elementary Stream) est un paquet de données composé d'un en-tête et
d'une charge ; OverHead + payload. La charge contient des données qui n'appartiennent qu'à une
seule des composantes à transmettre (frames audio ou images vidéo), l'en tête est fixe alors que la
charge peut être de longueur variable mais ne doit pas dépasser 64ko.

Figure 11: Génération d’un transport Stream MPEG.

23
Réalisation d'une application de télégestion d’un émetteur TNT 2022

- Paquets de transport:
Pour assurer l'efficacité d'un code correcteur d'erreur, il faut transmettre l'information par
paquet de longueur relativement courte. La taille est de 188 octets pour les paquets du train binaire
MPEG-2 ; chaque paquet peut alors contenir des données relatives à n'importe quelle composante
(vidéo, audio, PAT, télétexte...).

Figure 12: Paquet de transport train MPEG-2.

 la charge (les PES) est donc au maximum de 184 octets.

 Chaque paquet commence par un octet de synchronisation 0x47 qui permet donc au récepteur
de se synchroniser sur le flux binaire.

 PUSI (Payload Unit Start Indicator) indique si le paquet correspond à un point d'entrée dans
le flux élémentaire (ce drapeau indique le début d'un PES).

 Chaque paquet est identifié par son PID (Packet Identifier), Pour récupérer une composante
élémentaire, il suffit de récupérer tous les paquets qui portent le même PID et de mettre les
charges bout à bout.

 Quatre bit d'en-tête constituent un compteur de continuité (CC) permet d'être sûr de récupérer
tous les paquets d'un même PID dans l'ordre.

 Les PES de taille variable sont décomposés en multiple de 184 octets afin d'être insérer dans le
train binaire MPEG-2. Il devient donc nécessaire d'adapter la taille de la charge de certains
paquets, pour cela, le champ d'adaptation permet d'inclure des octets de bourrage afin de
réduire la taille de la charge (cas du dernier paquet du PES qui ne serait pas un multiple de 184
octets).

- Codage de canal :
Le codage de source abordé jusque-là consistait à mettre en forme le signal avant diffusion.
Cette diffusion utilise un canal qui apporte généralement des dégradations au message d'origine,
âpres on a compresser les données afin de rendre le transport compatible avec la taille du canal , la
compression supprime une grande partie de la redondance naturelle du signal : il ne reste donc
plus qu'une information sensibles aux perturbations , Il est donc nécessaire d'utiliser une partie de

24
Réalisation d'une application de télégestion d’un émetteur TNT 2022

la bande passante pour émettre des informations redondantes qui permettront de corriger
d'éventuelles erreurs. Pour cela, un codage FEC (Forward Error correction) est utilisé.

Figure 13: chaine de codage de canal.

Inversion de bloc: Les différentes fonctions vont aller en ordre croissant de difficulté de
réalisation, commençons donc par la plus simple Inversion de l'octet de synchronisation tous les
huit paquets. 0xB8 à la place de 0x47.

Dispersion d'énergie : La dispersion d'énergie


permet d'éviter la transmission d'une longue
suite de 1 ou de 0, le signal est donc rendu
quasi-aléatoire par embrouillage de polynôme
générateur . g(x) = 1 + x^14 + x^15

Tous les huit paquets, l'embrouilleur est


initialisé avec la séquence 100 1010 1000 0000,
les octets de synchronisation ne sont pas
embrouillés. La période de la séquence pseudo-
aléatoire est de 1503 octets. Figure 14: Représentation électronique de l’embrouilleur.

La partie supérieure représente la séquence pseudo-aléatoire, c'est quinze bascules en séries dont
les sorties 14 et 15 sont injectées dans une porte logique ou exclusive, le résultat est ensuite
envoyé sur l'entrée de la fonction. La porte logique ET permet de valider ou non la fonction de
dispersion d'énergie (Enable). Cette séquence aléatoire est ensuite additionnée exclusivement (ou
exclusif) avec le train binaire. La fonction d'embrouillage et de désembrouillage est la même dans
ce cas.

- Outer coder (codage externe) :

Figure 15: codage externe

25
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Codage détecteur correcteur d’erreur consiste à insérer des bits de redondance dans le message
initiale pour protéger des bruits présents dans le canal et permettant de récepteur de détecter les
erreurs et de les corriger.
Le codage utilisé en DVB-T est le code Reed-SolomonRS(204,188,T=8)
Dans un cas général le codage de Reed-Solomon est caractérisé par RS(n,k,2t)
avec: n:taille du bloc après codage.
k: taille du bloc d’origine
t : est le nombre de symboles corrigibles.
Le code utilisé pour la TNT est adapté aux erreurs en rafales introduites par le canal de
transmission. Le code Reed-Solomon ajoute 16 octets de redondance au paquet du train MPEG-2
portant à 204 la longueur des séquences. C'est donc un code RS(204, 188, t=8) qui est utilisé et
qui permet de corriger jusqu'à 8 octets erroné par paquet.

Exemple :

Imaginons un bloc de 6 octets de long et que l'on transmet : 02 09 12 05 07 08

 On ajoute deux octets de redondance.


 Le premier est la somme des 6 octets (=43)
 Le deuxième est la somme pondérée des 6 octets : chaque octet est multiplié par son rang :
2*1 + 09*2 + 12*3 + 5*4 + 7*5 + 8*6 soit 159.
 A la sortie du codeur le bloc devient : 02 09 12 05 07 08 43 159
 Suite à une perturbation, le récepteur reçoit le bloc : 02 09 12 08 07 08 43 159
 Le décodeur fait la somme simple 02+09+12+08+07+08 = 46 et la somme pondérée
 2*1 +9*2+12*3+8*4+7*5+8*6 = 171
 La différence des sommes simples (46 - 43) donne la valeur de l'erreur (=3) et la différence
des sommes pondérées divisée par l'erreur est égale à au rang de l'erreur ((171-159)/3=4).
 Il faut donc retirer 3 à l'octet de rang 4 Sans erreur de transmission, la différence des sommes
simples et sommes pondérées est nulle dans les 2 cas.

- Outer interleaver (Entrelacement externe):

Figure 16: Entrelacement externe


Un code a une capacité de correction de paquets d’erreur très inférieurs a la capacité de correction
d’erreurs isolés.

26
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Pour éviter les paquets d’erreurs très importants les échantillons proches les uns des autres sont
séparés avant la transmission.

Figure 17: Principes de l’entrelacement et du désentrelacèrent convolutionnels en DVB-T.

- Inner coder (codage interne) :


Comme le canal de transmission est un canal fortement perturbé (propagation par trajet multiples,
effet doppler…), un deuxième code correcteur d’erreur est ajouté pour améliorer les performances
du système.

Le code employé est un code convolutif, chaque bloc du code dépend non seulement des blocs
présents à l’entrée mais aussi de blocs précédents.il y a introduction d’un effet de mémoire.

- Inner interleaver (Entrelacement interne):

Figure 18: Entrelacement interne

Entrelacement symbole : permet de supprimer la corrélation des erreurs sur des symboles transmis
sur des porteuses consécutives du même symbole OFDM (pour éviter d’avoir plusieurs symboles
consécutifs perdus dans les trous du signal reçu).

27
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Figure 19: utilité de l’entrelacement.

- Mapper(constellation et mapping) :

Figure 20: constellation et mapping.


permet de associer les groupes 2/4/6 a 1 état Amplitude –Phase de la modulation, le système
DVB-T utilise une modulation OFDM (orthogonal Frequancy Division Multiplex) .toutes les
porteuses de données dans une trame OFDM sont modulées en :

 QPSK
 16QAM
 64 QAM

Figure 21: codage de Gray.

- Structure de la trame OFDM :

Figure 22: OFDM.

28
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Le signal transmis est organisé en trames. Chaque trame OFDM d’une durée Tf constituée de 68
symboles OFDM.

• Tous les symboles OFDM contiennent des données et des informations de référence.
• Comme le signal OFDM comprend un grand nombre de porteuse modulées
individuellement, chaque symbole OFDM peut être considéré comme divisé en cellules,
chacune correspondant à la modulation véhiculée par une porteuse durant un symbole.

Une trame OFDM transporte :

o Des données.
o Des cellules pilotes dispersées.
o Des porteuses pilotes continuelles.
o Des porteuses TPS(Transmission Parameter signalling).

1.3.5. Le multiplexage COFDM:


(Coded Orthogonal Frequency-Division Multiplexing) est un procédé qui divise un canal à
large bande en plusieurs sous-canaux ou sous-porteuses étroits et discrets. Il est idéal pour les
canaux de diffusion terrestres, tels que la radio et la télévision, en partie parce qu'il peut gérer des
niveaux élevés de propagation par trajets multiples. Caractéristique inhérente à la radiodiffusion,
la propagation par trajets multiples se produit lorsqu'un signal sans fil rencontre des obstacles tels
que des arbres et des bâtiments, ce qui le divise en plusieurs trajets. Habituellement, cela peut
entraîner des problèmes tels que des interférences ou une dégradation, bien que COFDM soit apte
à atténuer ces défis.COFDM peut prendre en charge des réseaux à fréquence unique, permettant à
plusieurs émetteurs d'envoyer le même signal sur la même fréquence. Il peut également gérer
efficacement les interférences à bande étroite Co-canal qui se produisent lorsque deux émetteurs
utilisent le même canal causés par des porteuses analogiques.

- Différence entre OFDM et COFDM :


COFDM est identique à OFDM avec une différence clé : avant la transmission du signal, une
correction d'erreur directe (FEC) lui est appliquée. L'objectif est de surmonter toutes les erreurs de
transmission dues aux pertes de porteuse causées par le bruit du canal, l'évanouissement sélectif en
fréquence ou d'autres problèmes de propagation.

1.3.6. DVB-T2 :
DVB-T2 est la norme de 2ème génération pour la télévision numérique terrestre, offrant des
avantages significatifs par rapport au DVB-T. L'émergence du DVB-T2 est motivée par l'efficacité
spectrale plus élevée que ce soit pour un passage de la TV analogique au DVB-T2, que ce soit
pour un passage du DVB-T au DVB-T2.Une efficacité spectrale plus élevée signifie qu'avec la
même quantité de spectre, un plus grand nombre de programmes peuvent être diffusés ou le même
nombre de programmes diffusés avec une meilleure qualité audio/vidéo ou qualité de couverture.

- Différences entre DVB-T et DVB-T2:


Par rapport au DVB-T, les paramètres DVB-T2 COFDM ont été étendus pour inclure :

29
Réalisation d'une application de télégestion d’un émetteur TNT 2022

 Nouvelle génération de correction d'erreur directe (FEC) (protection contre les erreurs) et
constellations supérieures (256-QAM) entraînant un gain de capacité de 25 à 30 %.
 Augmentation de la porteuse OFDM de 8k à 32k. En SFN, l'intervalle de garde de 1/16 au
lieu de 1/4 résultant en un gain d'environ 18 %.
 Nouvelles fractions d'intervalle de garde : 1/128, 19/256, 19/128.
 Le DVB-T2 permet également trois nouvelles largeurs de bande de signal : 1,7 MHz,5 MHz
et 10 MHz.
 Le système DVB-T2 offre également un certain nombre de nouvelles fonctionnalités pour une
polyvalence améliorée et robustesse dans des conditions de réception critiques telles que :
o Les constellations tournées, qui fournissent une forme de diversité de modulation, pour
aider à la réception de signaux à taux de code plus élevé dans des canaux de transmission
exigeants.
o des techniques spéciales pour réduire le rapport de puissance crête à moyenne (PAPR) de
la transmission du signal résultant en un meilleur rendement des amplificateurs de forte
puissance.
o Mode de transmission à entrées multiples et à sortie unique (MISO).

Figure 23: Bandes passantes disponibles pour la DVB-T et la DVB-T2.

2. Emetteur TREDESS :
TRedess Fourth Series est une famille d'émetteurs UHF et VHF refroidis par air, de
traducteurs/transmetteurs et de remplisseurs d'espace (pour TNT et DAB+), qui associent des
performances de haute qualité, une modularité, une flexibilité, une compacité exceptionnelle et
une installation et un fonctionnement intelligents, grâce à son architecture autonome tout-en-un
(excitateur et amplificateur sur le même châssis). TRedess Fourth Series Low Power fournit des
plages de puissance de sortie jusqu'à 400 W (500 W pour ATSC 1.0) et couvre les normes DVB-
T/T2, ISDB-T/Tb et ATSC 1.0/3.0, pour les réseaux MFN et SFN.

Figure 24: Emetteur Tredess

30
Réalisation d'une application de télégestion d’un émetteur TNT 2022

2.1. Les caractéristiques :

 Haut niveau de compacité :

- jusqu'à 10W/25W/40W/75W (100W pour ATSC 1.0) en 1RU.


- jusqu'à 150W (classe AB) / 120W (Doherty) ou (200W pour ATSC 1.0) en 2RU.
- jusqu'à 275W (classe AB) / 400W (Doherty) ou (500W pour ATSC 1.0) en 3RU.

 Ultra-Wide-Band Doherty pour émetteurs 120W et 400W : efficacité énergétique de première


classe avec le même HW pour toute la bande TV UHF (opération facile et optimisation des
pièces de rechange).

 Prise en charge des modulations DVB-T/-T2, ISDB-T/-Tb et ATSC 1.0/3.0. Fonctionnement


MFN et SFN. Changement simple de T à T2 (juste avec le clic d'un bouton sur un menu
d'affichage).

 Norme DAB+ prise en charge.

 Redondance d'alimentation (en option) : bloc d'alimentation hot-plug extractible en unités de


275 W (300 W ATSC 1.0) et 400 W (500 W ATSC 1.0).

 2 entrées TS sur IP et 2 entrées ASI ou 2 entrées SMPTE (par défaut) avec commutation
transparente.

 Précorrection numérique linéaire et non linéaire.

 Annulation d'écho intégré DEEC capable de garantir : Gain Margin = 24 dB. Annulation d'écho
Doppler. Configuration de fenêtre sélective jusqu'à 37 us.

2.2. Fonctionnalités avancées :

 La technologie Doherty à large bande est également disponible dans la gamme basse puissance
de la quatrième série (120 W et 400 W).

 Fonctionnalité de redondance Dual Drive et 1+1 / N+1 en option, basée sur une architecture
distribuée

 Pas besoin d'unité supplémentaire pour gérer la commutation, économiser les coûts, l'espace
rack et réduire les points de défaillance, car « l'intelligence » pour la commutation est
distribuée dans les émetteurs du système.

 Fonctionnalité complète de contrôle à distance pour une utilisation à distance facile : y compris
une interface Web intelligente, un agent SNMP et une interface de contacts d'E/S.

 Même HW pour le fonctionnement que SFN Gap Filler et MFN Transposer.

 Entrée RF terrestre intégrée en option (DVB-T/T2) : permet le SFN DVB-T2

31
Réalisation d'une application de télégestion d’un émetteur TNT 2022

 Fonctionnement du transposeur régénératif basé sur l'encapsulation T2-MI + Mode A.

 Plusieurs PLP pris en charge (jusqu'à 8 PLP) en DVB-T2.

 Fonctionnement sans GPS SFN supplémentaire avec verrouillage du débit BTS dans ISDB-
T/Tb.

 Option récepteur GNSS intégré.

 Entrée satellite intégrée en option (DVB-S/S2) avec CAM

2.3. Avantages & Bénéfices :

 Les principaux avantages du TRedess Fourth Series Low Power sont sa compacité, l'installation
et le fonctionnement très faciles, ainsi que les performances RF exceptionnelles des émetteurs
et des Gap Fillers.

 Les unités sont également compactes et très modulaires (donc évolutives), grâce à plusieurs
options intégrées en option : comme les récepteurs GNSS, l'entrée DVB-T/T2, l'entrée DVB-
S/S2, etc.

 La fiabilité du système est également élevée car les configurations de redondance Dual Drive,
1+1 et N+1 sont disponibles ainsi que la redondance de l'alimentation.

 Interface graphique très intuitive permettant un contrôle et un fonctionnement complets de


l'émetteur, avec un affichage en temps réel du spectre de sortie, des valeurs d'efficacité, de
MER et d'épaule, à la fois localement et à distance.

 Les TRedess Gap Fillers sont également une source intéressante d'économies de coûts car,
grâce à l'inclusion de la meilleure annulation d'écho disponible sur le marché (permettant
l'annulation des niveaux d'écho élevés et des échos multi-trajets avec une qualité MER de sortie
optimale), ils permettent :
- TRedess Gap Filler pour fonctionner en SFN dans des scénarios où d'autres fabricants
ne pourraient installer qu'un Transmette, ce qui conduit clairement à des économies de
coûts importantes sur le site.
- pouvoir utiliser une puissance de sortie plus élevée sur le même site Gap Filler
atteignant ainsi une plus grande couverture
- un fonctionnement plus stable sur le site, de sorte que les performances à long terme du
Gap filler ne soient pas affectées par les fluctuations du signal d'entrée, de nouveaux
échos apparaissant, etc.

Figure 25: Emetteur Tredess, vue d'arrière.

32
Réalisation d'une application de télégestion d’un émetteur TNT 2022

3. Taches effectuées :
3.1. Cahier de charges :

Réalisation d'une application de télégestion pour un l'émetteur Tredess pour le centre de


Casablanca.

Ce projet doit d'être programmer en langage Python, dont on va utiliser le Framework Django
qui connut par la sécurité et la création des applications web et l'accessibiliser à leurs Frontend et
backend. Alors Django nous permet d’implémenter des pages HTML qu’on va construire.

Pour la liaison entre Django et l’émetteur Tredess, on va utiliser le protocole SNMP qui va
nous permet d’obtenir les informations et les paramètres depuis l’émetteur, aussi de les modifier
s’il est possible.

Figure 26: Architecture de l’application Web.

3.2. Outils et Logiciels :

3.2.1. Python :

Est un langage de programmation open source créé par le programmeur Guido


van Rossum en 1991. Il tire son nom de l’émission Monty Python’s Flying Circus.

33
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Il s’agit d’un langage de programmation interprété, qui ne nécessite donc pas d’être compilé pour
fonctionner. Un programme » interpréteur » permet d’exécuter le code Python sur n’importe quel
ordinateur. Ceci permet de voir rapidement les résultats d’un changement dans le code. En
revanche, ceci rend ce langage plus lent qu’un langage compilé comme le C.

En tant que langage de programmation de haut niveau, Python permet aux programmeurs de se
focaliser sur ce qu’ils font plutôt que sur la façon dont ils le font. Ainsi, écrire des programmes
prend moins de temps que dans un autre langage. Il s’agit d’un langage idéal pour les débutants.

Le langage Python doit sa popularité à plusieurs avantages qui profitent aussi bien aux débutants
qu’aux experts. Tout d’abord, il est facile à apprendre et à utiliser. Ses fonctionnalités étant peu
nombreuses, il permet de créer des programmes rapidement et avec peu d’efforts. En outre, sa
syntaxe a été conçue pour être lisible et simple.

Un autre avantage de Python concerne sa popularité. Ce langage fonctionne sur tous les principaux
systèmes d’exploitation et plateformes informatiques. En outre, même s’il ne constitue clairement
pas le langage le plus rapide, il compense sa lenteur par sa polyvalence.

Enfin, même s’il sert principalement à la création de scripts et à l’automatisation, ce langage


permet également de développer des logiciels de qualité professionnelle. Des applications aux
services web, Python devient l’outil d’un grand nombre de développeurs pour créer des logiciels.

Qu’est-ce qu’un Framework ?

Un Framework est un ensemble d’outils qui simplifie le travail d’un développeur. Traduit
littéralement de l’anglais, un Framework est un « cadre de travail ». Il apporte les bases communes
à la majorité des programmes ou des sites web. Celles-ci étant souvent identiques (le
fonctionnement d’un espace membres est commun à une très grande majorité de sites web de nos
jours), un développeur peut les réutiliser simplement et se concentrer sur les particularités de son
projet. Il s’agit donc d’un ensemble de bibliothèques coordonnées, qui permettent à un
développeur d’éviter de réécrire plusieurs fois une même fonctionnalité, et donc d’éviter de
réinventer constamment la roue. Inutile de dire que le gain en énergie et en temps est considérable.

3.2.2. Django :
Django est un Framework Web Python de haut niveau qui
encourage un développement rapide et une conception propre et
pragmatique. Construit par des développeurs expérimentés, il prend
en charge une grande partie des tracas du développement Web,
vous pouvez donc vous concentrer sur l'écriture de votre application
sans avoir à réinventer la roue. C'est gratuit et open source.

Ridiculement rapide.

Django a été conçu pour aider les développeurs à faire passer les applications du
concept à l'achèvement le plus rapidement possible.

34
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Sécurité rassurante.

Django prend la sécurité au sérieux et aide les développeurs à éviter de nombreuses


erreurs de sécurité courantes.

Excessivement évolutif.

Certains des sites les plus fréquentés du Web tirent parti de la capacité de Django à
évoluer rapidement et de manière flexible.

- L’architecture MVC :

Lorsque nous parlons de Framework qui fournissent


une interface graphique à l’utilisateur (soit une page
web, comme ici avec Django, soit l’interface d’une
application graphique classique, comme celle de votre
traitement de texte par exemple), nous parlons
souvent de l’architecture MVC. Il s’agit d’un modèle
distinguant plusieurs rôles précis d’une application,
qui doivent être accomplis. Comme son nom
l’indique, l’architecture (ou « patron ») Modèle- Vue- Figure 27: l’architecture MVC.
Contrôleur est composé de trois entités distinctes, chacune ayant son propre rôle à remplir. Tout
d’abord, le modèle représente une information enregistrée quelque part, le plus souvent dans une
base de données. Il permet d’accéder à l’information, de la modifier, d’en ajouter une nouvelle, de
vérifier que celle-ci correspond bien aux critères (on parle d’intégrité de l’information), de la
mettre à jour, etc. Il s’agit d’une interface supplémentaire entre votre code et la base de données,
mais qui simplifie grandement les choses, comme nous le verrons par la suite. Ensuite la vue qui
est, comme son nom l’indique, la visualisation de l’information. C’est la seule chose que
l’utilisateur peut voir. Non seulement elle sert à présenter une donnée, mais elle permet aussi de
recueillir une éventuelle action de l’utilisateur (un clic sur un lien, ou la soumission d’un
formulaire par exemple). Typiquement, un exemple de vue est une page web, ni plus, ni moins.
Finalement, le contrôleur prend en charge tous les événements de l’utilisateur (accès à une page,
soumission d’un formulaire, etc.). Il se charge, en fonction de la requête de l’utilisateur, de
récupérer les données voulues dans les modèles. Après un éventuel traitement sur ces données, il
transmet ces données à la vue, afin qu’elle s’occupe de les afficher. Lors de l’appel d’une page,
c’est le contrôleur qui est chargé en premier, afin de savoir ce qu’il est nécessaire d’afficher.

- La spécificité de Django :

L’architecture utilisée par Django diffère légèrement de l’architecture MVC classique. En effet, la
« magie » de Django réside dans le fait qu’il gère lui-même la partie contrôleur (gestion des
requêtes du client, des droits sur les actions…). Ainsi, nous parlons plutôt de Framework utilisant
l’architecture MVT : Modèle-Vue-Template. Cette architecture reprend les définitions de modèle
et de vue que nous avons vues, et en introduit une nouvelle : le Template (voir figure suivante).

35
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Un Template est un fichier HTML, aussi appelé en français « gabarit ». Il sera récupéré par la vue
et envoyé au visiteur ; cependant, avant d’être envoyé, il sera analysé et exécuté par le Framework,
comme s’il s’agissait d’un fichier avec du code. Django fournit un moteur de Template très utile
qui permet, dans le code HTML, d’afficher des variables, d’utiliser des structures conditionnelles
(if/Else) ou encore des boucles (for), etc.

Figure 28: Modèle MVT.

Concrètement, lorsque l’internaute appelle une page de votre site réalisé avec Django, le
Framework se charge, via les règles de routage URL définies, d’exécuter la vue
correspondante. Cette dernière récupère les données des modèles et génère un rendu
HTML à partir du Template et de ces données. Une fois la page générée, l’appel fait
chemin arrière, et le serveur renvoie le résultat au navigateur de l’internaute. On
distingue les quatre parties qu’un développeur doit gérer :

 Le routage des requêtes, en fonction de l’URL.

 La représentation des données dans l’application, avec leur gestion (ajout, édition,
suppression…), c’est-à-dire les modèles.

 L’affichage de ces données et de toute autre information au format HTML, c’est-à-dire les
Template.

Le lien entre les modèles et les Template :

La vue qui récupère les données et génère le Template selon celles-ci. On en revient donc au
modèle MVT. Le développeur se doit de fournir le modèle, la vue et le Template. Une fois cela
fait, il suffit juste d’assigner la vue à une URL précise, et la page est accessible. Si le Template est
un fichier HTML classique, un modèle en revanche sera écrit sous la forme d’une classe où
chaque attribut de celle-ci correspondra à un champ dans la base de données. Django se chargera
ensuite de créer la table correspondante dans la base de données, et de faire la liaison entre la base
de données et les objets de votre classe. Non seulement il n’y a plus besoin d’écrire de requêtes
pour interagir avec la base de données, mais en plus le Framework propose la représentation de
chaque entrée de la table sous forme d’une instance de la classe qui a été écrite. Il suffit donc
d’accéder aux attributs de la classe pour accéder aux éléments dans la table et pouvoir les
modifier, ce qui est très pratique ! Enfin, une vue est une simple fonction, qui prend comme
paramètres des informations sur la requête (s’il s’agit d’une requête GET ou POST par exemple),

36
Réalisation d'une application de télégestion d’un émetteur TNT 2022

et les paramètres qui ont été donnés dans l’URL. Par exemple, si l’identifiant ou le nom d’un
article du blog a été donné dans l’URL « crepes- bretonnes.com/blog/faire-de-bonnes-crepes », la
vue récupérera ‘fairede-bonnes-crepes ’ comme titre et cherchera dans la base de données l’article
correspondant à afficher. Suite à quoi la vue générera le Template avec le bon article et le renverra
à l’utilisateur.

- Projets et applications :

En plus de l’architecture MVT, Django introduit le développement d’un site sous forme de projet.
Chaque site web conçu avec Django est considéré comme un projet, composé de plusieurs
applications. Une application consiste en un dossier contenant plusieurs fichiers de code, chacun
étant relatif à une tâche du modèle MVT que nous avons vu. En effet, chaque bloc du site web est
isolé dans un dossier avec ses vues, ses modèles et ses schémas d’URL. Lors de la conception de
votre site, vous allez devoir penser aux applications que vous souhaitez développer. Voici
quelques exemples d’applications :

 Un module d’actualités ;
 Un forum ;
 Un système de contact ;
 Une galerie de photos ;
 Un système de dons.

Le principe de séparation du projet en plusieurs applications possède deux avantages principaux :

Le code est beaucoup plus structuré. Les modèles et Template d’une application ne seront
que rarement ou jamais utilisés dans une autre, nous gardons donc une séparation nette
entre les différentes applications, ce qui évite de s’emmêler les pinceaux !

Une application correctement conçue pourra être réutilisée dans d’autres projets très
simplement, par un simple copier/coller, comme le montre la figure suivante.

- Résumé :

 Django respecte l’architecture MVT, directement inspirée du très populaire modèle MVC ;

 Django gère de façon autonome la réception des requêtes et l’envoi des réponses au client
(partie contrôleur) ;

 Un projet est divisé en plusieurs applications, ayant chacune un ensemble de vues, de


modèles et de schémas d’URL.

 Si elles sont bien conçues, ces applications sont réutilisables dans d’autres projets, puisque
chaque application est indépendante.

37
Réalisation d'une application de télégestion d’un émetteur TNT 2022

3.2.3. HTML, CSS & JS :


Je n’ai pas fait le choix de télécharger des
Template prêtes pour développer la page web, j’ai
développé l’interface web moi-même car cette
dernière était spécifique aux besoins de la SNRT.

Figure 29: HTML, CSS et JS.


- HTML :

Le langage HTML (HyperText Markup Langage) est un balisage standard utilisé dans la création
d’applications et de sites web. Ce système permet de marquer les fichiers textes afin d’obtenir des
couleurs, des graphismes ou des effets spécifiques sur les diverses pages d’un site web. Le
fonctionnement de ce langage est très standardisé, ce qui le rend facile d’accès aux débutants, qui
s’initient en général au développement web avec l’HTML.

- CSS :

Le CSS (pour Cascading Style Sheets) offre d’obtenir un site ou un logiciel esthétiquement
travaillé (la nouvelle version du dispositif permet aussi d’intégrer de petites animations simples).
Ce système s’applique sur une page contenant un code HTML : avec l’outil CSS, on intègre des
balises de style dans le balisage structurel de la page.

- JavaScript :

Quant à l’outil JavaScript, il s’agit d’un code de programmation de haut niveau. Basé sur un
prototype simple, il peut s’exécuter sur tous les navigateurs. C’est un langage qui permet de mettre
en place des mécanismes logiques, des calculs ainsi que toutes les fonctionnalités de
programmation professionnelle au code source d’une page web. En somme, JavaScript est un outil
qui va donner les indications du mouvement du site web.

3.2.4. MongoDB :
MongoDB est un système de base de données. Il est
devenu extrêmement populaire au cours des
dernières années. MongoDB est un système de base
de données orienté, objet dynamique, stable, scalable et sans SQL. Les objets sont stockés sous
format JSON dans des documents séparés. Au lieu de stocker les données sous format de tables
avec des valeurs, on utilise une hiérarchie et un système d’objet JSON pour créer un système plus
adaptatif.

L’intérêt de MongoDB, c’est d’implémenter un système à hautes performances avec une


scalabilité parfaite. Le système est extrêmement simple à installer, il fonctionne sous tous les
systèmes d’exploitation et il existe des librairies pour le manipuler dans tous les langages.

38
Réalisation d'une application de télégestion d’un émetteur TNT 2022

L’avantage de MongoDB par rapport au SQL, est l’habilité de gérer des systèmes de données
complexes. On peut avoir des listes, des objets encapsulés sans avoir de soucis. Ce
fonctionnement facilite grandement le développement d’applications qui gèrent beaucoup de
données.

3.2.5. SNMP :
« Simple Network Management Protocol »,
est un protocole de gestion réseaux proposé
par l’IETF (Internet Engineering Task
Force).

Ce protocole est pour but de Surveiller la


performance d’un réseau, détecter et
analyser ses fautes et configurer ses
éléments.

Il s’appuie sur 4 composantes principales :

 Des agents
 Un ou plusieurs managers
 Une MIB (Management
Information Base)
 Des trames

- Architecture du protocole SNMP :

Figure 30: Architecture SNMP.

39
Réalisation d'une application de télégestion d’un émetteur TNT 2022

- Fonctionnement du protocole SNMP :

Figure 31: Fonctionnement de SNMP.

 Le manager envoie des requêtes de type « GET » aux agents pour récupérer les informations d’un
service ou une machine via le protocole SNMP.
 Il peut aussi envoyer des requêtes « SET » pour modifier l'état des services et/ou de la machine
gérés par l'agent.
 Les agents peuvent envoyer des requêtes de type « TRAP » au manager pour signaler un
dysfonctionnement.
 Les agents peuvent être regroupés au travers d'un « agent maître ».
 Les informations accessibles et fournies par les agents sont organisées dans une base « virtuelle »
appelée MIB. Cette base est normalisée.
 Opérations et commandes du protocole SNMP :

Figure 32: Opérations SNMP.

40
Réalisation d'une application de télégestion d’un émetteur TNT 2022

 MIB (Management Information Base) :

Une MIB est l'Ensemble d’objets structurés de manière arborescente,


dont l'accès à un objet se fait via un Object Identifier (OID).

Une MIB n’est pas une base de données mais une « dispatch table ».

 OID (Object Identifier) :

Les informations sont numérotées selon leur ordre dans l'arbre de la


MIB, ces numéros sontappelés OID (Object IDentifier).

 Exemple :

Figure 33: exemple d'OID dans la MIB.

Conclusion :

Dans ce chapitre, on a traité le terme TNT e la norme DVBT, aussi on a étudié l’équipement
qu’on a travaillé avec ‘Tredess’, et on a passé au taches effectuées, commençant avec le cahier de
charges jusqu’à les logiciels et les outils techniques qu’on a utilisé dans ce projet.

41
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Conception et Modélisation du système

Le chapitre suivant présente les différentes étapes de la


conception et la réalisation du système pouvant répondre à
l’objet de notre problématique, et puis on présente les résultats
de l’implémentation de l'application.

42
Réalisation d'une application de télégestion d’un émetteur TNT 2022

1. Connecter l’équipement TREDESS:


L’émetteur Tredess propose l’option de se connecter avec un câble Ethernet, suivant les étapes
suivantes pour assurer cette connexion :

 Établir une liaison entre cet équipement et l’ordinateur avec un câble RJ45.

 Configurer l’adresse IP dans l’ordinateur :

Figure 34: propriétés de connexion.

Figure 35: configuration d'adresse IP.

43
Réalisation d'une application de télégestion d’un émetteur TNT 2022

 Pour se connecter il faut s’assurer le lien de connexion pour l’essai technique par la
commande Ping 192.168.0.100.

Figure 36: commande Ping.


 L’émetteur Tredess maintenant est connecté avec l’ordinateur.

2. Extraire des données de l’émetteur :


 On utilise l’adresse IP de l’équipement pour se connecter

Figure 37: adresse IP de Tredess.

 Télécharger le fichier MIB depuis la plateforme de l’émetteur.


General> Settings> SNMP> MIB file> Download.

Maintenant on doit lire les informations de fichier MIB, là où on va utiliser le SNMP, on va


l’associer avec Python utilisant la bibliothèque PySNMP. Pour faire ça on doit premièrement
installer cette bibliothèque, puis on va l’utiliser pour convertir l’extension de fichier MIB de
(.MIB) à (.py), pour cela on va utiliser la commande MIBDump.py

 Instalation de PySNMP :
commande : ‘>pip install pysnmp’

44
Réalisation d'une application de télégestion d’un émetteur TNT 2022

 Lancer une fenêtre de CMD dans le répertoire de fichier MIB, puis exécuter la commande
suivante :’ mibdump.py $ build-pysnmp-mib -o E.py TREDESS-FS-MIB.mib’

 Maintenant qu’on a convertir le fichier MIB à une extension .py, on peut l’utiliser pour
exécuter les opérations GET et SET pour obtenir et modifier les paramètres de l’émetteur
Tredess. Pour utiliser GET et SET on va utiliser les codes suivants :

o Commande GET :

Figure 38: Code de la Commande GET.

 Simulation : ‘On a entrer l’OID corespendant au Nom de l’émetteur’


dans ce cas le Nom est ‘SNMP’.

Figure 39: simulation de la CMD GET.

45
Réalisation d'une application de télégestion d’un émetteur TNT 2022

o Commande SET :

Figure 40: Code de la Commande SET.

 Simulation : ‘ on vas changer le de l’équipement à ‘Tredess’.’

Figure 41: Simulation de CMD SET.


Alors comme on peut voir ci-dessus, les commandes fonctionnent parfaitement, dans ce cas la on
a utiliser l’OID correspond au Nom, mais pour notre projet on va utiliser plusieurs paramètres, et
on trouvera dans le tableau suivant l’OID de chaque paramétré on est en besoin.

Paramètre OID
"Local_time" 1.3.6.1.4.1.23180.2.1.1.2.1.1.10.5.0'
"remote_IP" '1.3.6.1.4.1.23180.2.1.1.2.1.2.1.2.0 '
"remote_net_mask" '1.3.6.1.4.1.23180.2.1.1.2.1.2.1.3.0 '
"remote_gateway" '1.3.6.1.4.1.23180.2.1.1.2.1.2.1.4.0 '
"DNS_Server" '1.3.6.1.4.1.23180.2.1.1.2.1.2.1.5.0 '
"mac_address" '1.3.6.1.4.1.23180.2.1.1.2.1.2.1.6.0 '
"local_IP" '1.3.6.1.4.1.23180.2.1.1.2.1.2.2.1.0 '
"Modulator temperature" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.10.1.1.0'
"name" '1.3.6.1.4.1.23180.2.1.1.2.1.1.2.0'
"Output_Frq" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.15.2.0'

46
Réalisation d'une application de télégestion d’un émetteur TNT 2022

"Output_Channel" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.15.10.1.0'
"Mode" '.1.3.6.1.4.1.23180.2.1.1.2.1.1.5.0'
"reversed Power" '.1.3.6.1.4.1.23180.2.1.1.2.2.4.4.0'
"Forward Power" '.1.3.6.1.4.1.23180.2.1.1.2.2.4.3.0'
"Amplifier Temp" '.1.3.6.1.4.1.23180.2.1.1.2.2.4.8.0'
"SynchModeTemp" '.1.3.6.1.4.1.23180.2.1.1.2.2.3.2.7.0'
"DVB1Bandwidth" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.10.5.1.1.0'
"Constellation" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.10.5.3.1.0'
"Mer" '.1.3.6.1.4.1.23180.2.1.1.2.1.7.5.15.20.7.0'
"Input1" '.1.3.6.1.4.1.23180.2.1.1.2.2.1.3.10.2.0'
"Input2" '.1.3.6.1.4.1.23180.2.1.1.2.2.1.3.11.2.0'
"Input3" '.1.3.6.1.4.1.23180.2.1.1.2.2.1.3.12.2.0'
"Input4" '.1.3.6.1.4.1.23180.2.1.1.2.2.1.3.13.2.0'
"Ber" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.10.20.6.15.0'
"linear" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.10.20.2.1.0'
"RFout" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.15.20.3.0'
"ModulatorStandard" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.10.1.2.0'
"TestMode" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.10.1.3.0'
"OutputFrqMode" '.1.3.6.1.4.1.23180.2.1.1.2.2.2.15.1.0'
"ConfiguredPower" '.1.3.6.1.4.1.23180.2.1.1.2.2.4.1.0'
"MerTarget" '.1.3.6.1.4.1.23180.2.1.1.2.1.7.5.15.20.8.0'
"Local_time" 1.3.6.1.4.1.23180.2.1.1.2.1.1.10.5.0'
"remote_IP" '1.3.6.1.4.1.23180.2.1.1.2.1.2.1.2.0 '
Remarque :

Pour trouver ces OID on a utiliser un le logiciel ‘MIB Browser’ qui facilite la lecture d’un fichier
MIB et le traduire en forme arborescente.

3. Développement de l’application Web sur Django :


On a dit que Django est un ‘Framework open source’ destiné à la création des applications pour le
web, sert à faciliter la programmation, utilisé par les sociétés du monde entier tel que Instagram,
YouTube, Peintres…

1) Premièrement, il faut créer un virtuel environnement par la commande suivante dans CMD :

 Pip install virtualenv (Install virtuel environnement)

 E:\virtualenv Casa (création d’un virtuel environnement nommé casa)

 E:\virtual_env\casa\Scripts>activate (activation de l’environnement)

47
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Figure 42: création et activation d'un virtuel environnement.

2) Après avoir installé Django utilisant la


commande pip install, on va créer un nouveau
Projet nommée ‘ProjectCasa’ avec la
commande ‘startproject ProjectCasa’

Django automatiquement créer un dossier pour


notre projet avec les fichiers suivant dans ce
dernier :

On trouve plusieurs fichiers dans ce dossier, mais les fichiers qu’on va travailler sur sont:

 manage.py : un utilitaire en ligne de commande qui vous permet d’interagir avec ce projet
Django de différentes façons.
 Le sous-répertoire mysite3 correspond au paquet Python effectif de votre projet. C’est le nom
du paquet Python que vous devrez utiliser pour importer ce qu’il contient (par ex. mysite.urls).
 settings.py : réglages et configuration de ce projet Django. Les réglages de Django vous
apprendront tout sur le fonctionnement des réglages.
 urls.py : les déclarations des URL de ce projet Django, une sorte de « table des matières » de
votre site Django.

3) Alors on est prêt maintenant pour lancer le serveur utilisant la commande ‘py manage.py
runserver’ :

Figure 43: démarrage de serveur ' CMD runserver'.

48
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Cela permet de démarre le serveur de développement de Django, un serveur Web léger


entièrement écrit en Python. Nous l’avons inclus avec Django de façon à permettre de développer
rapidement, sans avoir à occuper de la configuration d’un serveur de production.

Pour tester le fonctionnement de serveur on entre l’adresse http://127.0.0.1:8000/.

Figure 44: résultat obtenu.

Maintenant et puisque notre projet est prét, on peut passer à la création de notre applications web,
mais avant ça, à quoi sert une Application ?

Un projet est un ensemble de réglages et d’applications pour un site Web particulier. Un projet
peut contenir plusieurs applications. Une application peut apparaître dans plusieurs projets. Une
application peut être spécifier à manager par exemple un système de blog, une base de données
publique ou une petite application de sondage…

4) Pour créer une nouvelle application on


utilise la commande suivante : ‘py
manage.py startapp pages’ (on
créer une application sous le nom
« pages »)

On va voir à quoi sert chacun de ces fichiers, on


peut comprendre ça mieux dans un exemple
pour tester notre application.

Alors on va créer un code qui va nous afficher


un message, qu’on va entrer, dans la page qui
est dans le (figure 44).

Pour faire ça on doit modifier quelques Figure 45: répertoire de l'app Pages.
paramètres dans ces fichiers, commencent par Views.py :

49
Réalisation d'une application de télégestion d’un émetteur TNT 2022

 Views.py:

from django.shortcuts import HttpResponse


# Create your views here.
def test(request):
return HttpResponse('Hello, My name is Ayoub, and this is my first web app
___________ in Django!')
Maintenant on doit associer ce code de Views avec un URL, pour cela on doit créer un fichier
dans le répertoire ‘Pages’ et le nommé ‘Urls.py et on écrit le code suivant dans ce dernier.

 Pages/Urls.py :

Alors on a associé un URL sous le nom ‘index’ au views, mais on voit qu’on à importer une
bibliothèque nommée urls depuis le dossier ‘ProjectCasa’, donc n doit déclarer notre URL dans
cette dernière.

 ProjectCasa/Urls.py :

Maintenant qu’on a affecter un URL à notre VIEWS dans l’application et l’associer avec le
project, on doit tout d’habord déclarer lapplication dans le projet. Pour fare ça on doit ajouter une
ligne dans le fichier settings.py .

 Settings.py :

- Chaque application à été créer


doit être déclarer ici avec la commande
‘Nom_d’pplication.apps.NomConfig’

50
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Le fichier Settings.py est le cœur de notre projet, tous les modifications et les commandes qu’on
va appliquer et ajouter, doivent être déclarer dans ce fichier, on parle ici des applications, la base
de données, les utilisateurs, l’authentification (login and out), aussi les Template des pages HTML
qu’on va insérer prochainement.

 Simulation :

On est prêt pour lancer une simulation et tester le projet, on va lancer le server :

Figure 46: simulation, test 1er essai.

4. Base de Données (MongoDB) :


Quand vous créez un nouveau projet, Django vous offre une base de données ‘db.sql’ pour
enregistrer les données de notre projet. Mais malheureusement cette base de données est basic et
ça sera difficile d’achever notre besoin utilisant cette dernière. C’est pour cela qu’on a proposer
une base de données externe plus développer qui est Mongodb.

Pourquoi utiliser une base de données ?

Le but de ce projet est d’obtenir les informations et les paramètres de l’émetteur Tredess est
afficher ces derniers dans une page web, ces paramètres se varient par rapport au temps. Donc on
besoin de créer un site web dynamique, qui s’actualise dans un délai automatiquement pour
obtenir des nouvelles valeurs qui seront changées (température, puissances, fréquence, temps …).
Donc on est obligé d’enregistrer ces valeurs dans une base de données avant les utiliser.

Pourquoi utiliser MongoDB ?

Comme on a déclaré dans un premier temps, Mongodb enregistre les données sous formes des
fichiers ‘. JSON’, cela nous permet d’utiliser ces fichiers dans le code HTML pour minimiser la
durée d’exécution et de gagner plus de temps pour que notre site web sera vite et pas très lent.
Aussi, MongoDB est compatible avec Django et ça sera facile de les associer utilisant Djongo.

 Djongo :

Djongo est une amélioration par rapport à PyMongo dans la mesure où les développeurs n'ont pas
besoin d'écrire de longues requêtes. Il mappe les objets Python sur les documents MongoDB,
c'est-à-dire l'Object Document Mapping (ODM). Djongo garantit que seules des données propres
entrent dans la base de données. En effectuant des contrôles d'intégrité, en appliquant des
validations, etc. avec Django, il n'est pas nécessaire de modifier l'ORM Django existant.

51
Réalisation d'une application de télégestion d’un émetteur TNT 2022

 Installer Djongo :

pip install djongo


 Settings.py :

Comme on a déjà déclaré, toutes les


modifications doivent être déclarer dans
Settings.py.
On est prêt maintenant pour lier la base
de données Mongodb avec notre projet
dans Django. Il suffit de modifier les
commandes corresponds à la base de
données dans setings.py :

Maintenant que nous avons le projet (et l'application) Django, on peut créer les collections dans
MongoDB à l'aide des commandes :
python manage.py makemigrations
python manage.py migrate
 Models.py :

Models.py est un fichier se trouve dans le répertoire de l’applications ‘pages’ qu’on a créé. Dans
ce fichier on va déclarer tous les paramètres et les valeurs qu’on va utiliser et qu’on eut enregistrer
dans la base de données. Ces valeurs seront déclarées dans un class. Vous trouverez le code de
fichier models.py dans l’Annexe.

5. Développement des pages Web :


Dans cette partie on va voir comment on va créer une interface web pour le projet en HTML,
on va développer 7 pages dans ce projet (Base, Index,
Edit, Settings, Modulateur, Amplificateur, Inputs).

Chaque page a sa propre url et elle doit être déclarer


dans uls.py de l’application, les entrées et les sorties et le
développement de ces pages va être dans le fichier
Views.py.

Pour que le projet soit bien organisé, on va placer tous


les pages HTML dans un répertoire nommée ‘Templates’,
et bien sur on doit déclarer ce répertoire dans settings.py.
Figure 47: Templates.

52
Réalisation d'une application de télégestion d’un émetteur TNT 2022

- Statics :

Les pages HTML qu’on a créé, contient des fichier


CSS, des fichier JS, des Images …etc. Alors tous ces
fichiers sont des fichiers statics, on va tous les placer
dans un répertoire ‘Statics’, puis on va collecter et
migrer ses fichiers pour qu’ils seront déclarés dans le
projet et enregistrer dans la base de données, utilisant
les commandes suivantes :
Figure 48: Static.

> python manage.py collectsttic


> python manage.py makemigrations
> python manage.py migrate
Le répertoire static doit être déclarer dans le fichier settings.py aussi :

Figure 49: déclaration des Templates et Static.

- Django Template Language (DTL) :

Le langage de gabarit de Django est conçu comme un compromis entre puissance et simplicité. Il
est conçu pour que les habitués au code HTML se sentent à l’aise.

53
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Un gabarit est un fichier texte. Il peut générer tout format basé sur du texte (HTML, XML, CSV,
etc.). Il contient des variables qui sont remplacées par des valeurs lorsque le gabarit est évalué,
ainsi que des balises qui contrôlent la logique du gabarit.

Les variables apparaissent comme ceci : {{ variable }}. Lorsque le moteur de gabarit rencontre
une variable, il l’évalue et la remplace par le résultat. Les noms de variables peuvent contenir tout
caractère alphanumérique ainsi que le soulignement ("_") mais ne peuvent pas commencer par un
soulignement et ne peuvent pas être un nombre. Le point (".") peut aussi faire partie du nom de
variable, mais avec une signification particulière, comme nous l’expliquons ci-après. Il est
important de relever que les espaces et la ponctuation ne sont pas autorisés dans les noms de
variables.

On va utiliser DTL pour déclarer les variables qu’on a traiter dans Django, sur les pages HTML.

- Base.html :
On va créer une premier page ‘base.html’, cette page va contient ‘navbar’ et ‘sidebar’ et tous
options qui seront dans tous les pages comme la couleur de l’arrière-plan de site. Cette page sera
incluse dans tous les autres pages et comme ça on n’aura pas besoin de répéter le code ces options
dans chacune de ces pages, on peut faire ça avec les deux commandes {% include 'base.html' %}
ou {% extend 'base.html' %}.

Figure 50:base.html

54
Réalisation d'une application de télégestion d’un émetteur TNT 2022

- LogIn & LogOut :

Afin d’assurer la sécurité et là on doit avoir une authentification d’utilisateur pour que l’accès à
l’équipement sera possible seulement pour les ingénieurs et les employés intéressées par se
dernier. Heureusement, Django offre se service d’authentification, donc ce n’est pas l’appel de
créer une page HTML pour le login car ça existe déjà sur Django.

Il suffit de déclarait l’authentifications dans les applications dans setings.py, aussi de créer une
espace ou on va ajouter les utilisateurs. Ensuite, on doit d’déclarer la page login.html dans le
répertoire Template. Finalement on va créer des utilisateurs utilisant la commande ‘> python
manage.py createsuperuser’

Figure 51: logIn page.

- Home page (Index.html) :

Pour créer une Home Page j’ai utilisé le CSS pour réaliser une figure ou bien un schéma qui
présente les différents paramètres de l’émetteur Tredess d’une façon qui permit de suivi son
fonctionnement. (Voir la page suivante).

- Paramètres (Settings.html) :

Quand on parle sur un émetteur de TNT, on parle sur la puissance, la fréquence, la température,
les entrées, les adresses IP, le modulateur, l’amplificateur…etc. Et plusieurs paramètres qu’on
peut trouver dans cet équipement. C’est pour ça que j’ai décidé d’afficher tous ces paramètres sous
forme d’un tableau bien détaillé. (Voir la page suivante).

55
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Figure 52: Index.html (Home page)

Figure 53: Settings.html

56
Réalisation d'une application de télégestion d’un émetteur TNT 2022

- Edit et modification:

Il existe des paramètres qu’on peut le modifier comme le nome, le temp, le mode de
fonctionnement, la date, les alarmes…etc. on a dit que cette étape peut être effectuer par la
commande SET de SNMP. Et pour l’interface web, j’ai décidé de créer une fenêtre pop-up ou on
va insérera la nouvelle valeur de la variable.

Figure 54: fenêtre pop-up d'édit.

Conclusion
Dans ce chapitre, on a abordé la partie pratique, tout ce qui est en relation avec la programmation,
le protocole SNMP et la liaison avec l’équipement utilises, on a aussi vu les étapes de créations d'u
projet sur le Framework Django, sans oublier l'association de ce dernier avec la base de données
MongoDB. Enfin on a passé au développement web de l'interface du site web et des Template en
langage DTL, HTML, CSS.

57
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Conclusion Générale

L’objectif de ce projet était de Réaliser une application de télégestion d’un émetteur TNT
pour le centre de Casablanca.

J'ai réussi à atteindre les objectifs demandés, le principal étant de résoudre la problématique
et la réalisation de la solution, j'étais capable d‘accomplit les missions du projet, grâce à mes
recherches, le support de mes encadrants et mes superviseures, l'effort, le travail, la patience et la
volonté que j'avais qui étaient suffisants pour faire réussir ce projet.

J’ai procédé tout d’abord à la compréhension de la Télévision Numérique Terrestre et la


norme DVB-T, ce qui m’a permis de savoir les différents paramètres et facteurs que je dois obtenir
depuis l’émetteur Tredess., J’ai pu formuler comme conclusions suite à cette étude les différentes
étapes qu’un signale passe par avant d’être prêt a la diffusion dans tous la Royaume.

De ce stage, j’ai mieux maitrisé les diffèrent outils que j’au utilisé commencent par les
langues de programmations Python, HTML, DTL. Tandis que j’ai tiré de nouvelles compétences
comme le Framework Django et le protocole SNMP.

Vue que c’est la première fois que je travaille sur un sujet comme cela, c’était largement
attendu de rencontrer des difficultés durant ce stage, l’un de ces derniers était la comptabilité entre
les diffèrent versions de chaque outil ou plateforme utilisé dans ce projet. Mais après des
recherches approfondis, j’étais capables de palier ces problèmes trouvant la version de chaque
outil qui sera compatible avec les autres.

Ce projet là également m’a permis de développer un aspect de moi en tant que futurs
ingénieurs qui consiste à trouver les solutions à une problématique, et aussi un sens de
prospection.

Ce stage me conforte dans mon choix de carrière professionnelle. En effet, étant donné cette
opportunité d'essayer et de pratiquer les différentes choses enseignées, améliore encore et obtient
ce qui est déjà appris.

58
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Bibliographie
[1] PYTHON SNMP TUTORIAL | ICTSHORE.COM

[2] INITIATION SNMP AVEC PYTHON PYSNMP | MAKINA-CORPUS.COM

[3] DYNAMIC WEBSITE WITH DJANGO | FAUN.PUB

[4] DJANGO LIVERELOAD SERVER | GITHUB.COM

[5] DJANGO CORE EXCEPTIONS VALIDATIONERROR ERROR | STACKOVERFLOW.COM

[6] CREATE DJANGO POPUP FORM | STACKOVERFLOW.COM

[7] DJANGO LOGIN AND LOGOUT TUTORIAL | LEARNDJANGO.COM

[8] THE SHAPES OF CSS | CSS-TRICKS.COM

[9] MONGODB AND DJANGO | MONGODB.COM

[10] PYTHON.ORG

[11] TEMPLATES | DJANGOPROJECT.COM

[12] CAHIER DE CHARGES, LA SOCIETE NATIONALE DE RADIODIFFUSION ET TELEVISION(SNRT)

[13] PRINCIPE TNT.HTML | PORTELATINE.CHEZ-ALICE.FR

[14] DIGITAL TERRESTRIAL BROADCASTING: FREQUENCY AND NETWORK PLANNING ASPECTS OF


DVB-T2 REPORT ITU-R BT.2254-5 (11/2021), INTERNATIONAL TELECOMMUNICATION UNION
RADIOCOMMUNICATION SECTOR OF ITU

[15] SYSTEM-MANUAL-FS-TREDESS-04-FULL | FR.SCRIBD.COM

[16] INITIATION À SNMP AVEC PYTHON | MAKINA CORPUS (MAKINA-CORPUS.COM)

[17] COURS DE DJANGO | NOUVIL.NET|

59
Réalisation d'une application de télégestion d’un émetteur TNT 2022

Annexe
from django.db import models

# Create your models here.


class Parameters(models.Model):
time_now = models.DateTimeField()
Local_time = models.CharField(max_length=100, default='2000-06-06 00:00:00')
remote_IP = models.CharField(max_length=100, default='not found')
remote_net_mask = models.CharField(max_length=100, default='not found')
remote_gateway = models.CharField(max_length=100, default='not found')
DNS_Server = models.CharField(max_length=100, default='not found')
mac_address = models.CharField(max_length=100, default='not found')
local_IP = models.CharField(max_length=100, default='not found')
ModulatorTemperature = models.CharField(max_length=100, default='not found')
name = models.CharField(max_length=100, default='Tredess Home')
Output_Frq = models.CharField(max_length=100, default='not found')
Output_Chan = models.CharField(max_length=100, default='not found')
Mode = models.CharField(max_length=100, default='not found')
ReversePower = models.CharField(max_length=100, default='not found')
ConfiguredPower = models.CharField(max_length=100, default='not found')
ForwardPower = models.CharField(max_length=100, default='not found')
AmplifierTemperature = models.CharField(max_length=100, default='not found')
SynchModeTemperature = models.CharField(max_length=100, default='not found')
DVB1Bandwidth = models.CharField(max_length=100, default='not found')
Constellation = models.CharField(max_length=100, default='not found')
Mer = models.CharField(max_length=100, default='not found')
MerTarget = models.CharField(max_length=100, default='not found')
Input1 = models.CharField(max_length=100, default='not found')
Input2 = models.CharField(max_length=100, default='not found')
Input3 = models.CharField(max_length=100, default='not found')
Input4 = models.CharField(max_length=100, default='not found')
Ber = models.CharField(max_length=100, default='not found')
color1 = models.CharField(max_length=100, default='Red')
color2 = models.CharField(max_length=100, default='Red')
color3 = models.CharField(max_length=100, default='Red')
color4 = models.CharField(max_length=100, default='Red')
linear = models.CharField(max_length=50, default="OFF")
PreCorrMode = models.CharField(max_length=50, default="Linear")
LC = models.CharField(max_length=50, default='grey')
NLC = models.CharField(max_length=50, default='grey')
RF = models.CharField(max_length=50, default="red")
AntenneColor = models.CharField(max_length=50, default='grey')
Standard = models.CharField(max_length=50, default='not found')
TestMode = models.CharField(max_length=50, default='not found')

60
Réalisation d'une application de télégestion d’un émetteur TNT 2022

OutputFrqMode = models.CharField(max_length=50, default='not found')


def __str__(self):
return self

Figure 55: Models.py

Figure 56: Views.py

Figure 57: urls.py de l'application 'pages'

61

Vous aimerez peut-être aussi