{"id":15576752,"url":"https://github.com/icepick4/tchoutchou","last_synced_at":"2025-12-29T03:42:07.529Z","repository":{"id":65227565,"uuid":"571561344","full_name":"icepick4/TchouTchou","owner":"icepick4","description":"Project managing an entire station system throughout France, employee and customer side","archived":false,"fork":false,"pushed_at":"2023-02-06T14:20:19.000Z","size":9487,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T10:32:26.923Z","etag":null,"topics":["ajax","javascript","js","mvc","php","plsql","project","sql"],"latest_commit_sha":null,"homepage":"http://tchoutchou.ovh","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/icepick4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-11-28T12:00:36.000Z","updated_at":"2023-06-19T16:21:12.000Z","dependencies_parsed_at":"2023-02-12T09:46:05.896Z","dependency_job_id":null,"html_url":"https://github.com/icepick4/TchouTchou","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icepick4%2FTchouTchou","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icepick4%2FTchouTchou/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icepick4%2FTchouTchou/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icepick4%2FTchouTchou/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/icepick4","download_url":"https://codeload.github.com/icepick4/TchouTchou/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243266614,"owners_count":20263769,"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":["ajax","javascript","js","mvc","php","plsql","project","sql"],"created_at":"2024-10-02T18:56:06.113Z","updated_at":"2025-12-29T03:42:02.501Z","avatar_url":"https://github.com/icepick4.png","language":"PHP","readme":"# [Tchoutchou](http://tchoutchou.ovh)\n\n![MKT](https://img.shields.io/badge/license-MIT_License-red.svg)\n\u003cimg src=\"https://img.shields.io/badge/license-Creative%20Commons-red\"\u003e\n![MKT](https://img.shields.io/badge/version-v1.0.0-blue.svg)\n![MKT](https://img.shields.io/badge/languages-PHP_JS_HTML_CSS-orange.svg)\n![MKT](https://img.shields.io/badge/platform-Web-1ightgrey.svg)\n![Website](https://img.shields.io/website?down_color=lightgrey\u0026down_message=offline\u0026up_color=blue\u0026up_message=online\u0026url=http%3A%2F%2Ftchoutchou.ovh)\n\n\u003cimg src=\"web/assets/images/fav.png\"\u003e\u003cbr\u003e\nConnue pour posséder le second plus grand chemin de fer en Europe, la France a pour moyen de transport prédominant sur son territoire le train. Disposant de 2 734 km de ligne à grande vitesse qui transporte chaque année se sont plus de 1 milliards de passagers qui transitent sur ce réseau. Pour rendre ce système fonctionnel il a donc fallu faire appel à des outils de gestion tant pour les achats des clients que pour les opérations techniques.\nAfin de moderniser ses services, la SNCF lance en 2021 son application de réservation : SNCF Connect. Cette dernière vient s’implanter aux côtés d’autres applications de réservation comme Trainline ou Tictactrip.\nÉtant nous-mêmes utilisateurs de ces applications nous avons pu constater leurs défauts, leurs qualités mais également les améliorations que nous aurions aimé y apporter. Au vu de ce constat, nous avons donc cherché à proposer une solution technique à ce postulat.\n\n# Objectif\n\nL'objet de ce projet est de réaliser un site de réservation de billets de train avec des options pour consulter le trafic. Le projet est constitué d’un site internet avec une version PC et mobile pour les clients mais aussi d’une partie pour l’entreprise afin de gérer le trafic.\n\n# Périmètre\n\nCe projet est réalisé par un groupe de 5 personnes d’un niveau équivalent en 2ème année du BUT informatique. Le projet n'utilisera pas de framework, ni de PWA. Le développement du projet se fait en dehors des heures de cours avec deux heures toutes les deux semaines de réunion avec notre tuteur. Le projet se déroule sur 4 mois et se termine par une soutenance de 40 minutes.\n\n# Outils et technologies utilisés\nCe projet utilise volontairement aucun framework \u003cbr\u003e\n\u003cimg src=\"https://img.shields.io/badge/JavaScript-323330?style=for-the-badge\u0026logo=javascript\u0026logoColor=F7DF1E\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge\u0026logo=html5\u0026logoColor=white\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge\u0026logo=css3\u0026logoColor=white\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/PHP-%23800080?style=for-the-badge\u0026logo=php\u0026logoColor=white\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/SQL-%23ff0000?style=for-the-badge\u0026logo=oracle\u0026logoColor=white\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/Docker-%230db7ed?style=for-the-badge\u0026logo=docker\u0026logoColor=white\"/\u003e\n\n\n\n\n# Contribuer au Projet\n\nTout d'abord choisissez entre soit fork ou clone le projet, pour commencer à développer sur le projet en local référez vous à la partie sur \u003ca href=\"#docker\"\u003edocker\u003c/a\u003e afin de mettre en place le serveur web et la base de données Oracle. Une fois le serveur local mis en place, vous pouvez setup votre base de données en suivant ces \u003ca href=\"#setup\"\u003eétapes\u003c/a\u003e. Si vous constatez un bug n'hésitez pas a créer une issue, si vous développez une nouvelle fonctionnalité ou en améliorez une, faites une pull request. De plus pour repérer les bugs vous pouvez simplement visiter notre site \u003ca href=\"http://tchoutchou.ovh\"\u003eTchoutchou\u003c/a\u003e.\n\nPour update le server il suift de aller sur ce \u003ca href=\"http://82.65.238.70:5569/\"\u003elien\u003c/a\u003e et attendre que la page charge\n\nPour facilement avoir accès à toutes les branches,\naprès avoir cloner le repo :\n`git worktree add ../\u003cnom dossier\u003e \u003cnom branche\u003e  `\n\npour plus d'infos cliquez \u003ca href=\"https://morgan.cugerone.com/blog/how-to-use-git-worktree-and-in-a-clean-way/\"\u003eici\u003c/a\u003e\n\n# Base de données\n\nUn graphe de la BDD est disponible \u003ca href=\"https://forge.univ-lyon1.fr/p2103642/sae-sncf/-/raw/main/doc/schemaDB.pdf\"\u003eici\u003c/a\u003e.\n\nLes trajets disponibles des différents tiers sont disponibles ici :\n\n- \u003ca href=\"https://forge.univ-lyon1.fr/p2103642/sae-sncf/-/raw/main/doc/carte1.svg\"\u003eTier 1\u003c/a\u003e\n- \u003ca href=\"https://forge.univ-lyon1.fr/p2103642/sae-sncf/-/raw/main/doc/carte2.svg\"\u003eTier 2\u003c/a\u003e\n- \u003ca href=\"https://forge.univ-lyon1.fr/p2103642/sae-sncf/-/raw/main/doc/carte3.svg\"\u003eTier 3\u003c/a\u003e\n\n\n# Figma\n\nAccès vers notre \u003ca href=\"https://www.figma.com/file/JoDxjyH653MXO4MKjn987D/SNCF?node-id=10%3A10\"\u003efigma\u003c/a\u003e\n\nMerci de garder un historique des modifications / étapes (avant de modifier une frame, veuillez la dupliquer)\n\n# Docker\n\nIl faut évidemment avoir docker installé.\n\n\u003c/br\u003e\u003ca href=\"https://docs.docker.com/engine/install/\"\u003eComment installer docker ?\u003c/a\u003e\n\n\n### Web\n\n1. Téléchargez l'image en utilisant la commande : `docker pull kmcgill88/php-oracle`\n\n2. Pour construire le serveur, placez-vous dans le répertoire source du repo et utilisez la commande suivante :\u003c/br\u003e\n`docker run -d -p 80:80 --mount type=bind,source=$(pwd)/web,target=/var/www/html --name=web kmcgill88/php-oracle`\n\n3. Pour arréter et lancer le serveur pour la première fois, utilisez les commandes suivantes :\u003c/br\u003e\n`docker stop web`\u003c/br\u003e\n`docker start web`\n\n4. Une fois le docker construit et lancé, rendez-vous sur http://localhost/ pour accéder à votre site. Vous pouvez maintenant faire vos modifications en local et développer !\n\n\n\n### Oracle\n\n1. Commencez par récupérer l'image: `docker pull gvenzl/oracle-xe`\n2. Ensuite, lancez le container: \u003c/br\u003e\n`docker run -it -p 1521:1521 -e ORACLE_PASSWORD=\u003cyour password\u003e -v oracle-volume:/opt/oracle/oradata --name=DBB gvenzl/oracle-xe`\n3. Une fois le container lancé, vous pouvez vous connecter à l'utilisateur system en utilisant le mot de passe utilisé lors de la création du container. Nous vous recommandons fortement de créer un utilisateur dédié pour plus de sécurité. \u003c/br\u003eDe plus, nous avons utilisé un utilisateur nommé `Tchou` pour l'intégralité de notre site, certaines requête sql y font référence, pour éviter tout souci nous vous recommandons fortement d'utiliser le même nom d'utilisateur.\n4. Construisez la base de données à partir du fichier \u003ca href=\"db/Backup.sql\"\u003eBackup.sql\u003c/a\u003e\n5. En cas de problème vous pouvez consulter directement le \u003ca href=\"https://github.com/gvenzl/oci-oracle-xe\"\u003egit du docker\u003c/a\u003e pour plus d’information.\n\n\n# Setup\n\n\n1. Clonez le projet sur votre machine locale.\n2. Pour accéder à la base de données, vous devez ajouter un fichier config_connection.php dans le répertoire /web/config.\n3. Le contenu du fichier doit être comme suit:\n```PHP\n\u003c?php\n\n// Accès base de données\nconst BD_HOST = '\u003cadresse_ip\u003e';\nconst BD_DBNAME = '';\nconst BD_USER = '\u003cnom_utilisateur\u003e';\nconst BD_PWD = '\u003cmot_de_passe\u003e';\nconst BD_PORT = '\u003cport_par_default:1521\u003e'; \nconst BD_SID = 'xe';\n```\n\n4. Remplacez \u003cadresse_ip\u003e, \u003cnom_utilisateur\u003e, et \u003cmot_de_passe\u003e avec les informations appropriées pour votre base de données.\n5. Le port par défaut est 1521, et le SID est 'xe', mais vous pouvez le changer si nécessaire.\n\n\u003c/br\u003e\nRemarque : Pour des raisons de sécurité, ce fichier est exclu par défaut. Vous devez donc ajouter le fichier config_connection.php et remplir les informations nécessaires pour accéder à la base de données.\n\n# Auteur\n\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Niskko\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/53410604?v=4\" width=\"100px;\" alt=\"Loïc Pupier\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLoïc Pupier\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/icepick4\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/82316285?v=4\" width=\"100px;\" alt=\"Remi Jara\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRemi Jara\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Larcherbc\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/65121325?v=4\" width=\"100px;\" alt=\"Jules Rabec\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJules Rabec\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Qypol342\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/37497007?v=4\" width=\"100px;\" alt=\"Loan Maeght\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLoan Maeght\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Psykoxen\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/58462517?v=4\" width=\"100px;\" alt=\"Antoine Voillot\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAntoine Voillot\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficepick4%2Ftchoutchou","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficepick4%2Ftchoutchou","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficepick4%2Ftchoutchou/lists"}