Depuis la version 1.1
modifié par superadmin
sur 2026/01/29 14:13
sur 2026/01/29 14:13
Commentaire de modification :
Install extension [org.xwiki.platform:xwiki-platform-distribution-flavor-common/17.10.2]
Résumé
-
Propriétés de la Page (2 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Auteur du document
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. superadmin1 +xwiki:XWiki.Admin - Contenu
-
... ... @@ -1,40 +1,338 @@ 1 -== Bienvenue sur votre Wiki == 1 +{{html clean="false"}} 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 +} 2 2 3 -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. 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 +} 4 4 5 -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. 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 +} 6 6 7 -== Les bases == 42 +.bouton-guide-multicolore:active { 43 + transform: translateY(-3px) scale(1.1); 44 +} 8 8 9 -Pour utiliser votre Wiki au maximum de son potentiel, identifiez-vous et : 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 +} 10 10 11 -Utilisez le bouton {{displayIcon name="pencil"/}} ci-dessus pour //éditer// cette page et commencer à adapter ce Wiki à vos besoins. 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 +} 12 12 13 -Utilisez le bouton {{displayIcon name="add"/}} ci-dessus pour //ajouter// de nouvelles pages à votre Wiki et créez la //hiérarchie// qui vous convient le mieux pour organiser votre contenu. 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 +} 14 14 15 -Utilisez le fil d'Ariane {{displayIcon name="home"/}} localisé au dessus du titre pour //naviguer// parmi vos pages. Vous pouvez être facilement perdu dans un Wiki important sans ce fil d'Ariane. 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 +} 16 16 17 -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. 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 +} 18 18 19 - {{box}}Apprenez à utiliser XWiki avec le [[Guide "Getting Started" (en anglais)>>https://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/GettingStarted/WebHome]].{{/box}} 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 +} 20 20 21 -(%class="row"%) 22 -((( 23 -(%class="col-xs-12 col-sm-6"%) 24 -((( 25 -== Étendez votre Wiki == 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 +} 26 26 27 -Pour étendre les fonctionnalités de votre Wiki avec les modules dont //vous// avez besoin, allez sur le [[gestionnaire d'extensions>>XWiki.XWikiPreferences||queryString="editor=globaladmin§ion=XWiki.Extensions"]] où vous pouvez rechercher et installer des extensions. 109 +.ray:nth-child(2) { 110 + animation-delay: -1s; 111 +} 28 28 29 -Pour naviguer dans les 900+ extensions contribuées par la communauté XWiki, visitez la [[galerie d'extensions>>https://extensions.xwiki.org]]. 30 -))) 113 +.ray:nth-child(3) { 114 + animation-delay: -2s; 115 +} 31 31 32 -(%class="col-xs-12 col-sm-6"%) 33 -((( 34 -== 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 +} 35 35 36 -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 +} 37 37 38 -AWM vous aide et simplifie pour vous et vos utilisateurs la création et la gestion de vos informations. 39 -))) 40 -))) 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" id="hypnoticButton"> 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 +let currentDuration = 0.1; // Durée normale de chaque "tu" 243 +let patternTimeout = null; 244 + 245 +function playTututu() { 246 + if (oscillator) return; // Déjà en train de jouer 247 + 248 + oscillator = audioContext.createOscillator(); 249 + gainNode = audioContext.createGain(); 250 + 251 + oscillator.connect(gainNode); 252 + gainNode.connect(audioContext.destination); 253 + 254 + // Fréquence pour le son "tu" 255 + oscillator.frequency.value = 800; 256 + oscillator.type = 'square'; // Son électronique 257 + 258 + // Volume 259 + gainNode.gain.value = 0.1; 260 + 261 + oscillator.start(); 262 + isPlaying = true; 263 + 264 + // Créer l'effet tututututu en modulant la fréquence 265 + schedulePattern(); 266 +} 267 + 268 +function schedulePattern() { 269 + if (!isPlaying) return; 270 + 271 + const pattern = [800, 900, 800, 950, 800, 900, 800, 1000]; 272 + let time = audioContext.currentTime; 273 + 274 + pattern.forEach((freq, index) => { 275 + if (oscillator) { 276 + oscillator.frequency.setValueAtTime(freq, time + (index * currentDuration)); 277 + } 278 + }); 279 + 280 + patternTimeout = setTimeout(schedulePattern, pattern.length * currentDuration * 1000); 281 +} 282 + 283 +function stopSound() { 284 + if (oscillator) { 285 + isPlaying = false; 286 + oscillator.stop(); 287 + oscillator.disconnect(); 288 + oscillator = null; 289 + gainNode.disconnect(); 290 + gainNode = null; 291 + } 292 + if (patternTimeout) { 293 + clearTimeout(patternTimeout); 294 + patternTimeout = null; 295 + } 296 +} 297 + 298 +function speedUpSound() { 299 + currentDuration = 0.03; // Super rapide au survol ! 300 +} 301 + 302 +function normalizeSound() { 303 + currentDuration = 0.1; // Vitesse normale 304 +} 305 + 306 +// Contrôle du bouton 307 +const soundToggle = document.getElementById('soundToggle'); 308 +const hypnoticButton = document.getElementById('hypnoticButton'); 309 +let soundEnabled = true; 310 + 311 +soundToggle.addEventListener('click', function() { 312 + soundEnabled = !soundEnabled; 313 + if (soundEnabled) { 314 + playTututu(); 315 + soundToggle.textContent = '🔊 Son ON'; 316 + } else { 317 + stopSound(); 318 + soundToggle.textContent = '🔇 Son OFF'; 319 + } 320 +}); 321 + 322 +// Événements de survol pour accélérer le son 323 +hypnoticButton.addEventListener('mouseenter', function() { 324 + if (soundEnabled && isPlaying) { 325 + speedUpSound(); 326 + } 327 +}); 328 + 329 +hypnoticButton.addEventListener('mouseleave', function() { 330 + if (soundEnabled && isPlaying) { 331 + normalizeSound(); 332 + } 333 +}); 334 + 335 +// Démarrer automatiquement le son 336 +playTututu(); 337 +</script> 338 +{{/html}}