{"id":27140362,"url":"https://github.com/galaktik-hub/b2-s3-orbit","last_synced_at":"2026-04-12T07:37:12.690Z","repository":{"id":286402943,"uuid":"961302817","full_name":"Galaktik-hub/B2-S3-ORBIT","owner":"Galaktik-hub","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-06T08:13:35.000Z","size":50254,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T09:22:32.297Z","etag":null,"topics":["algorithms","astar","c","data-structures","java","php"],"latest_commit_sha":null,"homepage":"https://orbit.alexis-telle.fr","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Galaktik-hub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-06T08:09:51.000Z","updated_at":"2025-04-06T08:19:36.000Z","dependencies_parsed_at":"2025-04-06T09:32:41.498Z","dependency_job_id":null,"html_url":"https://github.com/Galaktik-hub/B2-S3-ORBIT","commit_stats":null,"previous_names":["galaktik-hub/b2-s3-orbit"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Galaktik-hub%2FB2-S3-ORBIT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Galaktik-hub%2FB2-S3-ORBIT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Galaktik-hub%2FB2-S3-ORBIT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Galaktik-hub%2FB2-S3-ORBIT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Galaktik-hub","download_url":"https://codeload.github.com/Galaktik-hub/B2-S3-ORBIT/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247785943,"owners_count":20995644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","astar","c","data-structures","java","php"],"created_at":"2025-04-08T05:51:54.801Z","updated_at":"2026-04-12T07:37:12.683Z","avatar_url":"https://github.com/Galaktik-hub.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌌 O.R.B.I.T (Optimal Route Booking Intergalactic Travel)\n\n## 📚 Contexte du Projet\n\n🎓 Ce projet s’inscrit dans l’univers Star Wars et dans le cadre de la SAÉ Développement d'une application. L’objectif est d’aider les utilisateurs à optimiser leurs déplacements interplanétaires selon divers critères tels que la légion d'appartenance (Rebelle, Empire, Neutre), le nombre de passagers ou encore les vaisseaux préférés.\n\nLe projet repose sur la modélisation de réseaux galactiques et inclut des fonctionnalités immersives qui respectent l’esthétique et les codes de l’univers Star Wars.\n\n---\n\n## 🚀 Objectifs\n\n### 🎯 Objectif Principal\n\nPermettre aux utilisateurs de trouver le meilleur itinéraire entre deux points galactiques en tenant compte de divers critères.\n\n### ⭐ Objectifs Secondaires\n\n- Proposer une interface utilisateur intuitive et immersive.\n- Optimiser la gestion des données pour des recherches rapides et précises.\n- Offrir une modularité permettant d’ajouter des fonctionnalités ultérieures (ex : profils personnalisés, gestion des vaisseaux).\n\n---\n\n## 🌐 Projet final\n\nVous pouvez retrouver le projet final hébergé à l'adresse ci-dessous :\n\n  🔗 [https://orbit.alexis-telle.fr](https://orbit.alexis-telle.fr)\n\n💻 Il vous suffit de vous inscrire pour accèder au site.\n\n---\n\n## 🔧 Fonctionnalités\n\n### 🎨 Front-End\n\n**Fonctionnalités principales**\n\n- **Page principale** :\n  - 🌍 Sélection des planètes de départ et d’arrivée.\n  - ⚙️ Choix des contraintes (Légion, Vaisseaux, Passagers).\n  - 🛰️ Affichage du meilleur itinéraire possible avec des détails (temps, coût, étapes).\n\n- **Visualisation graphique** :\n  - 🗺️ Carte interactive des connexions entre planètes et astroports.\n  - 🎥 Animations des trajets.\n\n- **Gestion des utilisateurs** :\n  - 👤 Création de profils (avatar, pseudo).\n  - 🕑 Accès à l’historique des commandes.\n\n- **Système d’administration** :\n  - 🛠️ Mise à jour des routes et des planètes.\n  - 🚧 Ajout de nouvelles contraintes ou restrictions (ex : blocus impérial).\n\n### 💻 Back-End (PHP, Java)\n\n**Fonctionnalités principales**\n\n- **Modélisation des graphes** :\n  - 🔗 Création d'un réseau global sous forme de graphes avec gestion de grandes quantités de données.\n\n- **Gestion des données** :\n  - 📂 Interaction avec une base de données relationnelle.\n  - 🗃️ Fourniture des données nécessaires pour les calculs et l’affichage.\n\n- **API REST** :\n  - 🔄 Permettre l’échange de données entre le PHP, le Java et le module C.\n\n**Contraintes techniques**\n\n- ⚡ Gestion efficace de graphes pouvant inclure des centaines de milliers de nœuds et d’arêtes.\n- 🛠️ Implémentation modulaire et maintenable.\n\n### ⚙️ Module C\n\n**Fonctionnalités principales**\n\n- **Calculs optimaux** :\n  - 📍 Algorithme de Dijkstra pour le plus court chemin.\n  - 🧠 Variante A* pour une optimisation basée sur une heuristique euclidienne.\n\n- **Prise en compte des contraintes** :\n  - 🛡️ Meilleur itinéraire en fonction de la légion d'appartenance.\n\n**Contraintes techniques**\n\n- 📡 Échange de données entre Java et l'algorithme C.\n- ⏱️ Hautes performances pour des calculs en temps réel.\n\n---\n\n## 🛠️ Technologies Utilisées\n\nLes technologies et outils utilisés incluent :\n- **Back-end** : PHP, Java, C, MySQL.\n- **Front-end** : HTML/CSS \u0026 JS.\n- **Bases de données** : MySQL.\n- **Modules \u0026 Bibliothèques** : PHPMailer.\n\n---\n\n## 🧑‍💻 Développement à Partir du Code Source\n\n### 1️⃣ **Prérequis**\n- Serveur PHP.\n- Serveur MySQL.\n- 📧 Adresse mail avec possibilité d'envoyer des mails depuis PHPMailer.\n\n### 2️⃣ **Installation**\n- Clonez ce dépôt : \n```bash\ngit clone https://github.com/Galaktik-hub/B2-S3-ORBIT.git\n```\n- 📦 Importez la base de données MySQL à l'aide du fichier `data/orbit.sql`.\n- Dans votre IDE Java, faites un clic droit sur le fichier `java/pom.xml` puis `Utiliser le projet Maven`, ou lancer en console la commande :\n\n```bash\nmvn clean install\n```\n\n\n### 3️⃣ **Fichiers de configuration** :\n\n📄 Vous devez créer plusieurs fichiers de configuration pour établir les différentes connexions nécessaires. À chaque fois, il existe un fichier s'appelant [nom_fichier]-copie.[extension] qui est une copie vide de ce que vous devez créer.\n    \n- Fichier `java/src/main/java/fr/starwars/DatabaseConfig.java`\n```java\npackage fr.starwars;\n\npublic class DatabaseConfig {\n    public static final String URL = \"jdbc:mysql://localhost:3306/[nom_base_données]\";\n    // Le nom de votre base de données, vous pouvez aussi remplacer localhost par l'url d'un serveur MySQL externe\n    public static final String USER = \"root\";   // Votre nom d'utilisateur\n    public static final String PASSWORD = \"\";   // Le mot de passe utilisateur, si besoin\n}\n```\n\n- Fichier `back/cnx.php`\n```php\n\u003c?php\n$host = '';             // Le nom de votre serveur de base de données, localhost ou URL externe\n$dbname = '';           // Le nom de votre base de données\n$username = '';         // Le nom d'utilisateur utilisé sur la base de données\n$password = '';         // Le mot de passe utilisateur\n$e_mail = '';             // Le nom de l'email\n$password_mail = '';    // Le code secret utilisé pour se connecter au mail\n\ntry {\n    $pdo = new PDO(\"mysql:host=$host;dbname=$dbname\", $username, $password);\n    $pdo-\u003esetAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n} catch (PDOException $e) {\n    echo \"Erreur : \" . $e-\u003egetMessage();\n}\n?\u003e\n```\n\n### 4️⃣ **Installation de PHPMailer** :\n- Décompressez l'archive `data/lib.zip` à la racine du projet\n\n### 5️⃣ **Démarrage** :\n   - Lancez les serveurs (PHP \u0026 MySQL).\n   - 🎉 Vous êtes prêts !\n\n## 🙌 Crédit\n\nCe projet a été réalisé par une équipe d'étudiants en informatique :\n- [RICHE Abdelrahim](https://www.linkedin.com/in/abdelrahim-riche-504a88256/)\n- [SYNAEVE Julien](https://www.linkedin.com/in/julien-synaeve)\n- [TELLE Alexis](https://www.linkedin.com/in/alexis-telle)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalaktik-hub%2Fb2-s3-orbit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgalaktik-hub%2Fb2-s3-orbit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalaktik-hub%2Fb2-s3-orbit/lists"}