├── .gitignore ├── README.md ├── assets ├── arrow-up-right.svg ├── avatars.png ├── background.png ├── menu.svg └── secure.svg ├── css ├── global.css ├── responsive.css ├── sections │ ├── header.css │ └── hero.css └── style.css ├── index.html ├── js └── script.js ├── package-lock.json ├── package.json ├── public ├── icon.png └── vite.svg └── w3wallet_assets.zip /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Construire un Site Web RESPONSIVE | Tutoriel HTML/CSS pour débutants sur la Création d'un Site Web (2023) 2 | 3 | ![Maquette tuto HTLM CSS 1](https://i.postimg.cc/Vv5zStwd/Miniature.png) 4 | 5 | ## Contenu 6 | 7 | Tu te demande comment créer un site Web en utilisant #HTML et #CSS ? Rejoins-moi aujourd'hui pour créer un site Web HTML & CSS moderne et entièrement RESPONSIVE avec des animations ! 8 | 9 | Dans ce cours, tu vas apprendre à : 10 | 11 | - Utiliser les variables CSS 12 | - Importer des fichiers CSS dans d'autres fichiers CSS 13 | - Utiliser les propriétés flex et position en CSS 14 | - Créer des animations fluides et subtiles 15 | - Utiliser la méthode de dénomination BEM 16 | - Maintenir une structure de fichiers et de dossiers bien organisée 17 | - Adopter les principes de l'écriture d'un code propre -------------------------------------------------------------------------------- /assets/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/avatars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prakticode/html_css_projet_1/7b14c7bb18e272a20c83836ed5290790d5a917bf/assets/avatars.png -------------------------------------------------------------------------------- /assets/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prakticode/html_css_projet_1/7b14c7bb18e272a20c83836ed5290790d5a917bf/assets/background.png -------------------------------------------------------------------------------- /assets/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/secure.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /css/global.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | body { 8 | margin: 0 auto; 9 | background-color: var(--primary-color); 10 | overflow-x: hidden; 11 | } -------------------------------------------------------------------------------- /css/responsive.css: -------------------------------------------------------------------------------- 1 | /* START : header media query */ 2 | @media screen and (max-width: 900px) { 3 | .header__menu-mobile { 4 | display: block; 5 | } 6 | 7 | .header__menu, 8 | .header__auth { 9 | display: none; 10 | } 11 | } 12 | /* END : header media query */ 13 | 14 | /* START : hero media queries */ 15 | @media screen and (max-width: 1500px) { 16 | .hero { 17 | flex-direction: column; 18 | align-items: center; 19 | gap: 30px; 20 | } 21 | 22 | .hero-overview { 23 | align-items: center; 24 | margin-right: 0; 25 | } 26 | 27 | .hero-overview__image { 28 | position: absolute; 29 | background-position: center; 30 | } 31 | 32 | .hero-overview__title { 33 | position: relative; 34 | left: 0; 35 | text-align: center; 36 | font-size: 74px; 37 | } 38 | 39 | .hero-overview__business { 40 | justify-content: space-between; 41 | } 42 | } 43 | 44 | @media screen and (max-width: 750px) { 45 | .hero-overview__image { 46 | height: 250px; 47 | } 48 | 49 | .hero-overview__title { 50 | font-size: 54px; 51 | } 52 | 53 | .hero-overview__business { 54 | flex-direction: column; 55 | align-items: center; 56 | gap: 30px; 57 | } 58 | 59 | .hero-business { 60 | align-items: center; 61 | } 62 | 63 | .hero-guide__title br { 64 | display: none; 65 | } 66 | } 67 | /* END : hero media queries */ 68 | -------------------------------------------------------------------------------- /css/sections/header.css: -------------------------------------------------------------------------------- 1 | .header__nav { 2 | display: flex; 3 | justify-content: space-between; 4 | align-items: center; 5 | margin: 20px; 6 | } 7 | 8 | .header__logo { 9 | padding: 10px 20px; 10 | 11 | background: linear-gradient(to left, #FF8628, #F60B9A, #283CA6, #102243); 12 | background-clip: text; 13 | -webkit-background-clip: text; 14 | -moz-background-clip: text; 15 | 16 | color: transparent; 17 | font-weight: 700; 18 | font-size: 25px; 19 | font-family: var(--roboto); 20 | 21 | cursor: default; 22 | } 23 | 24 | .header__button { 25 | width: 100px; 26 | padding: 9px 20px; 27 | margin: 0 2px; 28 | 29 | border-radius: 50px; 30 | border: none; 31 | outline: none; 32 | 33 | background: var(--gray-15); 34 | color: var(--secondary-color); 35 | font-weight: 500; 36 | font-size: 16px; 37 | font-family: var(--open-sans); 38 | line-height: 23px; 39 | 40 | cursor: pointer; 41 | } 42 | 43 | .header__button:hover, 44 | .header__auth .header__button:nth-child(2) { 45 | background-color: var(--secondary-color); 46 | color: var(--primary-color); 47 | } 48 | 49 | .header__auth .header__button:nth-child(2):hover { 50 | background-color: var(--primary-color); 51 | color: var(--secondary-color); 52 | 53 | border: 1px solid var(--secondary-color); 54 | } 55 | 56 | .header__menu-mobile { 57 | display: none; 58 | } -------------------------------------------------------------------------------- /css/sections/hero.css: -------------------------------------------------------------------------------- 1 | .hero { 2 | position: relative; 3 | 4 | display: flex; 5 | justify-content: center; 6 | 7 | margin-top: 30px; 8 | padding: 20px; 9 | } 10 | 11 | .hero-overview { 12 | display: flex; 13 | flex-direction: column; 14 | margin-right: 80px; 15 | } 16 | 17 | .hero-overview__image { 18 | background: url("../../assets/background.png"); 19 | 20 | background-repeat: no-repeat; 21 | background-size: contain; 22 | 23 | height: 350px; 24 | width: 650px; 25 | 26 | margin-bottom: 20px; 27 | } 28 | 29 | .hero-overview__title { 30 | position: absolute; 31 | 32 | font-family: var(--roboto); 33 | color: var(--secondary-color); 34 | font-weight: 500; 35 | font-size: 86px; 36 | 37 | left: 150px; 38 | } 39 | 40 | .hero-overview__title span { 41 | font-size: 100px; 42 | font-weight: 900; 43 | } 44 | 45 | .hero-overview__business { 46 | display: flex; 47 | justify-content: space-between; 48 | align-items: end; 49 | 50 | margin-top: 20px; 51 | } 52 | 53 | .hero-business { 54 | display: flex; 55 | flex-direction: column; 56 | justify-content: space-between; 57 | } 58 | 59 | .hero-business__description { 60 | font-family: var(--open-sans); 61 | font-size: 16px; 62 | font-weight: 500; 63 | color: var(--gray-36); 64 | 65 | margin-bottom: 25px; 66 | } 67 | 68 | .hero-business__button { 69 | padding: 10px 15px; 70 | max-width: 160px; 71 | 72 | border-radius: 50px; 73 | 74 | display: flex; 75 | align-items: center; 76 | 77 | background: var(--secondary-color); 78 | color: var(--primary-color); 79 | font-weight: 800; 80 | font-size: 16px; 81 | font-family: var(--open-sans); 82 | line-height: 23px; 83 | 84 | cursor: pointer; 85 | } 86 | 87 | .hero-business__button img { 88 | margin-left: 12px; 89 | object-fit: contain; 90 | } 91 | 92 | .hero-business__button:hover { 93 | background-color: var(--primary-color); 94 | color: var(--secondary-color); 95 | 96 | border: 1px solid var(--secondary-color); 97 | } 98 | 99 | .hero-customers { 100 | display: flex; 101 | align-items: center; 102 | justify-content: end; 103 | gap: 20px; 104 | } 105 | 106 | .hero-customers__image { 107 | height: 80px; 108 | object-fit: contain; 109 | } 110 | 111 | .hero-customers__info { 112 | display: flex; 113 | flex-direction: column; 114 | } 115 | 116 | .hero-customers__number { 117 | font-size: 45px; 118 | color: var(--secondary-color); 119 | font-family: var(--open-sans); 120 | } 121 | 122 | .hero-customers__description { 123 | font-size: 14px; 124 | color: var(--secondary-color); 125 | font-weight: 600; 126 | font-family: var(--open-sans); 127 | } 128 | 129 | .hero-content { 130 | display: flex; 131 | flex-direction: column; 132 | } 133 | 134 | .hero-content__guide { 135 | height: fit-content; 136 | 137 | display: flex; 138 | flex-direction: column; 139 | gap: 10px; 140 | 141 | padding: 30px; 142 | border-radius: 36px; 143 | 144 | background: linear-gradient(to bottom, #FF8628, #F60B9A, #283CA6); 145 | } 146 | 147 | .hero-guide__secure { 148 | display: flex; 149 | align-items: center; 150 | gap: 5px; 151 | padding: 10px 30px; 152 | border-radius: 36px; 153 | background-color: var(--secondary-color); 154 | } 155 | 156 | .hero-guide__secure-desc { 157 | font-family: var(--roboto); 158 | font-weight: 700; 159 | font-size: 16px; 160 | } 161 | 162 | .hero-guide__secure-desc span { 163 | color: #FF8628; 164 | } 165 | 166 | .hero-guide__title { 167 | font-family: var(--open-sans); 168 | color: var(--secondary-color); 169 | font-size: 38px; 170 | line-height: 1.2; 171 | } 172 | 173 | .hero-guide__desc { 174 | font-family: var(--open-sans); 175 | font-size: 16px; 176 | color: rgba(255,255,255,0.5); 177 | } 178 | 179 | .hero-guide__steps { 180 | list-style: none; 181 | 182 | display: flex; 183 | flex-direction: column; 184 | 185 | position: relative; 186 | } 187 | 188 | .hero-guide__steps li { 189 | padding: 5px; 190 | display: flex; 191 | align-items: center; 192 | gap: 10px; 193 | color: var(--secondary-color); 194 | font-family: var(--roboto); 195 | } 196 | 197 | .hero-guide__step-number { 198 | align-items: center; 199 | margin: 3px; 200 | padding: 5px 10px; 201 | color: rgba(0,0,0,0.8); 202 | background-color: var(--secondary-color); 203 | border-radius: 50%; 204 | } 205 | 206 | .hero-guide__step-number.align { 207 | margin-bottom: 35px; 208 | } 209 | 210 | .hero-guide__step-desc { 211 | font-weight: 600; 212 | font-family: var(--open-sans); 213 | font-size: 18px; 214 | } 215 | 216 | .hero-guide__step-comment { 217 | font-size: 13px; 218 | font-family: var(--roboto); 219 | color: rgba(255,255,255,0.5); 220 | 221 | margin-top: 5px; 222 | } -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap'); 2 | @import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&display=swap'); 3 | 4 | 5 | @import url("sections/header.css"); 6 | @import url("sections/hero.css"); 7 | 8 | @import url("global.css"); 9 | @import url("responsive.css"); 10 | 11 | :root { 12 | --roboto: "Roboto", sans-serif; 13 | --open-sans: "Open Sans", sans-serif; 14 | 15 | --primary-color: #000; 16 | --secondary-color: #fff; 17 | 18 | --gray-15: #262626; 19 | --gray-36: #5c5c5c; 20 | --gray-100: #888888; 21 | 22 | } -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | w3wallet 9 | 10 | 11 |
12 | 28 |
29 | 30 |
31 |
32 |
33 |

34 | w∋wallet :
your gateway to
the digital future 35 |

36 |
37 |
38 |

39 | Store and manage digital currencies with ease in
the smart and beautiful cryptocurrencies
wallets developped by w3wallet. 40 |

41 | 44 |
45 |
46 | avatars 47 |
48 |

49 | 300.000+ 50 |

51 |

52 | Active users in the world 53 |

54 |
55 |
56 |
57 |
58 | 59 |
60 |
61 |
62 | secure 63 |

64 | Pay securely ⚫ Protection by our payment systems 65 |

66 |
67 |

68 | Buy cryptocurrencies
with a credit card on
w∋wallet 69 |

70 |

71 | Get your cryptocoins in your wallet without any risks.
Buying cryptocurrency is easy and instant: 72 |

73 |
    74 |
  • 75 |
    1
    76 |

    77 | Choose currency 78 |

    79 |
  • 80 |
  • 81 |
    2
    82 |
    83 |

    84 | Enter the sum in USD or EUR 85 |

    86 |

    87 | You may be asked to provide some information about
    yourself - that is our payment provider's requirement. 88 |

    89 |
    90 |
  • 91 |
  • 92 |
    3
    93 |

    94 | Fill in cryptocurrency address 95 |

    96 |
  • 97 |
  • 98 |
    4
    99 |

    100 | You got your crypto on your balance! 101 |

    102 |
  • 103 |
104 |
105 |
106 |
107 | 108 | 109 | -------------------------------------------------------------------------------- /js/script.js: -------------------------------------------------------------------------------- 1 | import AOS from "aos"; 2 | import "aos/dist/aos.css"; 3 | 4 | // initialize AOS animation 5 | AOS.init({ 6 | duration: 1000, 7 | offset: 100, 8 | }); -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "w3wallet", 3 | "version": "0.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "w3wallet", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "aos": "^2.3.4" 12 | }, 13 | "devDependencies": { 14 | "vite": "^4.4.5" 15 | } 16 | }, 17 | "node_modules/@esbuild/android-arm": { 18 | "version": "0.18.20", 19 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", 20 | "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", 21 | "cpu": [ 22 | "arm" 23 | ], 24 | "dev": true, 25 | "optional": true, 26 | "os": [ 27 | "android" 28 | ], 29 | "engines": { 30 | "node": ">=12" 31 | } 32 | }, 33 | "node_modules/@esbuild/android-arm64": { 34 | "version": "0.18.20", 35 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", 36 | "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", 37 | "cpu": [ 38 | "arm64" 39 | ], 40 | "dev": true, 41 | "optional": true, 42 | "os": [ 43 | "android" 44 | ], 45 | "engines": { 46 | "node": ">=12" 47 | } 48 | }, 49 | "node_modules/@esbuild/android-x64": { 50 | "version": "0.18.20", 51 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", 52 | "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", 53 | "cpu": [ 54 | "x64" 55 | ], 56 | "dev": true, 57 | "optional": true, 58 | "os": [ 59 | "android" 60 | ], 61 | "engines": { 62 | "node": ">=12" 63 | } 64 | }, 65 | "node_modules/@esbuild/darwin-arm64": { 66 | "version": "0.18.20", 67 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", 68 | "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", 69 | "cpu": [ 70 | "arm64" 71 | ], 72 | "dev": true, 73 | "optional": true, 74 | "os": [ 75 | "darwin" 76 | ], 77 | "engines": { 78 | "node": ">=12" 79 | } 80 | }, 81 | "node_modules/@esbuild/darwin-x64": { 82 | "version": "0.18.20", 83 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", 84 | "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", 85 | "cpu": [ 86 | "x64" 87 | ], 88 | "dev": true, 89 | "optional": true, 90 | "os": [ 91 | "darwin" 92 | ], 93 | "engines": { 94 | "node": ">=12" 95 | } 96 | }, 97 | "node_modules/@esbuild/freebsd-arm64": { 98 | "version": "0.18.20", 99 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", 100 | "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", 101 | "cpu": [ 102 | "arm64" 103 | ], 104 | "dev": true, 105 | "optional": true, 106 | "os": [ 107 | "freebsd" 108 | ], 109 | "engines": { 110 | "node": ">=12" 111 | } 112 | }, 113 | "node_modules/@esbuild/freebsd-x64": { 114 | "version": "0.18.20", 115 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", 116 | "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", 117 | "cpu": [ 118 | "x64" 119 | ], 120 | "dev": true, 121 | "optional": true, 122 | "os": [ 123 | "freebsd" 124 | ], 125 | "engines": { 126 | "node": ">=12" 127 | } 128 | }, 129 | "node_modules/@esbuild/linux-arm": { 130 | "version": "0.18.20", 131 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", 132 | "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", 133 | "cpu": [ 134 | "arm" 135 | ], 136 | "dev": true, 137 | "optional": true, 138 | "os": [ 139 | "linux" 140 | ], 141 | "engines": { 142 | "node": ">=12" 143 | } 144 | }, 145 | "node_modules/@esbuild/linux-arm64": { 146 | "version": "0.18.20", 147 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", 148 | "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", 149 | "cpu": [ 150 | "arm64" 151 | ], 152 | "dev": true, 153 | "optional": true, 154 | "os": [ 155 | "linux" 156 | ], 157 | "engines": { 158 | "node": ">=12" 159 | } 160 | }, 161 | "node_modules/@esbuild/linux-ia32": { 162 | "version": "0.18.20", 163 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", 164 | "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", 165 | "cpu": [ 166 | "ia32" 167 | ], 168 | "dev": true, 169 | "optional": true, 170 | "os": [ 171 | "linux" 172 | ], 173 | "engines": { 174 | "node": ">=12" 175 | } 176 | }, 177 | "node_modules/@esbuild/linux-loong64": { 178 | "version": "0.18.20", 179 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", 180 | "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", 181 | "cpu": [ 182 | "loong64" 183 | ], 184 | "dev": true, 185 | "optional": true, 186 | "os": [ 187 | "linux" 188 | ], 189 | "engines": { 190 | "node": ">=12" 191 | } 192 | }, 193 | "node_modules/@esbuild/linux-mips64el": { 194 | "version": "0.18.20", 195 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", 196 | "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", 197 | "cpu": [ 198 | "mips64el" 199 | ], 200 | "dev": true, 201 | "optional": true, 202 | "os": [ 203 | "linux" 204 | ], 205 | "engines": { 206 | "node": ">=12" 207 | } 208 | }, 209 | "node_modules/@esbuild/linux-ppc64": { 210 | "version": "0.18.20", 211 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", 212 | "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", 213 | "cpu": [ 214 | "ppc64" 215 | ], 216 | "dev": true, 217 | "optional": true, 218 | "os": [ 219 | "linux" 220 | ], 221 | "engines": { 222 | "node": ">=12" 223 | } 224 | }, 225 | "node_modules/@esbuild/linux-riscv64": { 226 | "version": "0.18.20", 227 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", 228 | "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", 229 | "cpu": [ 230 | "riscv64" 231 | ], 232 | "dev": true, 233 | "optional": true, 234 | "os": [ 235 | "linux" 236 | ], 237 | "engines": { 238 | "node": ">=12" 239 | } 240 | }, 241 | "node_modules/@esbuild/linux-s390x": { 242 | "version": "0.18.20", 243 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", 244 | "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", 245 | "cpu": [ 246 | "s390x" 247 | ], 248 | "dev": true, 249 | "optional": true, 250 | "os": [ 251 | "linux" 252 | ], 253 | "engines": { 254 | "node": ">=12" 255 | } 256 | }, 257 | "node_modules/@esbuild/linux-x64": { 258 | "version": "0.18.20", 259 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", 260 | "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", 261 | "cpu": [ 262 | "x64" 263 | ], 264 | "dev": true, 265 | "optional": true, 266 | "os": [ 267 | "linux" 268 | ], 269 | "engines": { 270 | "node": ">=12" 271 | } 272 | }, 273 | "node_modules/@esbuild/netbsd-x64": { 274 | "version": "0.18.20", 275 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", 276 | "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", 277 | "cpu": [ 278 | "x64" 279 | ], 280 | "dev": true, 281 | "optional": true, 282 | "os": [ 283 | "netbsd" 284 | ], 285 | "engines": { 286 | "node": ">=12" 287 | } 288 | }, 289 | "node_modules/@esbuild/openbsd-x64": { 290 | "version": "0.18.20", 291 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", 292 | "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", 293 | "cpu": [ 294 | "x64" 295 | ], 296 | "dev": true, 297 | "optional": true, 298 | "os": [ 299 | "openbsd" 300 | ], 301 | "engines": { 302 | "node": ">=12" 303 | } 304 | }, 305 | "node_modules/@esbuild/sunos-x64": { 306 | "version": "0.18.20", 307 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", 308 | "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", 309 | "cpu": [ 310 | "x64" 311 | ], 312 | "dev": true, 313 | "optional": true, 314 | "os": [ 315 | "sunos" 316 | ], 317 | "engines": { 318 | "node": ">=12" 319 | } 320 | }, 321 | "node_modules/@esbuild/win32-arm64": { 322 | "version": "0.18.20", 323 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", 324 | "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", 325 | "cpu": [ 326 | "arm64" 327 | ], 328 | "dev": true, 329 | "optional": true, 330 | "os": [ 331 | "win32" 332 | ], 333 | "engines": { 334 | "node": ">=12" 335 | } 336 | }, 337 | "node_modules/@esbuild/win32-ia32": { 338 | "version": "0.18.20", 339 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", 340 | "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", 341 | "cpu": [ 342 | "ia32" 343 | ], 344 | "dev": true, 345 | "optional": true, 346 | "os": [ 347 | "win32" 348 | ], 349 | "engines": { 350 | "node": ">=12" 351 | } 352 | }, 353 | "node_modules/@esbuild/win32-x64": { 354 | "version": "0.18.20", 355 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", 356 | "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", 357 | "cpu": [ 358 | "x64" 359 | ], 360 | "dev": true, 361 | "optional": true, 362 | "os": [ 363 | "win32" 364 | ], 365 | "engines": { 366 | "node": ">=12" 367 | } 368 | }, 369 | "node_modules/aos": { 370 | "version": "2.3.4", 371 | "resolved": "https://registry.npmjs.org/aos/-/aos-2.3.4.tgz", 372 | "integrity": "sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw==", 373 | "dependencies": { 374 | "classlist-polyfill": "^1.0.3", 375 | "lodash.debounce": "^4.0.6", 376 | "lodash.throttle": "^4.0.1" 377 | } 378 | }, 379 | "node_modules/classlist-polyfill": { 380 | "version": "1.2.0", 381 | "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", 382 | "integrity": "sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==" 383 | }, 384 | "node_modules/esbuild": { 385 | "version": "0.18.20", 386 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", 387 | "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", 388 | "dev": true, 389 | "hasInstallScript": true, 390 | "bin": { 391 | "esbuild": "bin/esbuild" 392 | }, 393 | "engines": { 394 | "node": ">=12" 395 | }, 396 | "optionalDependencies": { 397 | "@esbuild/android-arm": "0.18.20", 398 | "@esbuild/android-arm64": "0.18.20", 399 | "@esbuild/android-x64": "0.18.20", 400 | "@esbuild/darwin-arm64": "0.18.20", 401 | "@esbuild/darwin-x64": "0.18.20", 402 | "@esbuild/freebsd-arm64": "0.18.20", 403 | "@esbuild/freebsd-x64": "0.18.20", 404 | "@esbuild/linux-arm": "0.18.20", 405 | "@esbuild/linux-arm64": "0.18.20", 406 | "@esbuild/linux-ia32": "0.18.20", 407 | "@esbuild/linux-loong64": "0.18.20", 408 | "@esbuild/linux-mips64el": "0.18.20", 409 | "@esbuild/linux-ppc64": "0.18.20", 410 | "@esbuild/linux-riscv64": "0.18.20", 411 | "@esbuild/linux-s390x": "0.18.20", 412 | "@esbuild/linux-x64": "0.18.20", 413 | "@esbuild/netbsd-x64": "0.18.20", 414 | "@esbuild/openbsd-x64": "0.18.20", 415 | "@esbuild/sunos-x64": "0.18.20", 416 | "@esbuild/win32-arm64": "0.18.20", 417 | "@esbuild/win32-ia32": "0.18.20", 418 | "@esbuild/win32-x64": "0.18.20" 419 | } 420 | }, 421 | "node_modules/fsevents": { 422 | "version": "2.3.3", 423 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 424 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 425 | "dev": true, 426 | "hasInstallScript": true, 427 | "optional": true, 428 | "os": [ 429 | "darwin" 430 | ], 431 | "engines": { 432 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 433 | } 434 | }, 435 | "node_modules/lodash.debounce": { 436 | "version": "4.0.8", 437 | "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", 438 | "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" 439 | }, 440 | "node_modules/lodash.throttle": { 441 | "version": "4.1.1", 442 | "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", 443 | "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" 444 | }, 445 | "node_modules/nanoid": { 446 | "version": "3.3.6", 447 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 448 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 449 | "dev": true, 450 | "funding": [ 451 | { 452 | "type": "github", 453 | "url": "https://github.com/sponsors/ai" 454 | } 455 | ], 456 | "bin": { 457 | "nanoid": "bin/nanoid.cjs" 458 | }, 459 | "engines": { 460 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 461 | } 462 | }, 463 | "node_modules/picocolors": { 464 | "version": "1.0.0", 465 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 466 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 467 | "dev": true 468 | }, 469 | "node_modules/postcss": { 470 | "version": "8.4.30", 471 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", 472 | "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", 473 | "dev": true, 474 | "funding": [ 475 | { 476 | "type": "opencollective", 477 | "url": "https://opencollective.com/postcss/" 478 | }, 479 | { 480 | "type": "tidelift", 481 | "url": "https://tidelift.com/funding/github/npm/postcss" 482 | }, 483 | { 484 | "type": "github", 485 | "url": "https://github.com/sponsors/ai" 486 | } 487 | ], 488 | "dependencies": { 489 | "nanoid": "^3.3.6", 490 | "picocolors": "^1.0.0", 491 | "source-map-js": "^1.0.2" 492 | }, 493 | "engines": { 494 | "node": "^10 || ^12 || >=14" 495 | } 496 | }, 497 | "node_modules/rollup": { 498 | "version": "3.29.2", 499 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.2.tgz", 500 | "integrity": "sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==", 501 | "dev": true, 502 | "bin": { 503 | "rollup": "dist/bin/rollup" 504 | }, 505 | "engines": { 506 | "node": ">=14.18.0", 507 | "npm": ">=8.0.0" 508 | }, 509 | "optionalDependencies": { 510 | "fsevents": "~2.3.2" 511 | } 512 | }, 513 | "node_modules/source-map-js": { 514 | "version": "1.0.2", 515 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 516 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 517 | "dev": true, 518 | "engines": { 519 | "node": ">=0.10.0" 520 | } 521 | }, 522 | "node_modules/vite": { 523 | "version": "4.4.9", 524 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", 525 | "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", 526 | "dev": true, 527 | "dependencies": { 528 | "esbuild": "^0.18.10", 529 | "postcss": "^8.4.27", 530 | "rollup": "^3.27.1" 531 | }, 532 | "bin": { 533 | "vite": "bin/vite.js" 534 | }, 535 | "engines": { 536 | "node": "^14.18.0 || >=16.0.0" 537 | }, 538 | "funding": { 539 | "url": "https://github.com/vitejs/vite?sponsor=1" 540 | }, 541 | "optionalDependencies": { 542 | "fsevents": "~2.3.2" 543 | }, 544 | "peerDependencies": { 545 | "@types/node": ">= 14", 546 | "less": "*", 547 | "lightningcss": "^1.21.0", 548 | "sass": "*", 549 | "stylus": "*", 550 | "sugarss": "*", 551 | "terser": "^5.4.0" 552 | }, 553 | "peerDependenciesMeta": { 554 | "@types/node": { 555 | "optional": true 556 | }, 557 | "less": { 558 | "optional": true 559 | }, 560 | "lightningcss": { 561 | "optional": true 562 | }, 563 | "sass": { 564 | "optional": true 565 | }, 566 | "stylus": { 567 | "optional": true 568 | }, 569 | "sugarss": { 570 | "optional": true 571 | }, 572 | "terser": { 573 | "optional": true 574 | } 575 | } 576 | } 577 | } 578 | } 579 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "w3wallet", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview" 10 | }, 11 | "devDependencies": { 12 | "vite": "^4.4.5" 13 | }, 14 | "dependencies": { 15 | "aos": "^2.3.4" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prakticode/html_css_projet_1/7b14c7bb18e272a20c83836ed5290790d5a917bf/public/icon.png -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /w3wallet_assets.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prakticode/html_css_projet_1/7b14c7bb18e272a20c83836ed5290790d5a917bf/w3wallet_assets.zip --------------------------------------------------------------------------------