Aux personnes passionnées d'aviation et/ou de voyages, vous avez peut-être envie de garder de traces de vos voyages ou tout simplement de suivre votre vol.
Et bien, ça tombe bien!
Aujourd'hui nous allons parler de AirTail! Une application qui va vous permettre de suivre vos vols et de consulter l'historique de ceux déjà effectués!
⚡ Caractéristiques
- Carte du monde: Visualisez tous vos vols sur une carte du monde interactive.
- Historique des vols: Gardez une trace de tous vos vols en un seul endroit.
- Statistiques: Obtenez des informations sur l'historique de vos vols grâce aux statistiques.
- Authentification des utilisateurs: Autorisez plusieurs utilisateurs et sécurisez vos données grâce à l'authentification des utilisateurs.
- Conception réactive: Utilisez l'application sur n'importe quel appareil grâce à une conception réactive.
- Mode sombre: Passez du mode clair au mode sombre.
- Importer des vols: Importer des vols à partir de différentes sources.
💾 L'installation
- Créez votre compose.yml dans le dossier ou vous comptez installer AirTrail:
sudo nano compose.yml
- Collez ça dedans en prenant soin d'adapter ports et volumes suivant votre configuration:
version: '3.9'
services:
db:
container_name: airtrail_db
image: postgres:16-alpine
restart: always
env_file:
- .env
environment:
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- db_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USERNAME} -d ${DB_DATABASE_NAME}"]
interval: 5s
timeout: 5s
retries: 5
airtrail:
container_name: airtrail
image: johly/airtrail:latest
restart: always
env_file:
- .env
ports:
- 3455:3000
depends_on:
db:
condition: service_healthy
volumes:
db_data:
Maintenant on va créer le fichier .env:
sudo nano .env
Et coller ça dedans:
# Your domain, e.g https://example.com
# You might have to add :443 if you are using https through a reverse proxy
ORIGIN=https://airtrail.mondomaine.com:443
# The database URL used by the application.
# If you are using the provided docker-compose file, you should only change the PASSWORD_HERE
# If you are using your own database, you should change this to the correct URL
DB_URL=postgres://airtrail:PASSWORD_HERE@db:5432/airtrail
# Values below this line are only for the default provided postgres database
###################################################################################
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
# When you change the DB_PASSWORD, you should also update the DB_URL accordingly
DB_PASSWORD=PASSWORD_HERE
# The values below this line do not need to be changed
###################################################################################
DB_DATABASE_NAME=airtrail
DB_USERNAME=airtrail
Veillez à modifier:
- ORIGIN=https://airtrail.mondomaine.com:443 => Remplacez https://airtrail.mondomaine.com:443 par votre domaine, suivi de :443 si vous passez par un reverse proxy. Ce qui est mon cas.
Donc, sous cette forme: https://airtrail.mondomaine.com:443. - DB_URL=postgres://airtrail:PASSWORD_HERE@db:5432/airtrail => Replacez PASSWORD_HERE et choisissez un mot de passe fort MAIS sans caractères spéciaux ni espace et utilisez seulement des caractères A-Za et z0-9.
- DB_PASSWORD=PASSWORD_HERE => Replacez PASSWORD_HERE par le mot de passe choisi à l'étape précédente.
On va déployer l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8181 par défaut:
https://ip:8181/
ou votre domaine:
https://mondomaine.com
👤 Création du compte administrateur
Lorsque vous lancez l'application pour la première fois, vous arrivez ici:
- Username => Choisissez un nom d'utilisateur.
- Password => Choisissez un mot de passe fort.
- Name => Indiquez un nom ou répétez votre nom d'utilisateur.
- Unit of measurement => Suivant votre pays, choisissez Metric ou Imperial.
Cliquez sur Create, ce qui vous redirige ici:
⚙️ Les options
Voyons ce qui se cache sous les options, cliquez sur l'engrenage:
Ce qui ouvre ceci un formulaire:
General
- Username => Permet de changer le nom d'utilisateur.
- Display name => Permet de changer le nom affiché.
- Unit of measurement => Permet de changer l'unité de mesure.
- Edit password => Permet de changer le mot de passe.
Pour toute action de changement, cliquez sur Save pour valider.
User
Dans cette partie vous pourrez créer/éditer/supprimer des utilisateurs.
En cliquant sur Add User, nous allons créer un utilisateur:
Remplissez les informations demandées:
- Username => Indiquez sont nom d'utilisateur.
- Password => Indiquez le mot de passe (fort) de l'utilisateur.
- Name => Indiquez le nom qui sera affiché.
- Role => Très important, indiquez le rôle de cet utilisateur. Utilisateur normal ou administrateur.
Cliquez sur Add pour valider.
Appearance
Vous avez le choix entre le mode sombre ou clair. Cliquez sur celui que vous préférez.
Import
Dans cette zone vous pourrez importer les données des plateformes FlightRadar24 et App in the Air.
✈️ Ajoutez un vol
Cliquez sur Add flight:
Ce qui ouvre cette fenêtre:
- From => Cliquez dans la zone et indiquez les premières lettres de l'aéro-cochon de départ.
- To => Cliquez dans la zone et indiquez les premières lettres de l'aéroport d'arrivée.
- Departure => Indiquez la date et l'heure de départ. Entrez les chiffres à la main pour le moment car j'ai constaté un bug avec la fenêtre de sélection.
- Arrival => Indiquez la date et l'heure d'arrivée. Entrez les chiffres à la main pour le moment car j'ai constaté un bug avec la fenêtre de sélection.
Seat information
Tout cela concerne donc votre siège:
- User => déjà affiché suivant l'utilisateur connecté, libre à vous d'en changer.
- Guest name => Nom de la personne qui vous accompagne, éventuellement.
- Seat => Indiquez où était votre siège. Fenêtre, aile,...
- Seat Number => Indiquez le numéro du siège.
- Seat Class => Indiquez la classe, économique, affaire,...
Cliquez sur Add Seat si vous souhaitez ajouter un autre siège. Uniquement.
Flight Information
- Aircraft => Si vous connaissez le type d'avion, indiquez-le.
- Airline => Indiquez la compagnie aérienne.
- Flight Reason => Indiquez la raison de votre vol. Si vous voulez.
- Flight Number => Indiquez le numéro du vol.
- Aircraft Registration => Heu... je suis pas trop calé dans le domaine.
Cliquez sur Add Flight, et voici ce que ça donne:
📊 Statisctics
Vous pouvez afficher les statistiques de vos vols en cliquant sur le bouton Statistics:
Ce qui donne:
Ah, mais attendez... Tout n'est bien comptabilisé!? Rafraichissez la page et....