{"id":20745454,"url":"https://github.com/micheld-dev/kasa","last_synced_at":"2026-04-19T22:09:22.407Z","repository":{"id":63147749,"uuid":"561509313","full_name":"MichelD-dev/Kasa","owner":"MichelD-dev","description":"Développez une application Web avec React et React Router - Formation OpenClassrooms projet 11","archived":false,"fork":false,"pushed_at":"2022-11-24T10:21:44.000Z","size":879,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-26T10:47:05.090Z","etag":null,"topics":["code-splitting","compound-components","context-api","deferred-rendering","react-router-loading","react-router-v6","reactjs18","scss","suspense","typescript"],"latest_commit_sha":null,"homepage":"https://kasa-lodgings.netlify.app/","language":"TypeScript","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/MichelD-dev.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}},"created_at":"2022-11-03T21:07:10.000Z","updated_at":"2022-11-19T15:57:43.000Z","dependencies_parsed_at":"2023-01-22T09:00:17.424Z","dependency_job_id":null,"html_url":"https://github.com/MichelD-dev/Kasa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MichelD-dev/Kasa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichelD-dev%2FKasa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichelD-dev%2FKasa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichelD-dev%2FKasa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichelD-dev%2FKasa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MichelD-dev","download_url":"https://codeload.github.com/MichelD-dev/Kasa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichelD-dev%2FKasa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32024398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["code-splitting","compound-components","context-api","deferred-rendering","react-router-loading","react-router-v6","reactjs18","scss","suspense","typescript"],"created_at":"2024-11-17T07:20:35.056Z","updated_at":"2026-04-19T22:09:22.370Z","avatar_url":"https://github.com/MichelD-dev.png","language":"TypeScript","readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n# Kasa\n\n#### Location d’appartements entre particuliers en France.\n\n#### Formation OpenClassrooms - Développeur d'applications JavaScript React\n#### Projet 11\n****\nCe projet, visible sur la branche [Optimized](https://github.com/MichelD-dev/Kasa/tree/Optimized), a d'abord été créé en tirant parti des dernières nouveautés apparues avec React Router v6.4:\n- \u003cfont color=\"lightblue\"\u003e*Loader*\u003c/font\u003e incorporé aux routes\n- \u003cfont color=\"lightblue\"\u003e*ErrorElement*\u003c/font\u003e pour les pages d'erreur\n- \u003cfont color=\"lightblue\"\u003e*Defer*\u003c/font\u003e pour retourner une promesse depuis le *loader*\n- Les composants \u003cfont color=\"lightblue\"\u003e*Await*\u003c/font\u003e permettant de résoudre cette promesse avant d'en envoyer le resultat à un composant via un \u003cfont color=\"lightblue\"\u003e*render prop*\u003c/font\u003e\n- \u003cfont color=\"lightblue\"\u003e*useAsyncValue*\u003c/font\u003e retourne également la valeur issue de la promesse venant du *loader* et permet de l'utiliser dans le composant enfant d'un *Await*\n- \u003cfont color=\"lightblue\"\u003e*Suspense*\u003c/font\u003e, fourni par React 18, permet d'utiliser les fonctions précédentes\n\nIl utilise également certains patterns comme les \u003cfont color=\"lightblue\"\u003e*composants composés*\u003c/font\u003e pour les accordéons, associés à un \u003cfont color=\"lightblue\"\u003e*Contexte*\u003c/font\u003e, et **fait** usage du code-splitting via \u003cfont color=\"lightblue\"\u003e*React.Lazy*\u003c/font\u003e et \u003cfont color=\"lightblue\"\u003e*Webpack Prefetch*\u003c/font\u003e.\n\nVous trouverez sur la branche par défaut [main](https://github.com/MichelD-dev/Kasa) une version de base n'utilisant pas ou peu ces optimisations, à part les \u003cfont color=\"lightblue\"\u003e*composants composés*\u003c/font\u003e et le \u003cfont color=\"lightblue\"\u003e*Contexte*\u003c/font\u003e.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Prerequisites\n\nIn order to make the application works on your engine you must have NodeJS and\nnpm installed.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Installation\n****\n1. Clone this repository (or download a zip file):\n   `git clone https://github.com/MichelD-dev/Kasa`\n\n2. Go to the projet root folder `cd kasa`\n\n3. Install the dependencies: `yarn install` or `npm install`\n\n4. (Optional) Configure the application inside the `.env.local` file\n\n5. Launch the application: `yarn start` or `npm run start`\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Contact:\nMichel DELAUNAY - delaunaymichel@hotmail.fr  \n\nProject Link: https://kasa-lodgings.netlify.app/\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicheld-dev%2Fkasa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicheld-dev%2Fkasa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicheld-dev%2Fkasa/lists"}