• Le meilleur portfolio au monde !!! • • 🔥🔥🔥🔥🔥🔥🔥🔥🔥 •
EN FR

Projet : AirNet

Le but du projet :

AirNet est un projet personnel qui mutualise intelligemment les connexions mobiles de groupes de 5 à 8 utilisateurs proches pour contourner la saturation du réseau cellulaire. Les appareils forment un réseau maillé local, compressent et chiffrent les données, puis sélectionnent dynamiquement le téléphone offrant le meilleur débit pour relayer collectivement les requêtes vers l’opérateur.

Fichier explicatif de la solution

Structure Algorithmique

# Constantes
MAX_TELEPHONES = 8  # Nombre maximum de téléphones dans le réseau mesh
PROTOCOLE_LOCAL = "Bluetooth"  # Protocole de connexion (Wi-Fi Direct, Bluetooth, etc.)
                    
    # Initialisation du réseau mesh
    reseau_mesh = initialiser_reseau_mesh(PROTOCOLE_LOCAL)
                    
    # Boucle principale pendant que AirNet est actif
    tant_que AirNet.est_actif():
                        
        # Gestion des nouveaux téléphones
            si un_nouveau_telephone_est_detecte():
                si reseau_mesh.taille() < MAX_TELEPHONES:
                    ajouter_telephone_au_reseau(nouveau_telephone)
                    synchroniser_etat_reseau()
                sinon:
                    rejeter_nouveau_telephone()  # Réseau plein
                    
            # Gestion des données à envoyer
            pour telephone dans reseau_mesh.telephones:
                si telephone.a_des_donnees_a_envoyer():
                    # Diviser les données en morceaux selon le nombre de téléphones
                    morceaux = diviser_donnees(telephone.donnees, reseau_mesh.taille())
                    
                    # Distribuer chaque morceau à un téléphone du réseau
                    pour morceau, cible dans associer(morceaux, reseau_mesh.telephones):
                        envoyer_morceau_au_telephone(morceau, cible)
                    
                        # Chaque téléphone relaie son morceau au réseau cellulaire
                        si cible.a_un_morceau():
                            reponse = cible.envoyer_au_reseau_cellulaire(cible.morceau)
                            cible.stocker_reponse(reponse)
                    
                    # Rassembler les réponses et reconstituer les données
                    reponses = collecter_reponses_du_reseau_mesh()
                    donnees_reconstituees = reassembler_donnees(reponses)
                    
                    # Renvoi des données au téléphone d'origine
                    envoyer_au_telephone_original(donnees_reconstituees, telephone)
                    
            # Gestion des départs
            si un_telephone_quitte_le_reseau():
                retirer_telephone_du_reseau(telephone_partant)
                synchroniser_etat_reseau()
                    
            # Maintenance périodique
            si temps_de_verifier_reseau():
                verifier_connectivite_reseau()
                optimiser_chemins_routage()