Modifications pour le document Home

Modifié par Admin le 2026/05/11 09:26

Depuis la version 2.1
modifié par superadmin
sur 2026/01/29 14:16
Commentaire de modification : Imported from XAR
À la version 6.1
modifié par Admin
sur 2026/05/11 09:22
Commentaire de modification : Il n'y a aucun commentaire pour cette version

Résumé

Détails

Propriétés de la Page
Auteur du document
... ... @@ -1,1 +1,1 @@
1 -XWiki.superadmin
1 +xwiki:XWiki.Admin
Contenu
... ... @@ -1,50 +3,310 @@
1 -{{box cssClass="floatinginfobox"}}
2 -{{velocity}}
3 3  {{html clean="false"}}
4 -## Chrome's XSS Auditor blocks the preview action if:
5 -## * the submitted content has an iframe with an external URL
6 -## * the preview action displays the submitted iframe
7 -## The workaround is to make sure the submitted content (the macro markers) don't match the preview HTML.
8 -## See XWIKI-14818: Preview triggers ERR_BLOCKED_BY_XSS_AUDITOR in Chrome
9 -#set ($iframe = 'iframe')
10 -<$iframe src="https://www.youtube.com/embed/9QTWrZ7OfzI" allowfullscreen></$iframe>
11 -{{/html}}
12 -{{/velocity}}
13 -{{/box}}
2 +<style>
3 +.bouton-guide-multicolore {
4 + display: inline-block;
5 + padding: 40px 80px;
6 + font-size: 36px;
7 + font-weight: bold;
8 + text-decoration: none;
9 + color: white;
10 + background: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #4facfe 75%, #00f2fe 100%);
11 + background-size: 300% 300%;
12 + border-radius: 60px;
13 + box-shadow: 0 0 40px rgba(102, 126, 234, 0.8), 0 0 80px rgba(118, 75, 162, 0.6);
14 + transition: all 0.3s ease;
15 + animation: gradient-shift 3s ease infinite, pulse-glow 1.5s ease-in-out infinite, flash-extreme 0.8s linear infinite;
16 + text-align: center;
17 + border: 3px solid rgba(255, 255, 255, 0.5);
18 + cursor: pointer;
19 + font-family: Arial, sans-serif;
20 + position: relative;
21 + overflow: hidden;
22 + z-index: 10;
23 +}
14 14  
15 -= Bienvenue sur votre Wiki =
25 +.bouton-guide-multicolore::before {
26 + content: '';
27 + position: absolute;
28 + top: -50%;
29 + left: -50%;
30 + width: 200%;
31 + height: 200%;
32 + background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
33 + animation: shine 2s linear infinite;
34 +}
16 16  
17 -XWiki est le meilleur outil pour organiser votre connaissance. Un //Wiki// est organisé suivant une hiérarchie de //pages//. Vous pouvez créer de multiples wikis, chacun avec son propre ensemble de pages.
36 +.bouton-guide-multicolore:hover {
37 + transform: translateY(-8px) scale(1.15) rotate(2deg);
38 + box-shadow: 0 0 60px rgba(102, 126, 234, 1), 0 0 120px rgba(118, 75, 162, 0.8), 0 20px 40px rgba(0, 0, 0, 0.5);
39 + animation: gradient-shift 1s ease infinite, pulse-glow 0.5s ease-in-out infinite, flash-extreme 0.3s linear infinite, shake 0.5s ease infinite;
40 +}
18 18  
19 -XWiki peut être utilisé comme base de connaissance (pour le support, la documentation, les ventes, etc.), pour créer des espaces collaboratifs, ou même comme un intranet complet.
42 +.bouton-guide-multicolore:active {
43 + transform: translateY(-3px) scale(1.1);
44 +}
20 20  
21 -= Les bases =
46 +/* Cercles hypnotiques */
47 +.hypnotic-circle {
48 + position: absolute;
49 + border-radius: 50%;
50 + border: 3px solid;
51 + animation: spin-hypnotic 4s linear infinite;
52 +}
22 22  
23 -Pour utiliser votre Wiki au maximum de son potentiel, identifiez-vous et :
54 +.circle1 {
55 + width: 300px;
56 + height: 300px;
57 + border-color: rgba(102, 126, 234, 0.6) transparent rgba(240, 147, 251, 0.6) transparent;
58 + animation: spin-hypnotic 3s linear infinite;
59 +}
24 24  
25 -Utilisez le bouton {{velocity}}$services.icon.render('pencil'){{/velocity}} ci-dessus pour //éditer// cette page et commencer à adapter ce Wiki à vos besoins.
61 +.circle2 {
62 + width: 400px;
63 + height: 400px;
64 + border-color: transparent rgba(118, 75, 162, 0.5) transparent rgba(79, 172, 254, 0.5);
65 + animation: spin-hypnotic-reverse 4s linear infinite;
66 +}
26 26  
27 -Utilisez le bouton {{velocity}}$services.icon.render('add'){{/velocity}} ci-dessus pour //ajouter// de nouvelles pages à votre Wiki et créez la //hiérarchie// qui vous convient le mieux pour organiser votre contenu.
68 +.circle3 {
69 + width: 500px;
70 + height: 500px;
71 + border-color: rgba(0, 242, 254, 0.4) transparent rgba(240, 147, 251, 0.4) transparent;
72 + animation: spin-hypnotic 5s linear infinite;
73 +}
28 28  
29 -Utilisez le fil d'Ariane {{velocity}}$services.icon.render('home'){{/velocity}} localisé au dessus du titre pour //naviguer// parmi vos pages. Vous pouvez être facilement perdu dans un Wiki important sans ce fil d'Ariane.
75 +.circle4 {
76 + width: 600px;
77 + height: 600px;
78 + border-color: transparent rgba(102, 126, 234, 0.3) transparent rgba(118, 75, 162, 0.3);
79 + animation: spin-hypnotic-reverse 6s linear infinite;
80 +}
30 30  
31 -Vous pouvez aussi utiliser le [[bac à sable>>Sandbox.WebHome]] pour plus de contenu exemple ainsi que comme endroit pour expérimenter les fonctionnalités de votre Wiki.
82 +/* Spirale hypnotique */
83 +.spiral {
84 + position: absolute;
85 + width: 700px;
86 + height: 700px;
87 + border-radius: 50%;
88 + background: conic-gradient(
89 + from 0deg,
90 + transparent 0deg,
91 + rgba(102, 126, 234, 0.3) 90deg,
92 + transparent 180deg,
93 + rgba(240, 147, 251, 0.3) 270deg,
94 + transparent 360deg
95 + );
96 + animation: spin-hypnotic 8s linear infinite;
97 +}
32 32  
33 - {{box}}Apprenez à utiliser XWiki avec le {{velocity}}[[Guide "Getting Started" (en anglais)>>http://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/GettingStarted/WebHome?version=$xwiki.version]]{{/velocity}}.{{/box}}
99 +/* Rayons rotatifs */
100 +.ray {
101 + position: absolute;
102 + width: 400px;
103 + height: 4px;
104 + background: linear-gradient(90deg, transparent, rgba(79, 172, 254, 0.8), transparent);
105 + transform-origin: center;
106 + animation: spin-ray 3s linear infinite;
107 +}
34 34  
35 -(%class="row"%)(((
36 -(%class="col-xs-12 col-sm-6"%)(((
37 -= Étendez votre Wiki =
109 +.ray:nth-child(2) {
110 + animation-delay: -1s;
111 +}
38 38  
39 -Pour étendre les fonctionnalités de votre Wiki avec les modules dont //vous// avez besoin, allez sur le {{velocity}}[[gestionnaire d'extensions>>path:$xwiki.getURL($services.model.createDocumentReference('wiki', 'XWiki', 'XWikiPreferences'), 'admin', 'editor=globaladmin&section=XWiki.Extensions')]]{{/velocity}} où vous pouvez rechercher et installer des extensions.
113 +.ray:nth-child(3) {
114 + animation-delay: -2s;
115 +}
40 40  
41 -Pour naviguer dans les 900+ extensions contribuées par la communauté XWiki, visitez la [[galerie d'extensions>>http://extensions.xwiki.org]].
42 -)))
43 -(%class="col-xs-12 col-sm-6"%)(((
44 -= Créez votre application =
117 +@keyframes gradient-shift {
118 + 0% { background-position: 0% 50%; }
119 + 50% { background-position: 100% 50%; }
120 + 100% { background-position: 0% 50%; }
121 +}
45 45  
46 -Pour aller plus loin que les extensions disponibles, définissez vos //propres structures// pour vos contenus en fonction de //vos// besoins et créez //vos// propres applications avec [["App Within Minutes">>AppWithinMinutes.WebHome]] (AWM).
123 +@keyframes pulse-glow {
124 + 0%, 100% {
125 + box-shadow: 0 0 40px rgba(102, 126, 234, 0.8), 0 0 80px rgba(118, 75, 162, 0.6);
126 + }
127 + 50% {
128 + box-shadow: 0 0 80px rgba(240, 147, 251, 1), 0 0 160px rgba(79, 172, 254, 0.9), 0 0 200px rgba(0, 242, 254, 0.7);
129 + }
130 +}
47 47  
48 -AWM vous aide et simplifie pour vous et vos utilisateurs la création et la gestion de vos informations.
49 -)))
50 -)))
132 +@keyframes flash-extreme {
133 + 0%, 49%, 51%, 100% {
134 + opacity: 1;
135 + filter: brightness(1);
136 + }
137 + 50% {
138 + opacity: 0.7;
139 + filter: brightness(1.8) saturate(1.5);
140 + }
141 +}
142 +
143 +@keyframes shine {
144 + 0% {
145 + transform: translateX(-100%) translateY(-100%) rotate(45deg);
146 + }
147 + 100% {
148 + transform: translateX(100%) translateY(100%) rotate(45deg);
149 + }
150 +}
151 +
152 +@keyframes shake {
153 + 0%, 100% { transform: translateY(-8px) scale(1.15) rotate(0deg); }
154 + 25% { transform: translateY(-8px) scale(1.15) rotate(-3deg); }
155 + 75% { transform: translateY(-8px) scale(1.15) rotate(3deg); }
156 +}
157 +
158 +@keyframes spin-hypnotic {
159 + from { transform: translate(-50%, -50%) rotate(0deg); }
160 + to { transform: translate(-50%, -50%) rotate(360deg); }
161 +}
162 +
163 +@keyframes spin-hypnotic-reverse {
164 + from { transform: translate(-50%, -50%) rotate(360deg); }
165 + to { transform: translate(-50%, -50%) rotate(0deg); }
166 +}
167 +
168 +@keyframes spin-ray {
169 + from { transform: translate(-50%, -50%) rotate(0deg); }
170 + to { transform: translate(-50%, -50%) rotate(360deg); }
171 +}
172 +
173 +.bouton-container {
174 + text-align: center;
175 + padding: 100px 20px;
176 + min-height: 400px;
177 + display: flex;
178 + align-items: center;
179 + justify-content: center;
180 + background: radial-gradient(circle at center, #1a1a2e 0%, #0f0f1e 100%);
181 + position: relative;
182 + overflow: hidden;
183 +}
184 +
185 +.hypnotic-background {
186 + position: absolute;
187 + top: 50%;
188 + left: 50%;
189 + transform: translate(-50%, -50%);
190 + width: 100%;
191 + height: 100%;
192 + display: flex;
193 + align-items: center;
194 + justify-content: center;
195 +}
196 +
197 +.sound-control {
198 + position: fixed;
199 + bottom: 20px;
200 + right: 20px;
201 + background: rgba(102, 126, 234, 0.8);
202 + color: white;
203 + border: none;
204 + padding: 10px 20px;
205 + border-radius: 30px;
206 + cursor: pointer;
207 + font-size: 16px;
208 + z-index: 1000;
209 + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
210 +}
211 +
212 +.sound-control:hover {
213 + background: rgba(118, 75, 162, 0.9);
214 +}
215 +</style>
216 +
217 +<div class="bouton-container">
218 + <div class="hypnotic-background">
219 + <div class="spiral"></div>
220 + <div class="hypnotic-circle circle1"></div>
221 + <div class="hypnotic-circle circle2"></div>
222 + <div class="hypnotic-circle circle3"></div>
223 + <div class="hypnotic-circle circle4"></div>
224 + <div class="ray"></div>
225 + <div class="ray"></div>
226 + <div class="ray"></div>
227 + </div>
228 +
229 + <a href="https://epn.doc.decalog.net/wiki/epn/view/Guide%20administrateur%20%26%20utilisateur/" class="bouton-guide-multicolore">
230 + 📚 Guide Administrateur & Utilisateur
231 + </a>
232 +
233 + <button class="sound-control" id="soundToggle">🔊 Son ON</button>
234 +</div>
235 +
236 +<script>
237 +// Création du contexte audio
238 +const audioContext = new (window.AudioContext || window.webkitAudioContext)();
239 +let oscillator = null;
240 +let gainNode = null;
241 +let isPlaying = false;
242 +
243 +function playTututu() {
244 + if (oscillator) return; // Déjà en train de jouer
245 +
246 + oscillator = audioContext.createOscillator();
247 + gainNode = audioContext.createGain();
248 +
249 + oscillator.connect(gainNode);
250 + gainNode.connect(audioContext.destination);
251 +
252 + // Fréquence pour le son "tu"
253 + oscillator.frequency.value = 800;
254 + oscillator.type = 'square'; // Son électronique
255 +
256 + // Volume
257 + gainNode.gain.value = 0.1;
258 +
259 + oscillator.start();
260 + isPlaying = true;
261 +
262 + // Créer l'effet tututututu en modulant la fréquence
263 + let time = audioContext.currentTime;
264 + const pattern = [800, 900, 800, 950, 800, 900, 800, 1000]; // Variation de fréquences
265 + const duration = 0.1; // Durée de chaque "tu"
266 +
267 + function schedulePattern() {
268 + if (!isPlaying) return;
269 +
270 + pattern.forEach((freq, index) => {
271 + oscillator.frequency.setValueAtTime(freq, time + (index * duration));
272 + });
273 +
274 + time += pattern.length * duration;
275 + setTimeout(schedulePattern, pattern.length * duration * 1000);
276 + }
277 +
278 + schedulePattern();
279 +}
280 +
281 +function stopSound() {
282 + if (oscillator) {
283 + isPlaying = false;
284 + oscillator.stop();
285 + oscillator.disconnect();
286 + oscillator = null;
287 + gainNode.disconnect();
288 + gainNode = null;
289 + }
290 +}
291 +
292 +// Contrôle du bouton
293 +const soundToggle = document.getElementById('soundToggle');
294 +let soundEnabled = true;
295 +
296 +soundToggle.addEventListener('click', function() {
297 + soundEnabled = !soundEnabled;
298 + if (soundEnabled) {
299 + playTututu();
300 + soundToggle.textContent = '🔊 Son ON';
301 + } else {
302 + stopSound();
303 + soundToggle.textContent = '🔇 Son OFF';
304 + }
305 +});
306 +
307 +// Démarrer automatiquement le son
308 +playTututu();
309 +</script>
310 +{{/html}}