0% ont trouvé ce document utile (0 vote)
77 vues19 pages

Rapport Radiocoms

Transféré par

Nick Alix AB
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
77 vues19 pages

Rapport Radiocoms

Transféré par

Nick Alix AB
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

RÉPUBLIQUE DU SÉNÉGAL

UN PEUPLE-UN BUT-UNE FOI


MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR
DIRECTION GÉNÉRALE DE L’ENSEIGNEMENT SUPÉRIEUR

RAPPORT DE RADIOCOMMUNICATIONS

Présenté par : Supervisé par :


Nick Alix AIGOUEKE BEKALE Pr. Samuel OUYA
TABLE DE MATIERES
TABLE DE MATIERES......................................................................................................................................... 2
INTRODUCTION .......................................................................................................................................... 3
CONTEXTE ET OBJECTIFS .............................................................................................................................. 3
IMPORTANCE DES RADIOCOMMUNICATIONS DANS LES SYSTEMES MODERNES .................................................. 3
PARTIE THEORIQUE : FONDAMENTAUX DES RADIOCOMMUNICATIONS ................................... 4
I. PRINCIPES DE BASE DES RADIOCOMMUNICATIONS ................................................................................. 4
a. Définition et concepts clés .............................................................................................................. 4
b. Les unités de mesure ....................................................................................................................... 4
II. MODELISATION DES CANAUX DE TRANSMISSION ................................................................................... 5
a. Atténuation et perte en espace libre ................................................................................................ 5
b. Calcul de la marge de liaison et importance de la marge libre ........................................................ 5
III. LES TECHNOLOGIES ET EQUIPEMENTS .............................................................................................. 6
a. Composants de base : émetteur, récepteur, antenne......................................................................... 6
b. Les types d’antennes et leur rôle (gain d’antenne, directionnalité .................................................... 6
IV. APPLICATIONS ET CAS D’USAGE ....................................................................................................... 7
a. Exemples d'applications (Wi-Fi, LTE, satellites, etc.) ...................................................................... 7
b. Importance de la planification des liaisons pour les performances .................................................. 8
PARTIE PRATIQUE 1 : REPRODUCTION DE LA CALCULATRICE RF BASIQUE ........................................................ 9
ÉTAPE 1 : INSTALLER APACHE ET CONFIGURER LE CGI ................................................................................................ 9
• Installation d’Apache ...................................................................................................................... 9
• Activer les modules CGI d’Apache ................................................................................................... 9
ÉTAPE 2 : PREPARER LE REPERTOIRE CGI POUR LES SCRIPTS PYTHON ............................................................................. 9
• Se rendre dans le dossier CGI .......................................................................................................... 9
• Créer le fichier `calculatrice_rf.py` dans le dossier `cgi-bin` .............................................................. 9
ÉTAPE 3 : ÉCRIRE LE CODE PYTHON POUR LA CALCULATRICE RF .................................................................................. 10
ÉTAPE 4 : VERIFICATION ET TEST ......................................................................................................................... 11
PARTIE PRATIQUE 2 : AMELIORATION ET FONCTIONNALITES AVANCEES ....................................................... 12
ÉTAPE 1 : CREATION DES DOSSIERS ET FICHIERS PRINCIPAUX...................................................................................... 12
• Création des dossiers .................................................................................................................... 12
• Création des fichiers ..................................................................................................................... 12
ÉTAPES 2 : CREATION ET MODIFICATION DES CODES ................................................................................................ 12
• Modification du Script Python CGI pour les Calculs RF.................................................................... 12
• Interface HTML (Formulaire de Saisie) ........................................................................................... 15
• Feuille de style CSS........................................................................................................................ 16
• Droit d’accès & Permissions .......................................................................................................... 18
• Accès à l’interface et tests............................................................................................................. 18

2
INTRODUCTION

§ Contexte et objectifs

Dans un monde de plus en plus interconnecté, les radiocommunications jouent un rôle


fondamental dans le développement et le fonctionnement des systèmes de communication
modernes. Que ce soit pour les réseaux mobiles, les connexions sans fil, ou encore les
communications par satellite, les radiocommunications sont essentielles pour assurer le
transfert d'informations à distance de manière fiable et rapide. Face aux besoins croissants de
couverture, de capacité et de vitesse, il est indispensable de bien comprendre les principes
sous-jacents aux transmissions radio pour optimiser la qualité de service et anticiper les
contraintes de performance.

L’objectif de ce projet est d'explorer les concepts théoriques des radiocommunications, puis
de les mettre en application via une plateforme de calcul dédiée aux principaux paramètres
des liaisons radiofréquences (RF). Cette plateforme, sous forme de calculatrice RF, permettra
d'effectuer des calculs indispensables, tels que la perte en espace libre, la marge de liaison et
le rayon de Fresnel, afin de mieux planifier et concevoir des liaisons sans fil performantes. En
outre, des améliorations de la plateforme initiale seront envisagées pour offrir une expérience
utilisateur enrichie et des fonctionnalités avancées.

§ Importance des radiocommunications dans les systèmes modernes

Les radiocommunications constituent le socle de nombreux systèmes modernes, de la


téléphonie mobile aux réseaux Wi-Fi en passant par les liaisons satellite. Grâce aux ondes
radio, les informations peuvent être échangées sur de longues distances sans infrastructure
filaire, offrant flexibilité et évolutivité. Cette technologie est particulièrement cruciale dans
les environnements où les communications filaires sont impraticables ou coûteuses, comme
les zones rurales, les sites industriels et les infrastructures de transport.

Dans les applications industrielles, les radiocommunications facilitent la transmission de


données dans les réseaux de capteurs, les systèmes de contrôle et les dispositifs de sécurité.
Dans le secteur des télécommunications, elles permettent de répondre aux besoins des
utilisateurs pour une connectivité haut débit, notamment avec la transition vers la 5G et
l'Internet des objets (IoT). Par ailleurs, elles sont également employées dans les domaines de
la défense, de l'exploration spatiale et de la météorologie.

Au vu de leur impact crucial, il devient essentiel de maîtriser les principes de base des
radiocommunications pour garantir la qualité et la fiabilité des services. Ce projet vise à offrir
un aperçu pratique des concepts et des calculs RF pour les étudiants et les professionnels qui
souhaitent approfondir leurs connaissances dans le domaine et appliquer ces savoirs dans des
contextes variés.

3
PARTIE THEORIQUE : FONDAMENTAUX DES RADIOCOMMUNICATIONS

I. Principes de base des radiocommunications

Les radiocommunications reposent sur la transmission d’informations via des ondes


électromagnétiques, qui se propagent à travers l'espace sans nécessiter de support matériel.
Cela permet des communications à grande distance, une flexibilité dans l’installation des
réseaux, et la possibilité de relier des appareils mobiles ou des infrastructures isolées.
Comprendre les principes fondamentaux de cette technologie est essentiel pour concevoir et
optimiser des systèmes de communication fiables et performants.

a. Définition et concepts clés

- Fréquence : La fréquence d'une onde électromagnétique représente le nombre de


cycles que cette onde effectue par seconde. Elle est mesurée en hertz (Hz) et définit en
grande partie la portée et la capacité de l’onde à traverser différents types de milieux.
Par exemple, les ondes de basse fréquence pénètrent mieux les obstacles, mais offrent
des débits plus faibles.

- Onde électromagnétique : Il s’agit de l'onde qui transporte l’information sous forme


de variations de champs électriques et magnétiques. Les ondes électromagnétiques se
déplacent à la vitesse de la lumière et peuvent se propager dans le vide comme dans
des milieux matériels.

- Bande passante : La bande passante représente la largeur du spectre de fréquences


utilisé pour la transmission. Une bande passante plus large permet de transmettre plus
d’informations et donc d’obtenir des débits plus élevés.

- Modulation : La modulation est le processus par lequel les informations sont


encodées dans une onde porteuse, permettant de transmettre les signaux de manière
plus efficace sur de longues distances. Les techniques de modulation les plus
courantes incluent la modulation d'amplitude (AM), de fréquence (FM) et de phase
(PM).

b. Les unités de mesure

- dBm : L'unité dBm est utilisée pour exprimer la puissance d'un signal en décibels par
rapport à un milliwatt. Elle est couramment utilisée en radiocommunication pour
représenter les niveaux de puissance des signaux.

- dBi : Le dBi mesure le gain d'une antenne par rapport à une antenne isotrope idéale,
qui diffuse le signal de manière uniforme dans toutes les directions. Un gain élevé en
dBi signifie que l'antenne peut focaliser davantage le signal dans une direction
particulière, ce qui améliore sa portée et sa puissance dans cette direction.

- dB : Le décibel (dB) est une unité logarithmique qui exprime le rapport entre deux
puissances ou intensités. Elle est largement utilisée pour comparer des niveaux de
puissance, notamment en raison de sa capacité à simplifier les calculs de gain et de
perte.

4
- MHz : Les mégahertz (MHz) représentent des millions de cycles par seconde. Cette
unité est souvent utilisée pour exprimer les fréquences de transmission des signaux
radio, en particulier dans les applications de télécommunications.

II. Modélisation des canaux de transmission

Un canal de transmission radio est le chemin par lequel l’onde électromagnétique se propage
entre l’émetteur et le récepteur. Les propriétés du canal de transmission affectent directement
la qualité du signal reçu et, par conséquent, la fiabilité de la communication. Deux aspects
fondamentaux à prendre en compte dans la modélisation des canaux de transmission sont
l’atténuation et la marge de liaison.

a. Atténuation et perte en espace libre

o L’atténuation est la diminution de la puissance du signal à mesure qu’il se propage


dans l’espace. Elle est principalement causée par la diffusion, la réflexion et
l’absorption des ondes, ainsi que par la distance séparant l’émetteur du récepteur.

o La perte en espace libre est un modèle qui exprime l’atténuation des ondes
électromagnétiques dans un environnement sans obstacles, tel que le vide. Elle est
calculée en fonction de la distance et de la fréquence du signal et est représentée par
l’équation suivante :

𝑳 = 𝟐𝟎𝒍𝒐𝒈𝟏𝟎 (𝒅) + 𝟐𝟎𝒍𝒐𝒈𝟏𝟎 (𝒇) + 𝟑𝟐, 𝟒𝟒

où L est la perte en dB, d est la distance en kilomètres, et f est la fréquence en MHz. Ce


modèle est essentiel pour estimer la perte théorique d’un signal en conditions idéales, avant
d’introduire des effets de réflexion ou de diffraction.

b. Calcul de la marge de liaison et importance de la marge libre

La marge de liaison est la différence entre la puissance du signal reçu et le seuil de sensibilité
du récepteur, c’est-à-dire la puissance minimale requise pour décoder le signal sans erreur.
Elle est cruciale pour garantir une connexion stable et robuste dans des environnements
susceptibles d’être perturbés par des interférences.

5
La marge libre est une marge de sécurité ajoutée à la marge de liaison pour tenir compte des
variations imprévisibles du signal, comme celles dues aux conditions atmosphériques ou aux
interférences temporaires. Une marge libre suffisante permet de maintenir la qualité de la
communication même en cas de fluctuations du signal.

III. Les technologies et équipements

a. Composants de base : émetteur, récepteur, antenne

Les systèmes de radiocommunication s'appuient sur plusieurs composants essentiels pour


transmettre et recevoir les signaux. Ces éléments travaillent ensemble pour assurer la
propagation efficace des ondes et maintenir une bonne qualité de transmission.

- Émetteur : L'émetteur est responsable de la génération et de la modulation du signal à


transmettre. Il produit une onde électromagnétique en y intégrant les informations,
puis amplifie cette onde pour la propager jusqu’au récepteur. Il est crucial pour
l’émetteur de fonctionner à une puissance adéquate afin d’assurer que le signal
atteigne la portée souhaitée sans interférer avec d'autres systèmes environnants.

- Récepteur : Le récepteur capte les signaux émis et procède à leur démodulation pour
extraire les informations transmises. La sensibilité du récepteur est une caractéristique
clé, car elle détermine la plus faible puissance de signal qu'il peut décoder sans erreur
significative. Un récepteur bien conçu minimise les interférences et maximise la
qualité du signal pour une réception fiable.

- Antenne : L'antenne est un élément crucial qui convertit les signaux électriques en
ondes électromagnétiques lors de l'émission, et inversement lors de la réception. Elle
joue un rôle clé dans la portée et la qualité de la liaison. Une antenne bien ajustée à la
fréquence utilisée et au type de propagation souhaité permet de maximiser l’efficacité
de la communication.

b. Les types d’antennes et leur rôle (gain d’antenne, directionnalité

Les antennes se déclinent en plusieurs types, chacun adapté à des besoins spécifiques en
matière de gain, de directionnalité, et de fréquence. Le choix d'une antenne dépend de
l'application et des exigences de la liaison.

- Gain d’antenne : Le gain d’une antenne est une mesure de sa capacité à concentrer
l'énergie dans une direction spécifique, augmentant ainsi la portée de la transmission
dans cette direction. Les antennes à gain élevé, par exemple, sont efficaces pour les
liaisons point-à-point, où l’énergie peut être focalisée entre l’émetteur et le récepteur.
Le gain est mesuré en dBi (par rapport à une antenne isotrope).

- Directionnalité : La directionnalité d'une antenne indique la manière dont elle


concentre ou diffuse les ondes. Il existe deux principaux types

Antennes omnidirectionnelles: Elles émettent des signaux dans toutes les


directions à 360 degrés autour de leur axe. Elles sont utilisées dans des

6
applications où une couverture globale est souhaitée, comme pour le Wi-Fi
dans un espace ouvert.

Antennes directionnelles : Elles focalisent l’énergie dans une direction


spécifique, permettant une portée accrue dans cette direction. Elles sont
souvent utilisées dans des réseaux longue distance ou dans les réseaux de
télécommunication par satellite et LTE.

IV. Applications et cas d’usage

Les radiocommunications se retrouvent dans une multitude d’applications modernes, allant de


la connectivité locale aux liaisons internationales. Voici quelques exemples de leurs
applications et de l'importance de la planification des liaisons pour assurer la performance des
systèmes.

a. Exemples d'applications (Wi-Fi, LTE, satellites, etc.)

- Wi-Fi: Le Wi-Fi utilise des fréquences radio pour fournir une connectivité sans fil à
courte portée. Il est largement utilisé pour les réseaux locaux, tant domestiques que
professionnels, et permet aux utilisateurs de se connecter à Internet ou à des réseaux
locaux sans câbles.

- LTE (Long-Term Evolution) : La technologie LTE est utilisée pour les réseaux de
téléphonie mobile. Elle fournit une connectivité haut débit à travers de grandes
distances et pour un grand nombre d’utilisateurs. Le LTE se base sur des antennes
directionnelles et une planification de cellules pour offrir une couverture étendue et
des débits élevés.

7
- Satellites : Les systèmes de communication par satellite sont utilisés pour les
communications de longue portée, y compris les télécommunications internationales,
les prévisions météorologiques et la diffusion télévisée. Les satellites agissent comme
des relais dans l'espace, recevant des signaux depuis une station terrestre et les
réémettant vers d'autres parties du globe.

b. Importance de la planification des liaisons pour les performances

La planification des liaisons est essentielle pour garantir des performances optimales des
systèmes de radiocommunication. Elle consiste à prévoir et à ajuster les paramètres de
transmission en fonction des exigences du service et des conditions environnementales.

- Optimisation du spectre : Une bonne planification permet d'optimiser l'utilisation du


spectre de fréquences, limitant les interférences et améliorant l’efficacité des
transmissions.

- Garantie de couverture : La planification permet de s'assurer que la couverture est


suffisante pour atteindre toutes les zones ciblées, en adaptant la puissance de
transmission, le choix des antennes et leur orientation.

- Minimisation des interférences : En ajustant les fréquences et la directionnalité des


antennes, la planification réduit les interférences entre différents systèmes de
communication, assurant ainsi la qualité et la fiabilité des liaisons.

- Optimisation de la capacité et des débits : Une planification efficace augmente la


capacité des réseaux (le nombre de connexions simultanées) et permet d’atteindre des
débits plus élevés, un point crucial pour les applications modernes de
radiocommunications à large bande.

8
PARTIE PRATIQUE 1 : REPRODUCTION DE LA CALCULATRICE RF BASIQUE

§ Étape 1 : Installer Apache et Configurer le CGI

Installation d’Apache

root@nospi-unix:/home/nospi# apt install apache2

Activer les modules CGI d’Apache

Les scripts CGI peuvent être exécutés par Apache via le module CGI :

root@nospi-unix:/home/nospi# a2enmod cgi


root@nospi-unix:/home/nospi# systemctl restart apache2

`
§ Étape 2 : Préparer le Répertoire CGI pour les Scripts Python

Par défaut, Apache exécute les scripts CGI depuis le dossier /usr/lib/cgi-bin/.
Nous allons écrire notre script Python dans ce dossier.

Se rendre dans le dossier CGI

root@nospi-unix:/home/nospi# cd /usr/lib/cgi-bin/

Créer le fichier `calculatrice_rf.py` dans le dossier `cgi-bin`

root@nospi-unix:/usr/lib/cgi-bin# touch calculatrice_rf.py


root@nospi-unix:/usr/lib/cgi-bin# chmod +x calculatrice_rf.py

9
§ Étape 3 : Écrire le Code Python pour la Calculatrice RF

Le script calculera les valeurs de perte en espace libre, de marge de liaison et de rayon de
Fresnel.

root@nospi-unix:/usr/lib/cgi-bin# vim calculatrice_rf.py

#!/usr/bin/python3
import cgi
import math

# Calcul de la perte en espace libre (Free Space Path Loss)


def calcul_perte_espace_libre(distance_km, frequence_mhz):
distance_m = distance_km * 1000
perte = 20 * math.log10(distance_m) + 20 * math.log10(frequence_mhz) - 147.55
return round(perte, 2)

# Calcul de la marge de liaison (Link Margin)


def calcul_marge_liaison(puissance_tx, gain_tx, gain_rx, pertes):
marge = puissance_tx + gain_tx + gain_rx - pertes
return round(marge, 2)

# Calcul du rayon de Fresnel (Fresnel Zone Radius)


def calcul_rayon_fresnel(distance_km, frequence_mhz):
distance_m = distance_km * 1000
frequence_hz = frequence_mhz * 1e6
rayon_fresnel = 17.32 * [Link]((distance_m / (4 * frequence_hz)))
return round(rayon_fresnel, 2)

# Génération du formulaire HTML


print("Content-type: text/html\n")
print("""
<html>
<head><title>Calculatrice RF Basique</title></head>
<body>
<h1>Calculatrice RF Basique</h1>
<form method="post" action="/cgi-bin/calculatrice_rf.py">
<label>Distance (km):</label><input type="text" name="distance_km"><br>
<label>Fréquence (MHz):</label><input type="text" name="frequence_mhz"><br>
<label>Puissance TX (dBm):</label><input type="text" name="puissance_tx"><br>
<label>Gain TX (dBi):</label><input type="text" name="gain_tx"><br>
<label>Gain RX (dBi):</label><input type="text" name="gain_rx"><br>
<label>Pertes diverses (dB):</label><input type="text" name="pertes"><br>
<input type="submit" value="Calculer">
</form>
""")

# Récupération des données du formulaire


form = [Link]()
if "distance_km" in form and "frequence_mhz" in form:

10
distance_km = float([Link]("distance_km"))
frequence_mhz = float([Link]("frequence_mhz"))
puissance_tx = float([Link]("puissance_tx"))
gain_tx = float([Link]("gain_tx"))
gain_rx = float([Link]("gain_rx"))
pertes = float([Link]("pertes"))

# Calculs RF
perte_espace_libre = calcul_perte_espace_libre(distance_km, frequence_mhz)
marge_liaison = calcul_marge_liaison(puissance_tx, gain_tx, gain_rx, pertes)
rayon_fresnel = calcul_rayon_fresnel(distance_km, frequence_mhz)

# Affichage des résultats


print(f"""
<h2>Résultats :</h2>
<table border="1">
<tr><td>Perte en espace libre (dB)</td><td>{perte_espace_libre}</td></tr>
<tr><td>Marge de liaison (dB)</td><td>{marge_liaison}</td></tr>
<tr><td>Rayon de Fresnel (m)</td><td>{rayon_fresnel}</td></tr>
</table>
""")

print("</body></html>")

§ Étape 4 : Vérification et Test

Pour tester la calculatrice RF :

Accéder au script via un navigateur à l’adresse [Link]

Entrer les valeurs pour les paramètres RF et cliquer sur "Calculer". Les résultats de perte en
espace libre, marge de liaison et rayon de Fresnel devraient s’afficher sous forme de tableau.

11
PARTIE PRATIQUE 2 : AMELIORATION ET FONCTIONNALITES AVANCEES

§ Étape 1 : Création des dossiers et Fichiers Principaux

Création des dossiers

Dans le dossier de notre serveur web apache on créer les dossiers du projet

- Dossier calculatrice : Dossier du projet


- Dossier CSS : contenant la feuille de style CSS
- Dossier results qui contiendra la résultat sous forme de graphique au format png

root@nospi-unix:/var/www/html# mkdir -p calculatrice && mkdir -p calculatrice/css


&& mkdir -p calculatrice/results

Création des fichiers

On accède au dossier du projet et on crée les fichiers

- Fichier [Link] : Point d’entrée de l’application


- Fichier [Link] : Pour notre feuille de style

root@nospi-unix:/var/www/html# cd calculatrice/
root@nospi-unix:/var/www/html/calculatrice# touch [Link]
root@nospi-unix:/var/www/html/calculatrice# touch css/[Link]

§ Étapes 2 : Création et modification des codes

Modification du Script Python CGI pour les Calculs RF

12
On modifie le fichier créer précédemment avec le code suivant pour inclure les dossiers de
style et inclure le graphique

root@nospi-unix:/var/www/html/calculatrice# vim /usr/lib/cgi-bin/calculatrice_rf.py

#!/usr/bin/python3
import cgi
import cgitb
import math
import [Link] as plt
import os

[Link]()

print("Content-type: text/html\n")

def calculer_perte_espace_libre(distance, frequence):


return 20 * math.log10(distance) + 20 * math.log10(frequence) - 147.55

def calculer_marge_liaison(perte, gain_emetteur, gain_receveur, puissance_emetteur):


return puissance_emetteur + gain_emetteur + gain_receveur - perte

def calculer_rayon_fresnel(distance, frequence):


return 17.32 * [Link]((distance / 2) / (4 * frequence))

def generer_graphique(distance, frequence):


pertes = [calculer_perte_espace_libre(d, frequence) for d in range(1, distance+1)]
distances = list(range(1, distance+1))

[Link](figsize=(10, 5))
[Link](distances, pertes, label="Perte en espace libre")
[Link]("Distance (m)")
[Link]("Perte (dB)")
[Link]("Perte en Espace Libre en fonction de la Distance")
[Link]()

result_path = '/var/www/html/calculatrice/results/[Link]'
[Link](result_path)
[Link]()
return result_path

form = [Link]()
distance = float([Link]("distance", 1))
frequence = float([Link]("frequence", 1))
puissance_emetteur = float([Link]("puissance_emetteur", 0))
gain_emetteur = float([Link]("gain_emetteur", 0))
gain_receveur = float([Link]("gain_receveur", 0))

perte = calculer_perte_espace_libre(distance, frequence)

13
marge = calculer_marge_liaison(perte, gain_emetteur, gain_receveur, puissance_emetteur)
rayon_fresnel = calculer_rayon_fresnel(distance, frequence)
graph_path = generer_graphique(int(distance), frequence)

# HTML pour afficher les résultats


print(f"""
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Calculatrice RF - Résultats</title>
<link rel="stylesheet" href="/calculatrice/css/[Link]">
</head>
<body>
<div class="container">
<h2>Résultats des calculs RF</h2>
<p><span>Perte en espace libre:</span> {perte:.2f} dB</p>
<p><span>Marge de liaison:</span> {marge:.2f} dB</p>
<p><span>Rayon de Fresnel:</span> {rayon_fresnel:.2f} m</p>
<h3>Graphique de la perte en espace libre</h3>
<img src="/calculatrice/results/[Link]" alt="Graphique de la perte en espace libre">
<a href="/calculatrice">Refaire un calcul</a>
</div>
<footer>
<p>&copy; 2024 Calculatrice RF</p>
</footer>
</body>
</html>
""")

14
Interface HTML (Formulaire de Saisie)

On édite notre fichier [Link] et on y ajoute le code suivant pour inclure notre script
python

root@nospi-unix:/var/www/html/calculatrice# vim [Link]

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Calculatrice RF</title>
<link rel="stylesheet" href="/css/[Link]">
<link rel="stylesheet"
href="[Link]
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<a class="navbar-brand" href="#">Calculatrice RF</a>
</nav>

<div class="container mt-5">


<h2>Calculateur de Paramètres RF</h2>
<form action="/cgi-bin/calculatrice_rf.py" method="post" class="form-group">
<label for="distance">Distance (m):</label>
<input type="number" class="form-control" id="distance" name="distance" required>

<label for="frequence">Fréquence (MHz):</label>


<input type="number" class="form-control" id="frequence" name="frequence"
required>

<label for="puissance_emetteur">Puissance de l'émetteur (dBm):</label>


<input type="number" class="form-control" id="puissance_emetteur"
name="puissance_emetteur">

<label for="gain_emetteur">Gain de l'émetteur (dBi):</label>


<input type="number" class="form-control" id="gain_emetteur"
name="gain_emetteur">

<label for="gain_receveur">Gain du récepteur (dBi):</label>


<input type="number" class="form-control" id="gain_receveur"
name="gain_receveur">

<button type="submit" class="btn btn-primary mt-3">Calculer</button>


</form>
</div>
</body>
</html>

15
Feuille de style CSS

On édite le fichier css/[Link] et on y ajoute le code suivant

body {
font-family: Arial, sans-serif;
background-color: #f8f9fa;
margin: 0;
padding: 0;
}

h2 {
color: #007bff;
text-align: center;
margin-top: 20px;
}

.container {
max-width: 800px;
margin: 50px auto;
background: #fff;

16
padding: 20px;
box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
border-radius: 8px;
text-align: center;
}

h3 {
color: #0056b3;
margin-top: 30px;
}

p{
font-size: 1.1em;
line-height: 1.6;
color: #333;
margin: 10px 0;
}

p span {
font-weight: bold;
color: #007bff;
}

img {
max-width: 100%;
margin-top: 20px;
border: 3px solid #007bff;
border-radius: 8px;
}

a{
display: inline-block;
margin-top: 30px;
padding: 10px 20px;
background-color: #007bff;
color: white;
text-decoration: none;
border-radius: 5px;
font-size: 1.2em;
}

a:hover {
background-color: #0056b3;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

footer {
text-align: center;
margin-top: 50px;
font-size: 0.9em;

17
color: #777;
}

Droit d’accès & Permissions

On change les droits du répertoire et On Rend le script python exécutable

root@nospi-unix:/var/www/html/calculatrice# chmod -R 755


/var/www/html/calculatrice/
root@nospi-unix:/var/www/html/calculatrice# chmod +x /usr/lib/cgi-
bin/calculatrice_rf.py

Accès à l’interface et tests

On accède a l’interface web avec l’adresse [Link] ou


[Link] (remplacer par l’ip)

Et on remplit les informations du formulaire

18
Et on clique sur calculer, on obtient le résultat avec le graphique associer

19

Vous aimerez peut-être aussi