-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsite-to-app.txt
219 lines (161 loc) · 6.35 KB
/
site-to-app.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
1. Ajouter un fichier manifest.json
Ce fichier décrit les métadonnées de ton application et permet l'installation sur les appareils des utilisateurs.
Étapes :
Créer le fichier manifest.json à la racine de ton projet avec le contenu suivant :
{
"name": "FiboScope",
"short_name": "FiboScope",
"description": "Outil basé sur le retracement de Fibonacci pour évaluer la performance potentielle d'un token.",
"start_url": "/index.html",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#000000",
"icons": [
{
"src": "/img/icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/img/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
Créer les icônes mentionnées dans le fichier :
Place les images aux dimensions 192x192 et 512x512 pixels dans le dossier /img/icons/.
Inclure le manifeste dans le fichier index.html :
<link rel="manifest" href="/manifest.json">
2. Mettre en place un Service Worker
Le Service Worker permet à ton application de fonctionner hors ligne et d'améliorer les performances en gérant le cache.
Étapes :
Créer le fichier sw.js à la racine de ton projet avec le contenu suivant :
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open('fiboscope-cache').then(function(cache) {
return cache.addAll([
'/',
'/index.html',
'/style.css',
'/script.js',
// Ajoute ici les autres ressources à mettre en cache
]);
})
);
});
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(response) {
return response || fetch(event.request);
})
);
});
Enregistrer le Service Worker dans ton fichier script.js principal :
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js')
.then(function(registration) {
console.log('Service Worker enregistré avec succès:', registration);
})
.catch(function(error) {
console.log('Échec de l\'enregistrement du Service Worker:', error);
});
}
3. S'assurer que le site est servi via HTTPS
Les PWA nécessitent une connexion sécurisée. Si ton site n'est pas déjà en HTTPS, envisage de le faire. Si tu utilises Netlify pour l'hébergement, il propose des certificats SSL gratuits.
4. Tester la PWA
Après avoir mis en place ces éléments :
Utiliser les outils de développement de ton navigateur (par exemple, Chrome DevTools) pour tester le fonctionnement de la PWA.
Vérifier que l'application peut être installée sur un appareil mobile et qu'elle fonctionne hors ligne.
En suivant ces étapes, tu pourras transformer ton site FiboScope en une Progressive Web App, offrant une expérience utilisateur améliorée et des fonctionnalités proches d'une application native.
/// Notif RWA sur l'app meme fermé = MA50.js
// Migration vers Astro
1️⃣ Installer Astro
📌 Prérequis : Assure-toi d’avoir Node.js installé (v16+ recommandé).
👉 Ouvre un terminal et exécute :
npm create astro@latest my-project
cd my-project
npm install
npm run dev
🔹 Cela crée un dossier my-project avec un site Astro de base.
🔹 npm run dev démarre le serveur en local.
2️⃣ Organiser ton projet
Dans Astro, tu peux structurer ton site comme ceci :
/mon-projet-astro
│── /public (📂 Fichiers accessibles directement)
│ ├── /assets (📂 Images, icônes, etc.)
│ ├── script1.js (📜 JS utilisé sur certaines pages)
│ ├── script2.js (📜 JS spécifique à d'autres pages)
│ ├── script3.js (📜 ...)
│ ├── script4.js
│ ├── script5.js
│ ├── style.css (🎨 CSS global)
│
│── /src (📂 Fichiers sources Astro)
│ ├── /components (📂 Composants réutilisables)
│ │ ├── Header.astro (🔝 Header commun)
│ │ ├── Footer.astro (🔻 Footer commun)
│ │
│ ├── /layouts (📂 Template principal)
│ │ ├── Layout.astro (🖼️ Layout qui englobe header, footer)
│ │
│ ├── /pages (📂 Pages principales)
│ │ ├── index.astro (🏠 Page d’accueil)
│ │ ├── about.astro (📄 Page "À propos")
│ │ ├── contact.astro (📩 Page "Contact")
│ │ ├── services.astro(🔧 Page "Services")
│ │ ├── blog.astro (📝 Page "Blog")
│
└── astro.config.mjs (⚙️ Configuration d’Astro)
👉 Déplace ton HTML dans /pages
Si tu as un index.html, renomme-le en index.astro et mets-y ton code.
3️⃣ Convertir les includes (header, footer, etc.)
En PHP, tu faisais :
<?php include('header.php'); ?>
En Astro, tu crées un composant Header.astro dans /src/components/ :
---
// Pas de script ici, c'est juste du HTML
---
<header>
<h1>Mon Site</h1>
<nav>
<a href="/">Accueil</a>
<a href="/about">À propos</a>
</nav>
</header>
Ensuite, dans tes pages, tu l’intègres comme ceci :
---
import Header from "../components/Header.astro";
---
<Header />
<h1>Bienvenue sur mon site</h1>
Fais pareil avec Footer.astro et tout ce que tu réutilises. 🎯
4️⃣ Ajouter du CSS & JS
Astro te laisse le choix :
✔️ Tu peux garder ton CSS en l’état et l’importer dans src/styles/.
✔️ Tu peux aussi écrire du CSS directement dans tes fichiers .astro :
<style>
h1 {
color: red;
}
</style>
✔️ Pour le JS, Astro le charge uniquement si nécessaire (plus rapide que React).
5️⃣ Convertir les scripts JavaScript
🔹 Si ton site a déjà du JS (ex: script.js), Astro te permet de l’importer dans tes fichiers .astro :
<script src="/scripts/script.js"></script>
🔹 Si tu veux utiliser du JS interactif, utilise <script> dans un composant :
---
import { onMount } from "astro/runtime";
onMount(() => {
console.log("Page chargée !");
});
---
6️⃣ Déployer ton site 🚀
1️⃣ Build ton projet :
npm run build
2️⃣ Déploie sur Netlify (ou autre hébergeur statique) :
Si tu utilises GitHub → Connecte ton repo à Netlify.
Si tu veux déployer manuellement →
Va sur Netlify Drop.
Glisse ton dossier dist/.
🎉 Ton site est maintenant en Astro et déployé sur Netlify !