{"id":15968879,"url":"https://github.com/xaviernouaille/xaviernouaille.com","last_synced_at":"2025-03-26T17:32:36.926Z","repository":{"id":256648386,"uuid":"855993494","full_name":"xaviernouaille/xaviernouaille.com","owner":"xaviernouaille","description":"🚀 Mon Portfolio - Créé avec Next.js, React ⚛️, et TypeScript. Stylé avec TailwindCSS 🎨. Hébergé sur AWS S3 ☁️, distribué via CloudFront 🌍 pour des performances optimales.","archived":false,"fork":false,"pushed_at":"2025-03-11T19:47:32.000Z","size":3606,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T04:23:52.498Z","etag":null,"topics":["aws","cloudfront","nextjs","reactjs","s3","tailwindcss","type"],"latest_commit_sha":null,"homepage":"https://xaviernouaille.com","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/xaviernouaille.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":"2024-09-11T19:54:04.000Z","updated_at":"2024-09-20T09:19:20.000Z","dependencies_parsed_at":"2025-02-10T20:27:02.893Z","dependency_job_id":"78f4c21f-3d9f-4687-8824-6b8946e5beda","html_url":"https://github.com/xaviernouaille/xaviernouaille.com","commit_stats":null,"previous_names":["xaviernouaille/xaviernouaille.com"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaviernouaille%2Fxaviernouaille.com","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaviernouaille%2Fxaviernouaille.com/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaviernouaille%2Fxaviernouaille.com/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaviernouaille%2Fxaviernouaille.com/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xaviernouaille","download_url":"https://codeload.github.com/xaviernouaille/xaviernouaille.com/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245702599,"owners_count":20658644,"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":["aws","cloudfront","nextjs","reactjs","s3","tailwindcss","type"],"created_at":"2024-10-07T19:04:22.024Z","updated_at":"2025-03-26T17:32:36.290Z","avatar_url":"https://github.com/xaviernouaille.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Portfolio\n\n## Description\n\nCe projet est une application web basée sur **Next.js** avec une structure modulaire, comprenant plusieurs composants réutilisables et des pages dynamiques. Le projet utilise également **TailwindCSS** pour le style et **TypeScript** pour une gestion de typage robuste.\n\nL'application est hébergée sur **AWS S3** et distribuée via **AWS CloudFront** pour une livraison rapide et optimisée des ressources.\n\n## Structure du projet\n\nVoici une vue d'ensemble de l'arborescence du projet :\n\n```\n.github/\n    workflows/\n        prod.yml             # Configuration du workflow CI/CD pour déploiement sur AWS\npublic/\n    font/\n        my-font.woff2        # Fichier de police personnalisé\nsrc/\n    app/\n        about/\n            page.tsx         # Page 'About'\n        components/\n            Footer.tsx       # Composant footer\n        favicon.ico          # Icône du site\n        globals.css          # Styles globaux\n        layout.tsx           # Composant de mise en page\n    components/\n        ui/\n            avatar.tsx       # Composant Avatar\n            badge.tsx        # Composant Badge\n            button.tsx       # Composant Bouton\n    lib/\n.gitignore                  # Fichiers ignorés par Git\npackage.json                # Dépendances du projet et scripts NPM\nnext.config.mjs             # Configuration de Next.js\n```\n\n## Technologies Utilisées\n\n- **Next.js** : Framework pour React, utilisé pour le rendu côté serveur et la génération statique.\n- **React** : Bibliothèque JavaScript pour la création d'interfaces utilisateur.\n- **TypeScript** : Superset de JavaScript, ajoutant le typage statique pour améliorer la robustesse du code.\n- **TailwindCSS** : Framework CSS utilitaire pour une conception rapide et réactive.\n- **AWS S3** : Utilisé pour l'hébergement des fichiers statiques.\n- **AWS CloudFront** : Utilisé pour la distribution du contenu (CDN) afin d'améliorer les performances de chargement.\n\n## Hébergement\n\nCe projet est hébergé sur **AWS S3** et les fichiers sont distribués via **AWS CloudFront** pour garantir une haute disponibilité et des temps de chargement rapides.\n\n## Installation\n\n1. Cloner le dépôt :\n\n   ```bash\n   git clone https://github.com/mon-utilisateur/mon-repo.git\n   ```\n\n2. Installer les dépendances :\n\n   ```bash\n   npm install\n   ```\n\n3. Lancer le serveur de développement :\n\n   ```bash\n   npm run dev\n   ```\n\n4. Construire le projet pour la production :\n   ```bash\n   npm run build\n   ```\n\n## Déploiement\n\nLe déploiement est automatisé via un workflow GitHub Actions, qui pousse les fichiers de production sur un bucket **AWS S3** et met à jour la distribution **CloudFront**.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxaviernouaille%2Fxaviernouaille.com","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxaviernouaille%2Fxaviernouaille.com","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxaviernouaille%2Fxaviernouaille.com/lists"}