1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 6 <link rel="apple-touch-icon" sizes="76x76" href=""> 7 <link rel="icon" type="image/x-icon" href="/favicon.ico"> 8 <title> 9 Trakey 10 </title> 11 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> 12 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 13 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 14 <link rel="manifest" href="/site.webmanifest"> 15 <link rel="manifest" href="/manifest.json"> 16 17 <link rel="preconnect" href="https://fonts.googleapis.com"> 18 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 19 <link href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Shrikhand&display=swap" rel="stylesheet"> 20 <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet" /> 21 <link href="/css/nucleo-icons.css" rel="stylesheet" /> 22 <link href="/css/nucleo-svg.css" rel="stylesheet" /> 23 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css" /> 24 <link href="/css/nucleo-svg.css" rel="stylesheet" /> 25 <link id="pagestyle" href="/css/argon-dashboard.css" rel="stylesheet" /> 26 </head> 27 28 <!-- Google tag (gtag.js) -->
vendor: 72 bytes, lines 28-29
28 29 <script async src="https://www.googletagmanager.com/gtag/js?id=
29G-BRQDJDWPDB
vendor: 20 bytes, lines 29-30
29"></script> 30
30<script> 31
vendor: 164 bytes, lines 31-35
31window.dataLayer = window.dataLayer || []; 32 function gtag(){dataLayer.push(arguments);} 33 gtag('js', new Date()); 34 35 gtag('config', '
35G-BRQDJDWPDB
vendor: 12 bytes, lines 35-36
35'); 36
36</script>
36 37 38 <body class="g-sidenav-show bg-gray-100" style="margin-bottom: 50px; font-family: 'Poppins',sans-serif"> 39 40 41 42 43 44 45 46 47 48 49 <nav class="d-block d-md-none navbar navbar-expand-lg navbar-light bg-white"> 50 <div class="container-fluid"> 51 <a class="navbar-brand" href="/en"> 52 <a class="d-flex" href="/en"> 53 <img alt="Logo Trakey" src="/logos/logo.png" height="50" class="mt-3"> 54 <p class="brand_header text-dark mt-2" style="font-size: 2.5em"> 55 <strong> 56 Trakey 57 </strong> 58 </p> 59 </a> 60 </a> 61 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> 62 <span class="navbar-toggler-icon"></span> 63 </button> 64 <div class="collapse navbar-collapse" id="navbarNav"> 65 <ul class="navbar-nav"> 66 <li class="nav-item"> 67 <a class="nav-link active" aria-current="page" href="/en/login"> 68 Login 69 </a> 70 </li> 71 <li class="nav-item"> 72 <a class="nav-link" href="/en/inscription"> 73 Registration 74 </a> 75 </li> 76 </ul> 77 </div> 78 </div> 79 </nav> 80 81 82 83 <main class="main-content mt-0"> 84 <section> 85 <div class="page-header min-vh-100"> 86 <div class="container"> 87 <div class="row"> 88 <div class="col-xl-4 col-lg-5 col-md-7 d-flex flex-column mx-lg-0 mx-auto"> 89 <div class="card card-plain"> 90 <div class="card-header pb-0 text-start"> 91 <h4 class="font-weight-bolder">Login</h4> 92 <p class="mb-0">Enter email and password</p> 93 <br /> 94 </div> 95 <form role="form" method="post"> 96 97 <div class="mb-3"> 98 <input placeholder="email" type="email" value="" name="_username" id="username" class="form-control form-control-lg" autocomplete="email" required autofocus> 99 </div> 100 <div class="mb-3"> 101 <input placeholder="password" type="password" name="_password" id="password" class="form-control form-control-lg" autocomplete="current-password" required> 102 </div> 103 <input type="hidden" name="_csrf_token" value="csrf-token"> 104 105 <br /> 106 <div class="text-center"> 107 <button class="btn btn-lg btn-primary btn-lg w-100 mt-4 mb-0" type="submit"> 108 Login 109 </button> 110 </div> 111 </form> 112 113 <div class="text-center my-3 text-muted text-sm">or</div> 114 <a href="/connect/google?_locale=en" 115 class="btn btn-lg w-100 mb-2 d-flex align-items-center justify-content-center" 116 style="background-color:#fff;border:1px solid #dadce0;color:#3c4043;font-weight:500;"> 117 <svg width="18" height="18" viewBox="0 0 48 48" class="me-2" aria-hidden="true" style="flex-shrink:0;"> 118 <path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/> 119 <path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/> 120 <path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/> 121 <path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/> 122 </svg> 123 Continuer avec Google 124</a> 125 126 <div class="card-footer text-center pt-0 px-lg-2 px-1"> 127 <p class="mb-4 text-sm mx-auto"> 128 Don't have an account yet ? 129 <a href="/en/inscription" class="text-primary text-gradient font-weight-bold">Sign up</a> 130 </p> 131 <p class="mb-4 text-sm mx-auto"> 132 <a href="/en" class="text-primary text-gradient font-weight-bold"> 133 Return to the homepage 134 </a> 135 </p> 136 </div> 137 </div> 138 </div> 139 <div class="col-6 d-lg-flex d-none h-100 my-auto pe-0 position-absolute top-0 end-0 text-center justify-content-center flex-column"> 140 <div class="position-relative bg-gradient-primary h-100 m-3 px-7 border-radius-lg d-flex flex-column justify-content-center overflow-hidden" 141 style="background-image: url(/img/website/illustration.png); 142 background-size: cover;">
143 <span class="mask bg-gradient-primary opacity-6"></span> 144 <h4 class="mt-5 text-white font-weight-bolder position-relative"> 145 Optimize your sales, master your numbers 146 </h4> 147 <p class="text-white position-relative"> 148 A complete tool to track your performance, manage your inventory, and maximize your profits 149 </p> 150 </div> 151 </div> 152 </div> 153 </div> 154 </div> 155 </section> 156 </main> 157 158 159 160 161 162
162<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
162 163
163<script src="/js/core/popper.min.js"></script>
163 164
164<script src="/js/core/bootstrap.min.js"></script>
164 165
165<script src="/js/plugins/perfect-scrollbar.min.js"></script>
165 166
166<script src="/js/plugins/smooth-scrollbar.min.js"></script>
166 167
167<script src="/js/plugins/chartjs.min.js"></script>
167 168 169
169<script> 170 // if ('serviceWorker' in navigator) { 171 // window.addEventListener('load', () => { 172 // navigator.serviceWorker 173 // .register('/service-worker.js') 174 // .then((registration) => { 175 // console.log('Service Worker registered with scope:', registration.scope); 176 // }) 177 // .catch((error) => { 178 // console.error('Service Worker registration failed:', error); 179 // }); 180 // }); 181 // } 182 </script>
182 183 184
184<script> 185 var win = navigator.platform.indexOf('Win') > -1; 186 if (win && document.querySelector('#sidenav-scrollbar')) { 187 var options = { 188 damping: '0.5' 189 } 190 Scrollbar.init(document.querySelector('#sidenav-scrollbar'), options); 191 } 192 </script>
192 193 194
194<script async defer src="https://buttons.github.io/buttons.js"></script>
194 195 196 197
197<script src="https://cdnjs.cloudflare.com/ajax/libs/hinclude/0.9.5/hinclude.min.js" integrity="sha512-j/sDpJVnQYN45wrK5tZlmnn8ik7eJ7Xo4hmYKDN3r079CNDJ2G7kodQR52djHT2ppMobHkxVOwmXa8SCPb6DhQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
197 198 199
199<script> 200 let spinner = '<div class="spinner-border" role="status"><span class="sr-only">Loading...</span> </div>'; 201 $('#select_language').on('change', function () { 202 var selectedLocale = $(this).val(); 203 var currentPath = "\/en\/login"; 204 var newPath = currentPath.replace(/^\/[a-z]{2}\b/, '/' + selectedLocale); 205 window.location.href = newPath; 206}); 207$('#dark-version').on('click', function() { 208 $.ajax({ 209 url: '\/api\/toggle\u002Ddark\u002Dmode', 210 method: 'POST', 211 data: { 212 darkMode: this.checked 213 } 214 }).done(function() { 215 location.reload(); 216 }).fail(function() { 217 console.error("Erreur lors du changement de mode."); 218 }); 219}); function showSpinner(event) { 220 let isNewTab = $(this).attr('target') === '_blank'; 221 222 // Vérifier si l'utilisateur ouvre un lien dans un nouvel onglet 223 if (event === undefined || event.ctrlKey || event.metaKey || event.button === 1 || isNewTab) { 224 return; // Ne pas afficher le spinner 225 } 226 227 // Stocker le contenu actuel dans sessionStorage 228 sessionStorage.setItem('previousContent', $('#content').html()); 229 230 // Afficher le spinner 231 const spinnerHTML = ` 232 <div id="loading-spinner" class="spinner-border mt-5" style="margin-left:10%" role="status"> 233 <span class="sr-only">Loading...</span> 234 </div> 235 `; 236 $('#content').html(spinnerHTML); 237} 238 239 240$(document).on('click', 'a', function (event) { 241 let href = $(this).attr('href'); 242 243 // Liste des URLs à exclure 244 const excludedUrls = [ 245 "\/logout", // Ajoute d'autres URLs si besoin 246 ]; 247 248 // Vérifier si href est valide et non exclu 249 if ( 250 href && href.trim() !== "" && 251 href !== "#" && 252 !href.startsWith("javascript") && 253 !excludedUrls.includes(href) 254 ) { 255 showSpinner(event); 256 } 257}); 258 259// Ãvénement "pageshow" : détecte quand l'utilisateur revient en arrière 260window.addEventListener("pageshow", function (event) { 261 // Vérifier si on revient via le bouton "Précédent" (chargement depuis le cache) 262 if (event.persisted) { 263 let previousContent = sessionStorage.getItem('previousContent'); 264 265 if (previousContent) { 266 $('#content').html(previousContent); // Restaurer le contenu 267 } 268 } 269}); </script>
269 270 271 272
272<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"10609fa9a946446a95babf2f44b7cc3c","r":1,"spa":2}' crossorigin="anonymous"></script>
272 273</body> 274</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.