avant codex

This commit is contained in:
2026-02-22 15:05:40 +01:00
parent fed449c784
commit 20af00d653
291 changed files with 51868 additions and 424 deletions

View File

@@ -0,0 +1,41 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Lune - Premier quartier">
<title>Lune - Premier quartier</title>
<defs>
<linearGradient id="nightSkyFQ" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#0F2027"/>
<stop offset="100%" stop-color="#203A43"/>
</linearGradient>
<radialGradient id="moonLightFQ" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#F5F3E7"/>
<stop offset="100%" stop-color="#D9D6C8"/>
</radialGradient>
</defs>
<!-- Night sky -->
<rect width="128" height="128" rx="20" fill="url(#nightSkyFQ)"/>
<!-- Stars -->
<g fill="#FFFFFF" opacity="0.8">
<circle cx="24" cy="28" r="2"/>
<circle cx="98" cy="22" r="1.8"/>
<circle cx="110" cy="46" r="1.5"/>
<circle cx="18" cy="60" r="1.5"/>
<circle cx="90" cy="78" r="2"/>
</g>
<!-- Moon base (dark disc) -->
<circle cx="64" cy="64" r="36" fill="#2C3E50"/>
<!-- Illuminated half (right side) -->
<path d="M64 28
A36 36 0 0 1 64 100
L64 28 Z"
fill="url(#moonLightFQ)"/>
<!-- Subtle craters on lit side -->
<g fill="#CFCBB8" opacity="0.5">
<circle cx="74" cy="52" r="4"/>
<circle cx="82" cy="70" r="3"/>
<circle cx="70" cy="78" r="2.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

39
icons/moon/full_moon.svg Normal file
View File

@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Lune - Pleine lune">
<title>Pleine lune</title>
<defs>
<linearGradient id="nightSkyFM" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#0B1D2A"/>
<stop offset="100%" stop-color="#1C2F3F"/>
</linearGradient>
<radialGradient id="moonFull" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#F8F6EC"/>
<stop offset="70%" stop-color="#E2DECF"/>
<stop offset="100%" stop-color="#CFCBB8"/>
</radialGradient>
</defs>
<!-- Night sky -->
<rect width="128" height="128" rx="20" fill="url(#nightSkyFM)"/>
<!-- Stars -->
<g fill="#FFFFFF" opacity="0.85">
<circle cx="22" cy="24" r="2"/>
<circle cx="104" cy="20" r="1.8"/>
<circle cx="112" cy="48" r="1.5"/>
<circle cx="18" cy="68" r="1.6"/>
<circle cx="96" cy="86" r="2"/>
<circle cx="40" cy="18" r="1.4"/>
</g>
<!-- Full moon -->
<circle cx="64" cy="64" r="38" fill="url(#moonFull)"/>
<!-- Craters -->
<g fill="#BEB9A6" opacity="0.6">
<circle cx="52" cy="50" r="6"/>
<circle cx="76" cy="60" r="5"/>
<circle cx="68" cy="82" r="4"/>
<circle cx="48" cy="72" r="3.5"/>
<circle cx="84" cy="44" r="3"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,41 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Lune - Dernier quartier">
<title>Lune - Dernier quartier</title>
<defs>
<linearGradient id="nightSkyLQ" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#0F2027"/>
<stop offset="100%" stop-color="#203A43"/>
</linearGradient>
<radialGradient id="moonLightLQ" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#F5F3E7"/>
<stop offset="100%" stop-color="#D9D6C8"/>
</radialGradient>
</defs>
<!-- Night sky -->
<rect width="128" height="128" rx="20" fill="url(#nightSkyLQ)"/>
<!-- Stars -->
<g fill="#FFFFFF" opacity="0.8">
<circle cx="24" cy="28" r="2"/>
<circle cx="98" cy="22" r="1.8"/>
<circle cx="110" cy="46" r="1.5"/>
<circle cx="18" cy="60" r="1.5"/>
<circle cx="90" cy="78" r="2"/>
</g>
<!-- Moon base (dark disc) -->
<circle cx="64" cy="64" r="36" fill="#2C3E50"/>
<!-- Illuminated half (left side) -->
<path d="M64 28
A36 36 0 0 0 64 100
L64 28 Z"
fill="url(#moonLightLQ)"/>
<!-- Subtle craters on lit side -->
<g fill="#CFCBB8" opacity="0.5">
<circle cx="54" cy="52" r="4"/>
<circle cx="46" cy="70" r="3"/>
<circle cx="58" cy="78" r="2.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

37
icons/moon/new_moon.svg Normal file
View File

@@ -0,0 +1,37 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Lune - Nouvelle lune">
<title>Lune - Nouvelle lune</title>
<defs>
<linearGradient id="nightSkyNM" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#081821"/>
<stop offset="100%" stop-color="#132A35"/>
</linearGradient>
<radialGradient id="haloNM" cx="50%" cy="50%" r="60%">
<stop offset="0%" stop-color="#FFFFFF" stop-opacity="0.18"/>
<stop offset="70%" stop-color="#FFFFFF" stop-opacity="0.06"/>
<stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
</radialGradient>
</defs>
<!-- Night sky -->
<rect width="128" height="128" rx="20" fill="url(#nightSkyNM)"/>
<!-- Stars -->
<g fill="#FFFFFF" opacity="0.85">
<circle cx="22" cy="26" r="2"/>
<circle cx="46" cy="18" r="1.4"/>
<circle cx="104" cy="22" r="1.8"/>
<circle cx="112" cy="48" r="1.5"/>
<circle cx="18" cy="70" r="1.6"/>
<circle cx="94" cy="88" r="2"/>
<circle cx="34" cy="46" r="1.2"/>
</g>
<!-- Very dark moon disc -->
<circle cx="64" cy="64" r="38" fill="#0B0F14"/>
<!-- Subtle rim/earthshine hint -->
<circle cx="64" cy="64" r="40" fill="none" stroke="#FFFFFF" stroke-width="2" opacity="0.12"/>
<!-- Soft halo -->
<circle cx="64" cy="64" r="46" fill="url(#haloNM)"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,43 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Lune - Dernier croissant">
<title>Dernier croissant</title>
<defs>
<linearGradient id="nightSkyWC" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#0B1D2A"/>
<stop offset="100%" stop-color="#1C2F3F"/>
</linearGradient>
<radialGradient id="moonLightWC" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#F6F4E8"/>
<stop offset="100%" stop-color="#D9D6C8"/>
</radialGradient>
</defs>
<!-- Night sky -->
<rect width="128" height="128" rx="20" fill="url(#nightSkyWC)"/>
<!-- Stars -->
<g fill="#FFFFFF" opacity="0.85">
<circle cx="24" cy="26" r="2"/>
<circle cx="46" cy="18" r="1.4"/>
<circle cx="104" cy="22" r="1.8"/>
<circle cx="112" cy="48" r="1.5"/>
<circle cx="18" cy="70" r="1.6"/>
<circle cx="94" cy="88" r="2"/>
</g>
<!-- Dark moon base -->
<circle cx="64" cy="64" r="36" fill="#2C3E50"/>
<!-- Illuminated crescent (left side, waning) -->
<path d="
M64 28
A36 36 0 0 0 64 100
A24 36 0 0 1 64 28
Z"
fill="url(#moonLightWC)"/>
<!-- Subtle craters on lit crescent -->
<g fill="#CFCBB8" opacity="0.5">
<circle cx="52" cy="56" r="3.5"/>
<circle cx="54" cy="72" r="2.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Lune - Gibbeuse décroissante">
<title>Waning Gibbous</title>
<defs>
<linearGradient id="nightSkyWG" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#0B1D2A"/>
<stop offset="100%" stop-color="#1C2F3F"/>
</linearGradient>
<radialGradient id="moonLightWG" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#F6F4E8"/>
<stop offset="100%" stop-color="#D9D6C8"/>
</radialGradient>
</defs>
<!-- Night sky -->
<rect width="128" height="128" rx="20" fill="url(#nightSkyWG)"/>
<!-- Stars -->
<g fill="#FFFFFF" opacity="0.85">
<circle cx="22" cy="24" r="2"/>
<circle cx="44" cy="18" r="1.4"/>
<circle cx="104" cy="22" r="1.8"/>
<circle cx="112" cy="46" r="1.5"/>
<circle cx="18" cy="70" r="1.6"/>
<circle cx="94" cy="88" r="2"/>
</g>
<!-- Dark moon base -->
<circle cx="64" cy="64" r="36" fill="#2C3E50"/>
<!-- Illuminated gibbous (mostly lit, shadow on right) -->
<path d="
M64 28
A36 36 0 1 0 64 100
A26 36 0 1 1 64 28
Z"
fill="url(#moonLightWG)"/>
<!-- Subtle craters -->
<g fill="#CFCBB8" opacity="0.5">
<circle cx="54" cy="50" r="5"/>
<circle cx="68" cy="70" r="4"/>
<circle cx="52" cy="78" r="3"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,43 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Lune - Premier croissant">
<title>Waxing Crescent</title>
<defs>
<linearGradient id="nightSkyWCX" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#0B1D2A"/>
<stop offset="100%" stop-color="#1C2F3F"/>
</linearGradient>
<radialGradient id="moonLightWCX" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#F6F4E8"/>
<stop offset="100%" stop-color="#D9D6C8"/>
</radialGradient>
</defs>
<!-- Night sky -->
<rect width="128" height="128" rx="20" fill="url(#nightSkyWCX)"/>
<!-- Stars -->
<g fill="#FFFFFF" opacity="0.85">
<circle cx="22" cy="24" r="2"/>
<circle cx="46" cy="18" r="1.4"/>
<circle cx="104" cy="22" r="1.8"/>
<circle cx="112" cy="48" r="1.5"/>
<circle cx="18" cy="70" r="1.6"/>
<circle cx="94" cy="88" r="2"/>
</g>
<!-- Dark moon base -->
<circle cx="64" cy="64" r="36" fill="#2C3E50"/>
<!-- Illuminated crescent (right side, waxing) -->
<path d="
M64 28
A36 36 0 0 1 64 100
A24 36 0 0 0 64 28
Z"
fill="url(#moonLightWCX)"/>
<!-- Subtle craters on lit crescent -->
<g fill="#CFCBB8" opacity="0.5">
<circle cx="74" cy="56" r="3.5"/>
<circle cx="72" cy="72" r="2.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Lune - Gibbeuse croissante">
<title>Waxing Gibbous</title>
<defs>
<linearGradient id="nightSkyWXG" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#0B1D2A"/>
<stop offset="100%" stop-color="#1C2F3F"/>
</linearGradient>
<radialGradient id="moonLightWXG" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#F6F4E8"/>
<stop offset="100%" stop-color="#D9D6C8"/>
</radialGradient>
</defs>
<!-- Night sky -->
<rect width="128" height="128" rx="20" fill="url(#nightSkyWXG)"/>
<!-- Stars -->
<g fill="#FFFFFF" opacity="0.85">
<circle cx="22" cy="24" r="2"/>
<circle cx="44" cy="18" r="1.4"/>
<circle cx="104" cy="22" r="1.8"/>
<circle cx="112" cy="46" r="1.5"/>
<circle cx="18" cy="70" r="1.6"/>
<circle cx="94" cy="88" r="2"/>
</g>
<!-- Dark moon base -->
<circle cx="64" cy="64" r="36" fill="#2C3E50"/>
<!-- Illuminated gibbous (mostly lit, shadow on left) -->
<path d="
M64 28
A36 36 0 1 1 64 100
A26 36 0 1 0 64 28
Z"
fill="url(#moonLightWXG)"/>
<!-- Subtle craters -->
<g fill="#CFCBB8" opacity="0.5">
<circle cx="74" cy="50" r="5"/>
<circle cx="62" cy="70" r="4"/>
<circle cx="76" cy="78" r="3"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

47
icons/weather/0.svg Normal file
View File

@@ -0,0 +1,47 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Soleil - ciel clair">
<title>Soleil - ciel clair</title>
<defs>
<radialGradient id="sunCore" cx="50%" cy="50%" r="60%">
<stop offset="0%" stop-color="#FFE68A"/>
<stop offset="55%" stop-color="#FFC93C"/>
<stop offset="100%" stop-color="#FFB300"/>
</radialGradient>
<filter id="softGlow" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="2.2" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<!-- Clear sky background -->
<rect x="0" y="0" width="128" height="128" rx="20" fill="#6EC6FF"/>
<!-- Subtle sky highlight -->
<path d="M0,20 C30,6 72,6 128,26 L128,0 L0,0 Z" fill="#8ED7FF" opacity="0.65"/>
<!-- Sun -->
<g transform="translate(64 58)" filter="url(#softGlow)">
<!-- Rays -->
<g stroke="#FFD25A" stroke-width="6" stroke-linecap="round" opacity="0.95">
<line x1="0" y1="-44" x2="0" y2="-60"/>
<line x1="0" y1="44" x2="0" y2="60"/>
<line x1="-44" y1="0" x2="-60" y2="0"/>
<line x1="44" y1="0" x2="60" y2="0"/>
<line x1="31" y1="-31" x2="44" y2="-44"/>
<line x1="-31" y1="-31" x2="-44" y2="-44"/>
<line x1="31" y1="31" x2="44" y2="44"/>
<line x1="-31" y1="31" x2="-44" y2="44"/>
</g>
<!-- Core -->
<circle r="26" fill="url(#sunCore)"/>
<circle r="30" fill="#FFD45C" opacity="0.18"/>
</g>
<!-- Horizon hint -->
<path d="M0,104 C26,96 46,94 64,94 C82,94 102,96 128,104 L128,128 L0,128 Z" fill="#49B36B"/>
<path d="M0,110 C26,102 46,100 64,100 C82,100 102,102 128,110 L128,128 L0,128 Z" fill="#3AA65E" opacity="0.8"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

44
icons/weather/1.svg Normal file
View File

@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Principalement clair">
<title>Principalement clair</title>
<defs>
<radialGradient id="sunGrad" cx="50%" cy="50%" r="60%">
<stop offset="0%" stop-color="#FFE68A"/>
<stop offset="60%" stop-color="#FFC93C"/>
<stop offset="100%" stop-color="#FFB300"/>
</radialGradient>
<filter id="glow" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="2"/>
<feMerge>
<feMergeNode/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<!-- Sky background -->
<rect width="128" height="128" rx="20" fill="#6EC6FF"/>
<!-- Sun (partially visible) -->
<g transform="translate(48 48)" filter="url(#glow)">
<g stroke="#FFD25A" stroke-width="5" stroke-linecap="round">
<line x1="0" y1="-34" x2="0" y2="-48"/>
<line x1="0" y1="34" x2="0" y2="48"/>
<line x1="-34" y1="0" x2="-48" y2="0"/>
<line x1="34" y1="0" x2="48" y2="0"/>
<line x1="24" y1="-24" x2="34" y2="-34"/>
<line x1="-24" y1="-24" x2="-34" y2="-34"/>
<line x1="24" y1="24" x2="34" y2="34"/>
<line x1="-24" y1="24" x2="-34" y2="34"/>
</g>
<circle r="22" fill="url(#sunGrad)"/>
</g>
<!-- Small cloud (mostly clear) -->
<g transform="translate(70 72)">
<ellipse cx="0" cy="10" rx="26" ry="14" fill="#FFFFFF"/>
<circle cx="-14" cy="6" r="10" fill="#FFFFFF"/>
<circle cx="2" cy="2" r="12" fill="#FFFFFF"/>
<circle cx="18" cy="8" r="9" fill="#FFFFFF"/>
<ellipse cx="0" cy="14" rx="26" ry="8" fill="#E6F3FF" opacity="0.6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

50
icons/weather/2.svg Normal file
View File

@@ -0,0 +1,50 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Partiellement nuageux">
<title>Partiellement nuageux</title>
<defs>
<radialGradient id="sunGradPN" cx="50%" cy="50%" r="60%">
<stop offset="0%" stop-color="#FFE68A"/>
<stop offset="60%" stop-color="#FFC93C"/>
<stop offset="100%" stop-color="#FFB300"/>
</radialGradient>
<filter id="sunGlowPN" x="-40%" y="-40%" width="180%" height="180%">
<feGaussianBlur stdDeviation="2.5"/>
</filter>
<linearGradient id="cloudShadePN" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#FFFFFF"/>
<stop offset="100%" stop-color="#E6EEF7"/>
</linearGradient>
</defs>
<!-- Sky -->
<rect width="128" height="128" rx="20" fill="#7EC8FF"/>
<!-- Sun behind clouds -->
<g transform="translate(44 44)">
<circle r="24" fill="url(#sunGradPN)" filter="url(#sunGlowPN)"/>
<g stroke="#FFD25A" stroke-width="4" stroke-linecap="round" opacity="0.9">
<line x1="0" y1="-36" x2="0" y2="-50"/>
<line x1="0" y1="36" x2="0" y2="50"/>
<line x1="-36" y1="0" x2="-50" y2="0"/>
<line x1="36" y1="0" x2="50" y2="0"/>
<line x1="26" y1="-26" x2="38" y2="-38"/>
<line x1="-26" y1="-26" x2="-38" y2="-38"/>
<line x1="26" y1="26" x2="38" y2="38"/>
<line x1="-26" y1="26" x2="-38" y2="38"/>
</g>
</g>
<!-- Main cloud -->
<g transform="translate(70 78)">
<ellipse cx="0" cy="12" rx="34" ry="18" fill="url(#cloudShadePN)"/>
<circle cx="-20" cy="8" r="14" fill="url(#cloudShadePN)"/>
<circle cx="6" cy="4" r="18" fill="url(#cloudShadePN)"/>
<circle cx="26" cy="10" r="12" fill="url(#cloudShadePN)"/>
</g>
<!-- Secondary smaller cloud -->
<g transform="translate(40 86)" opacity="0.9">
<ellipse cx="0" cy="8" rx="20" ry="12" fill="#F4F8FC"/>
<circle cx="-10" cy="6" r="8" fill="#F4F8FC"/>
<circle cx="8" cy="4" r="10" fill="#F4F8FC"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

36
icons/weather/3.svg Normal file
View File

@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Couvert">
<title>Couvert</title>
<defs>
<linearGradient id="skyOvercast" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#C9D3DD"/>
<stop offset="100%" stop-color="#9FAAB5"/>
</linearGradient>
<linearGradient id="cloudMain" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#F1F4F7"/>
<stop offset="100%" stop-color="#D5DBE1"/>
</linearGradient>
<linearGradient id="cloudShadow" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#E2E7EC"/>
<stop offset="100%" stop-color="#C3CBD3"/>
</linearGradient>
</defs>
<!-- Grey sky -->
<rect width="128" height="128" rx="20" fill="url(#skyOvercast)"/>
<!-- Large cloud layer -->
<g transform="translate(64 74)">
<ellipse cx="0" cy="16" rx="46" ry="24" fill="url(#cloudShadow)"/>
<circle cx="-28" cy="10" r="18" fill="url(#cloudShadow)"/>
<circle cx="0" cy="2" r="22" fill="url(#cloudShadow)"/>
<circle cx="30" cy="12" r="16" fill="url(#cloudShadow)"/>
</g>
<!-- Upper cloud layer -->
<g transform="translate(64 56)">
<ellipse cx="0" cy="14" rx="40" ry="20" fill="url(#cloudMain)"/>
<circle cx="-22" cy="10" r="16" fill="url(#cloudMain)"/>
<circle cx="6" cy="4" r="20" fill="url(#cloudMain)"/>
<circle cx="26" cy="12" r="14" fill="url(#cloudMain)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

34
icons/weather/45.svg Normal file
View File

@@ -0,0 +1,34 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Brouillard">
<title>Brouillard</title>
<defs>
<linearGradient id="fogSky" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#DCE3E9"/>
<stop offset="100%" stop-color="#B8C2CC"/>
</linearGradient>
<linearGradient id="fogCloud" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#F4F7FA"/>
<stop offset="100%" stop-color="#D9E0E6"/>
</linearGradient>
</defs>
<!-- Sky background -->
<rect width="128" height="128" rx="20" fill="url(#fogSky)"/>
<!-- Diffuse sun (very muted) -->
<circle cx="40" cy="40" r="18" fill="#FFFFFF" opacity="0.25"/>
<!-- Main cloud mass -->
<g transform="translate(64 62)">
<ellipse cx="0" cy="12" rx="42" ry="20" fill="url(#fogCloud)" opacity="0.9"/>
<circle cx="-22" cy="8" r="14" fill="url(#fogCloud)" opacity="0.9"/>
<circle cx="8" cy="4" r="18" fill="url(#fogCloud)" opacity="0.9"/>
<circle cx="28" cy="10" r="12" fill="url(#fogCloud)" opacity="0.9"/>
</g>
<!-- Fog horizontal layers -->
<g stroke="#FFFFFF" stroke-width="6" stroke-linecap="round" opacity="0.7">
<line x1="24" y1="84" x2="104" y2="84"/>
<line x1="20" y1="96" x2="108" y2="96"/>
<line x1="28" y1="108" x2="100" y2="108"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

56
icons/weather/48.svg Normal file
View File

@@ -0,0 +1,56 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Brouillard givrant">
<title>Brouillard givrant</title>
<defs>
<linearGradient id="ffSky" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#D7E6F5"/>
<stop offset="100%" stop-color="#A9B9C9"/>
</linearGradient>
<linearGradient id="ffCloud" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#F7FBFF"/>
<stop offset="100%" stop-color="#D7E3EE"/>
</linearGradient>
<filter id="ffSoft" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="1.6"/>
</filter>
</defs>
<!-- Cold sky -->
<rect width="128" height="128" rx="20" fill="url(#ffSky)"/>
<!-- Muted sun halo -->
<circle cx="40" cy="38" r="18" fill="#FFFFFF" opacity="0.22" filter="url(#ffSoft)"/>
<!-- Cloud mass -->
<g transform="translate(64 60)">
<ellipse cx="0" cy="12" rx="44" ry="22" fill="url(#ffCloud)" opacity="0.92"/>
<circle cx="-24" cy="8" r="15" fill="url(#ffCloud)" opacity="0.92"/>
<circle cx="8" cy="4" r="19" fill="url(#ffCloud)" opacity="0.92"/>
<circle cx="30" cy="10" r="13" fill="url(#ffCloud)" opacity="0.92"/>
</g>
<!-- Fog layers -->
<g stroke="#FFFFFF" stroke-width="6" stroke-linecap="round" opacity="0.68">
<line x1="22" y1="82" x2="106" y2="82"/>
<line x1="18" y1="94" x2="110" y2="94"/>
<line x1="26" y1="106" x2="102" y2="106"/>
</g>
<!-- Snowflake / ice marker -->
<g transform="translate(96 96)">
<circle cx="0" cy="0" r="14" fill="#FFFFFF" opacity="0.22"/>
<g stroke="#FFFFFF" stroke-width="3" stroke-linecap="round" opacity="0.9">
<line x1="0" y1="-9" x2="0" y2="9"/>
<line x1="-9" y1="0" x2="9" y2="0"/>
<line x1="-7" y1="-7" x2="7" y2="7"/>
<line x1="-7" y1="7" x2="7" y2="-7"/>
<line x1="0" y1="-9" x2="3" y2="-6"/>
<line x1="0" y1="-9" x2="-3" y2="-6"/>
<line x1="0" y1="9" x2="3" y2="6"/>
<line x1="0" y1="9" x2="-3" y2="6"/>
<line x1="-9" y1="0" x2="-6" y2="3"/>
<line x1="-9" y1="0" x2="-6" y2="-3"/>
<line x1="9" y1="0" x2="6" y2="3"/>
<line x1="9" y1="0" x2="6" y2="-3"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

32
icons/weather/51.svg Normal file
View File

@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Bruine légère">
<title>Bruine légère</title>
<defs>
<linearGradient id="drizzleSky" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#9EC9F5"/>
<stop offset="100%" stop-color="#6FA8DC"/>
</linearGradient>
<linearGradient id="drizzleCloud" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#F2F5F8"/>
<stop offset="100%" stop-color="#D6DEE6"/>
</linearGradient>
</defs>
<!-- Sky -->
<rect width="128" height="128" rx="20" fill="url(#drizzleSky)"/>
<!-- Cloud -->
<g transform="translate(64 58)">
<ellipse cx="0" cy="14" rx="40" ry="20" fill="url(#drizzleCloud)"/>
<circle cx="-22" cy="10" r="15" fill="url(#drizzleCloud)"/>
<circle cx="8" cy="4" r="18" fill="url(#drizzleCloud)"/>
<circle cx="28" cy="12" r="13" fill="url(#drizzleCloud)"/>
</g>
<!-- Light drizzle (fine drops) -->
<g stroke="#FFFFFF" stroke-width="3" stroke-linecap="round" opacity="0.8">
<line x1="40" y1="88" x2="40" y2="96"/>
<line x1="56" y1="92" x2="56" y2="100"/>
<line x1="72" y1="88" x2="72" y2="96"/>
<line x1="88" y1="92" x2="88" y2="100"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

33
icons/weather/53.svg Normal file
View File

@@ -0,0 +1,33 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Bruine modérée">
<title>Bruine modérée</title>
<defs>
<linearGradient id="skyDrizzleMod" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#8FBDEB"/>
<stop offset="100%" stop-color="#5F95C9"/>
</linearGradient>
<linearGradient id="cloudDrizzleMod" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#EEF2F6"/>
<stop offset="100%" stop-color="#CBD5DF"/>
</linearGradient>
</defs>
<!-- Sky -->
<rect width="128" height="128" rx="20" fill="url(#skyDrizzleMod)"/>
<!-- Cloud -->
<g transform="translate(64 56)">
<ellipse cx="0" cy="16" rx="42" ry="22" fill="url(#cloudDrizzleMod)"/>
<circle cx="-24" cy="10" r="16" fill="url(#cloudDrizzleMod)"/>
<circle cx="10" cy="4" r="20" fill="url(#cloudDrizzleMod)"/>
<circle cx="30" cy="12" r="14" fill="url(#cloudDrizzleMod)"/>
</g>
<!-- Moderate drizzle (more frequent drops) -->
<g stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" opacity="0.9">
<line x1="34" y1="86" x2="34" y2="100"/>
<line x1="50" y1="92" x2="50" y2="106"/>
<line x1="66" y1="86" x2="66" y2="100"/>
<line x1="82" y1="92" x2="82" y2="106"/>
<line x1="98" y1="86" x2="98" y2="100"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

35
icons/weather/55.svg Normal file
View File

@@ -0,0 +1,35 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Bruine dense">
<title>Bruine dense</title>
<defs>
<linearGradient id="skyDrizzleDense" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#7EA9D6"/>
<stop offset="100%" stop-color="#4F7FAF"/>
</linearGradient>
<linearGradient id="cloudDrizzleDense" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#E8EDF2"/>
<stop offset="100%" stop-color="#B9C6D3"/>
</linearGradient>
</defs>
<!-- Darker sky -->
<rect width="128" height="128" rx="20" fill="url(#skyDrizzleDense)"/>
<!-- Thick cloud -->
<g transform="translate(64 54)">
<ellipse cx="0" cy="18" rx="44" ry="24" fill="url(#cloudDrizzleDense)"/>
<circle cx="-26" cy="12" r="18" fill="url(#cloudDrizzleDense)"/>
<circle cx="12" cy="4" r="22" fill="url(#cloudDrizzleDense)"/>
<circle cx="34" cy="14" r="16" fill="url(#cloudDrizzleDense)"/>
</g>
<!-- Dense drizzle (many close drops) -->
<g stroke="#FFFFFF" stroke-width="4.5" stroke-linecap="round" opacity="0.95">
<line x1="26" y1="84" x2="26" y2="104"/>
<line x1="38" y1="90" x2="38" y2="110"/>
<line x1="50" y1="84" x2="50" y2="104"/>
<line x1="62" y1="90" x2="62" y2="110"/>
<line x1="74" y1="84" x2="74" y2="104"/>
<line x1="86" y1="90" x2="86" y2="110"/>
<line x1="98" y1="84" x2="98" y2="104"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

44
icons/weather/56.svg Normal file
View File

@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Bruine verglaçante">
<title>Bruine verglaçante</title>
<defs>
<linearGradient id="skyFreezingDrizzle" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#9FD0F7"/>
<stop offset="100%" stop-color="#6E9FC8"/>
</linearGradient>
<linearGradient id="cloudFreezingDrizzle" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#F4F9FF"/>
<stop offset="100%" stop-color="#D2DEE9"/>
</linearGradient>
</defs>
<!-- Cold sky -->
<rect width="128" height="128" rx="20" fill="url(#skyFreezingDrizzle)"/>
<!-- Cloud -->
<g transform="translate(64 54)">
<ellipse cx="0" cy="18" rx="44" ry="24" fill="url(#cloudFreezingDrizzle)"/>
<circle cx="-26" cy="12" r="18" fill="url(#cloudFreezingDrizzle)"/>
<circle cx="12" cy="4" r="22" fill="url(#cloudFreezingDrizzle)"/>
<circle cx="34" cy="14" r="16" fill="url(#cloudFreezingDrizzle)"/>
</g>
<!-- Freezing drizzle (thin icy drops) -->
<g stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" opacity="0.95">
<line x1="34" y1="86" x2="34" y2="102"/>
<line x1="50" y1="92" x2="50" y2="108"/>
<line x1="66" y1="86" x2="66" y2="102"/>
<line x1="82" y1="92" x2="82" y2="108"/>
<line x1="98" y1="86" x2="98" y2="102"/>
</g>
<!-- Ice indicator (snowflake accent) -->
<g transform="translate(98 100)">
<circle cx="0" cy="0" r="12" fill="#FFFFFF" opacity="0.25"/>
<g stroke="#FFFFFF" stroke-width="2.5" stroke-linecap="round">
<line x1="0" y1="-7" x2="0" y2="7"/>
<line x1="-7" y1="0" x2="7" y2="0"/>
<line x1="-5" y1="-5" x2="5" y2="5"/>
<line x1="-5" y1="5" x2="5" y2="-5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

47
icons/weather/57.svg Normal file
View File

@@ -0,0 +1,47 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Bruine verglaçante dense">
<title>Bruine verglaçante dense</title>
<defs>
<linearGradient id="skyFZD" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#7FB4E3"/>
<stop offset="100%" stop-color="#4E7EA8"/>
</linearGradient>
<linearGradient id="cloudFZD" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#EEF6FF"/>
<stop offset="100%" stop-color="#C7D6E6"/>
</linearGradient>
</defs>
<!-- Cold dense sky -->
<rect width="128" height="128" rx="20" fill="url(#skyFZD)"/>
<!-- Thick cloud -->
<g transform="translate(64 52)">
<ellipse cx="0" cy="20" rx="46" ry="26" fill="url(#cloudFZD)"/>
<circle cx="-28" cy="14" r="20" fill="url(#cloudFZD)"/>
<circle cx="14" cy="6" r="24" fill="url(#cloudFZD)"/>
<circle cx="36" cy="16" r="18" fill="url(#cloudFZD)"/>
</g>
<!-- Dense freezing drizzle -->
<g stroke="#FFFFFF" stroke-width="4.5" stroke-linecap="round" opacity="0.95">
<line x1="24" y1="84" x2="24" y2="110"/>
<line x1="36" y1="90" x2="36" y2="116"/>
<line x1="48" y1="84" x2="48" y2="110"/>
<line x1="60" y1="90" x2="60" y2="116"/>
<line x1="72" y1="84" x2="72" y2="110"/>
<line x1="84" y1="90" x2="84" y2="116"/>
<line x1="96" y1="84" x2="96" y2="110"/>
<line x1="108" y1="90" x2="108" y2="116"/>
</g>
<!-- Ice symbol -->
<g transform="translate(100 98)">
<circle cx="0" cy="0" r="14" fill="#FFFFFF" opacity="0.25"/>
<g stroke="#FFFFFF" stroke-width="3" stroke-linecap="round">
<line x1="0" y1="-8" x2="0" y2="8"/>
<line x1="-8" y1="0" x2="8" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

35
icons/weather/61.svg Normal file
View File

@@ -0,0 +1,35 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Pluie légère">
<title>Pluie légère</title>
<defs>
<linearGradient id="skyLightRain" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#8FBCEB"/>
<stop offset="100%" stop-color="#5F8FC2"/>
</linearGradient>
<linearGradient id="cloudLightRain" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#F1F4F8"/>
<stop offset="100%" stop-color="#D3DAE2"/>
</linearGradient>
<linearGradient id="dropLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#BFE4FF"/>
<stop offset="100%" stop-color="#5DA9E9"/>
</linearGradient>
</defs>
<!-- Sky -->
<rect width="128" height="128" rx="20" fill="url(#skyLightRain)"/>
<!-- Cloud -->
<g transform="translate(64 54)">
<ellipse cx="0" cy="18" rx="42" ry="22" fill="url(#cloudLightRain)"/>
<circle cx="-24" cy="12" r="16" fill="url(#cloudLightRain)"/>
<circle cx="10" cy="4" r="20" fill="url(#cloudLightRain)"/>
<circle cx="30" cy="14" r="14" fill="url(#cloudLightRain)"/>
</g>
<!-- Light rain drops -->
<g fill="url(#dropLight)">
<path d="M40 86 C40 82 44 78 44 78 C44 78 48 82 48 86 A4 4 0 1 1 40 86 Z"/>
<path d="M60 92 C60 88 64 84 64 84 C64 84 68 88 68 92 A4 4 0 1 1 60 92 Z"/>
<path d="M80 86 C80 82 84 78 84 78 C84 78 88 82 88 86 A4 4 0 1 1 80 86 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

36
icons/weather/63.svg Normal file
View File

@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Pluie modérée">
<title>Pluie modérée</title>
<defs>
<linearGradient id="skyModerateRain" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#7EA9D6"/>
<stop offset="100%" stop-color="#4F7FAF"/>
</linearGradient>
<linearGradient id="cloudModerateRain" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#E8EDF2"/>
<stop offset="100%" stop-color="#B9C6D3"/>
</linearGradient>
<linearGradient id="dropModerate" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#CFE9FF"/>
<stop offset="100%" stop-color="#3D8EDB"/>
</linearGradient>
</defs>
<!-- Sky -->
<rect width="128" height="128" rx="20" fill="url(#skyModerateRain)"/>
<!-- Cloud -->
<g transform="translate(64 52)">
<ellipse cx="0" cy="20" rx="44" ry="24" fill="url(#cloudModerateRain)"/>
<circle cx="-26" cy="14" r="18" fill="url(#cloudModerateRain)"/>
<circle cx="12" cy="6" r="22" fill="url(#cloudModerateRain)"/>
<circle cx="34" cy="16" r="16" fill="url(#cloudModerateRain)"/>
</g>
<!-- Moderate rain drops -->
<g fill="url(#dropModerate)">
<path d="M30 84 C30 78 36 72 36 72 C36 72 42 78 42 84 A6 6 0 1 1 30 84 Z"/>
<path d="M50 94 C50 88 56 82 56 82 C56 82 62 88 62 94 A6 6 0 1 1 50 94 Z"/>
<path d="M70 84 C70 78 76 72 76 72 C76 72 82 78 82 84 A6 6 0 1 1 70 84 Z"/>
<path d="M90 94 C90 88 96 82 96 82 C96 82 102 88 102 94 A6 6 0 1 1 90 94 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

36
icons/weather/65.svg Normal file
View File

@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Pluie forte">
<title>Pluie forte</title>
<defs>
<linearGradient id="skyHeavyRain" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#5F8FC2"/>
<stop offset="100%" stop-color="#2F5E8F"/>
</linearGradient>
<linearGradient id="cloudHeavyRain" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#DDE3EA"/>
<stop offset="100%" stop-color="#AEBBC8"/>
</linearGradient>
<linearGradient id="dropHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#BFE4FF"/>
<stop offset="100%" stop-color="#1E6FBF"/>
</linearGradient>
</defs>
<!-- Dark sky -->
<rect width="128" height="128" rx="20" fill="url(#skyHeavyRain)"/>
<!-- Large dense cloud -->
<g transform="translate(64 50)">
<ellipse cx="0" cy="22" rx="46" ry="26" fill="url(#cloudHeavyRain)"/>
<circle cx="-28" cy="16" r="20" fill="url(#cloudHeavyRain)"/>
<circle cx="14" cy="6" r="24" fill="url(#cloudHeavyRain)"/>
<circle cx="38" cy="18" r="18" fill="url(#cloudHeavyRain)"/>
</g>
<!-- Heavy rain drops -->
<g fill="url(#dropHeavy)">
<path d="M22 84 C22 74 32 64 32 64 C32 64 42 74 42 84 A10 10 0 1 1 22 84 Z"/>
<path d="M44 98 C44 88 54 78 54 78 C54 78 64 88 64 98 A10 10 0 1 1 44 98 Z"/>
<path d="M66 84 C66 74 76 64 76 64 C76 64 86 74 86 84 A10 10 0 1 1 66 84 Z"/>
<path d="M88 98 C88 88 98 78 98 78 C98 78 108 88 108 98 A10 10 0 1 1 88 98 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

45
icons/weather/66.svg Normal file
View File

@@ -0,0 +1,45 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Pluie verglaçante légère">
<title>Pluie verglaçante légère</title>
<defs>
<linearGradient id="skyFreezingRainLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#9FD0F7"/>
<stop offset="100%" stop-color="#6E9FC8"/>
</linearGradient>
<linearGradient id="cloudFreezingRainLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#F4F9FF"/>
<stop offset="100%" stop-color="#D2DEE9"/>
</linearGradient>
<linearGradient id="dropIceLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#E6F7FF"/>
<stop offset="100%" stop-color="#4FA3E3"/>
</linearGradient>
</defs>
<!-- Cold sky -->
<rect width="128" height="128" rx="20" fill="url(#skyFreezingRainLight)"/>
<!-- Cloud -->
<g transform="translate(64 54)">
<ellipse cx="0" cy="18" rx="42" ry="22" fill="url(#cloudFreezingRainLight)"/>
<circle cx="-24" cy="12" r="16" fill="url(#cloudFreezingRainLight)"/>
<circle cx="10" cy="4" r="20" fill="url(#cloudFreezingRainLight)"/>
<circle cx="30" cy="14" r="14" fill="url(#cloudFreezingRainLight)"/>
</g>
<!-- Light freezing rain drops -->
<g fill="url(#dropIceLight)">
<path d="M42 88 C42 82 48 76 48 76 C48 76 54 82 54 88 A6 6 0 1 1 42 88 Z"/>
<path d="M70 94 C70 88 76 82 76 82 C76 82 82 88 82 94 A6 6 0 1 1 70 94 Z"/>
</g>
<!-- Ice indicator -->
<g transform="translate(98 100)">
<circle cx="0" cy="0" r="12" fill="#FFFFFF" opacity="0.25"/>
<g stroke="#FFFFFF" stroke-width="2.5" stroke-linecap="round">
<line x1="0" y1="-7" x2="0" y2="7"/>
<line x1="-7" y1="0" x2="7" y2="0"/>
<line x1="-5" y1="-5" x2="5" y2="5"/>
<line x1="-5" y1="5" x2="5" y2="-5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

47
icons/weather/67.svg Normal file
View File

@@ -0,0 +1,47 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Pluie verglaçante forte">
<title>Pluie verglaçante forte</title>
<defs>
<linearGradient id="skyFZRHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#6FA8D6"/>
<stop offset="100%" stop-color="#2E5E8C"/>
</linearGradient>
<linearGradient id="cloudFZRHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#EAF2F9"/>
<stop offset="100%" stop-color="#B7C6D6"/>
</linearGradient>
<linearGradient id="dropFZRHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#E6F7FF"/>
<stop offset="100%" stop-color="#1E78C8"/>
</linearGradient>
</defs>
<!-- Cold dark sky -->
<rect width="128" height="128" rx="20" fill="url(#skyFZRHeavy)"/>
<!-- Large dense cloud -->
<g transform="translate(64 50)">
<ellipse cx="0" cy="22" rx="46" ry="26" fill="url(#cloudFZRHeavy)"/>
<circle cx="-28" cy="16" r="20" fill="url(#cloudFZRHeavy)"/>
<circle cx="14" cy="6" r="24" fill="url(#cloudFZRHeavy)"/>
<circle cx="38" cy="18" r="18" fill="url(#cloudFZRHeavy)"/>
</g>
<!-- Heavy freezing rain drops -->
<g fill="url(#dropFZRHeavy)">
<path d="M20 84 C20 72 34 60 34 60 C34 60 48 72 48 84 A12 12 0 1 1 20 84 Z"/>
<path d="M44 100 C44 88 58 76 58 76 C58 76 72 88 72 100 A12 12 0 1 1 44 100 Z"/>
<path d="M68 84 C68 72 82 60 82 60 C82 60 96 72 96 84 A12 12 0 1 1 68 84 Z"/>
<path d="M92 100 C92 88 106 76 106 76 C106 76 120 88 120 100 A12 12 0 1 1 92 100 Z"/>
</g>
<!-- Ice symbol -->
<g transform="translate(96 92)">
<circle cx="0" cy="0" r="14" fill="#FFFFFF" opacity="0.25"/>
<g stroke="#FFFFFF" stroke-width="3" stroke-linecap="round">
<line x1="0" y1="-8" x2="0" y2="8"/>
<line x1="-8" y1="0" x2="8" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

49
icons/weather/71.svg Normal file
View File

@@ -0,0 +1,49 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Chute de neige faible">
<title>Chute de neige faible</title>
<defs>
<linearGradient id="skyLightSnow" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#BFD9F2"/>
<stop offset="100%" stop-color="#8FB3D1"/>
</linearGradient>
<linearGradient id="cloudLightSnow" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#F5F8FB"/>
<stop offset="100%" stop-color="#D8E0E8"/>
</linearGradient>
</defs>
<!-- Sky -->
<rect width="128" height="128" rx="20" fill="url(#skyLightSnow)"/>
<!-- Cloud -->
<g transform="translate(64 54)">
<ellipse cx="0" cy="18" rx="42" ry="22" fill="url(#cloudLightSnow)"/>
<circle cx="-24" cy="12" r="16" fill="url(#cloudLightSnow)"/>
<circle cx="10" cy="4" r="20" fill="url(#cloudLightSnow)"/>
<circle cx="30" cy="14" r="14" fill="url(#cloudLightSnow)"/>
</g>
<!-- Light snowflakes -->
<g stroke="#FFFFFF" stroke-width="2.5" stroke-linecap="round">
<!-- Flake 1 -->
<g transform="translate(44 92)">
<line x1="0" y1="-6" x2="0" y2="6"/>
<line x1="-6" y1="0" x2="6" y2="0"/>
<line x1="-4" y1="-4" x2="4" y2="4"/>
<line x1="-4" y1="4" x2="4" y2="-4"/>
</g>
<!-- Flake 2 -->
<g transform="translate(64 100)">
<line x1="0" y1="-6" x2="0" y2="6"/>
<line x1="-6" y1="0" x2="6" y2="0"/>
<line x1="-4" y1="-4" x2="4" y2="4"/>
<line x1="-4" y1="4" x2="4" y2="-4"/>
</g>
<!-- Flake 3 -->
<g transform="translate(84 92)">
<line x1="0" y1="-6" x2="0" y2="6"/>
<line x1="-6" y1="0" x2="6" y2="0"/>
<line x1="-4" y1="-4" x2="4" y2="4"/>
<line x1="-4" y1="4" x2="4" y2="-4"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

56
icons/weather/73.svg Normal file
View File

@@ -0,0 +1,56 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Chute de neige modérée">
<title>Chute de neige modérée</title>
<defs>
<linearGradient id="skySnowMod" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#AFCDE8"/>
<stop offset="100%" stop-color="#6F9BC2"/>
</linearGradient>
<linearGradient id="cloudSnowMod" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#EEF3F8"/>
<stop offset="100%" stop-color="#C9D5E0"/>
</linearGradient>
</defs>
<!-- Sky -->
<rect width="128" height="128" rx="20" fill="url(#skySnowMod)"/>
<!-- Cloud -->
<g transform="translate(64 52)">
<ellipse cx="0" cy="20" rx="44" ry="24" fill="url(#cloudSnowMod)"/>
<circle cx="-26" cy="14" r="18" fill="url(#cloudSnowMod)"/>
<circle cx="12" cy="6" r="22" fill="url(#cloudSnowMod)"/>
<circle cx="34" cy="16" r="16" fill="url(#cloudSnowMod)"/>
</g>
<!-- Moderate snowflakes -->
<g stroke="#FFFFFF" stroke-width="3" stroke-linecap="round">
<!-- Flake 1 -->
<g transform="translate(32 88)">
<line x1="0" y1="-7" x2="0" y2="7"/>
<line x1="-7" y1="0" x2="7" y2="0"/>
<line x1="-5" y1="-5" x2="5" y2="5"/>
<line x1="-5" y1="5" x2="5" y2="-5"/>
</g>
<!-- Flake 2 -->
<g transform="translate(52 98)">
<line x1="0" y1="-7" x2="0" y2="7"/>
<line x1="-7" y1="0" x2="7" y2="0"/>
<line x1="-5" y1="-5" x2="5" y2="5"/>
<line x1="-5" y1="5" x2="5" y2="-5"/>
</g>
<!-- Flake 3 -->
<g transform="translate(72 88)">
<line x1="0" y1="-7" x2="0" y2="7"/>
<line x1="-7" y1="0" x2="7" y2="0"/>
<line x1="-5" y1="-5" x2="5" y2="5"/>
<line x1="-5" y1="5" x2="5" y2="-5"/>
</g>
<!-- Flake 4 -->
<g transform="translate(92 98)">
<line x1="0" y1="-7" x2="0" y2="7"/>
<line x1="-7" y1="0" x2="7" y2="0"/>
<line x1="-5" y1="-5" x2="5" y2="5"/>
<line x1="-5" y1="5" x2="5" y2="-5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

63
icons/weather/75.svg Normal file
View File

@@ -0,0 +1,63 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Chute de neige forte">
<title>Chute de neige forte</title>
<defs>
<linearGradient id="skySnowHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#8FB3D1"/>
<stop offset="100%" stop-color="#4E7EA8"/>
</linearGradient>
<linearGradient id="cloudSnowHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#E6EDF4"/>
<stop offset="100%" stop-color="#B7C6D6"/>
</linearGradient>
</defs>
<!-- Darker snowy sky -->
<rect width="128" height="128" rx="20" fill="url(#skySnowHeavy)"/>
<!-- Large dense cloud -->
<g transform="translate(64 50)">
<ellipse cx="0" cy="22" rx="46" ry="26" fill="url(#cloudSnowHeavy)"/>
<circle cx="-28" cy="16" r="20" fill="url(#cloudSnowHeavy)"/>
<circle cx="14" cy="6" r="24" fill="url(#cloudSnowHeavy)"/>
<circle cx="38" cy="18" r="18" fill="url(#cloudSnowHeavy)"/>
</g>
<!-- Heavy snowflakes -->
<g stroke="#FFFFFF" stroke-width="3.5" stroke-linecap="round">
<!-- Flake 1 -->
<g transform="translate(24 86)">
<line x1="0" y1="-9" x2="0" y2="9"/>
<line x1="-9" y1="0" x2="9" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
<!-- Flake 2 -->
<g transform="translate(44 100)">
<line x1="0" y1="-9" x2="0" y2="9"/>
<line x1="-9" y1="0" x2="9" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
<!-- Flake 3 -->
<g transform="translate(64 86)">
<line x1="0" y1="-9" x2="0" y2="9"/>
<line x1="-9" y1="0" x2="9" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
<!-- Flake 4 -->
<g transform="translate(84 100)">
<line x1="0" y1="-9" x2="0" y2="9"/>
<line x1="-9" y1="0" x2="9" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
<!-- Flake 5 -->
<g transform="translate(104 86)">
<line x1="0" y1="-9" x2="0" y2="9"/>
<line x1="-9" y1="0" x2="9" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

35
icons/weather/77.svg Normal file
View File

@@ -0,0 +1,35 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Neige en grains">
<title>Neige en grains</title>
<defs>
<linearGradient id="skySnowGrain" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#AFCDE8"/>
<stop offset="100%" stop-color="#6F9BC2"/>
</linearGradient>
<linearGradient id="cloudSnowGrain" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#EEF3F8"/>
<stop offset="100%" stop-color="#C9D5E0"/>
</linearGradient>
</defs>
<!-- Sky -->
<rect width="128" height="128" rx="20" fill="url(#skySnowGrain)"/>
<!-- Cloud -->
<g transform="translate(64 52)">
<ellipse cx="0" cy="20" rx="44" ry="24" fill="url(#cloudSnowGrain)"/>
<circle cx="-26" cy="14" r="18" fill="url(#cloudSnowGrain)"/>
<circle cx="12" cy="6" r="22" fill="url(#cloudSnowGrain)"/>
<circle cx="34" cy="16" r="16" fill="url(#cloudSnowGrain)"/>
</g>
<!-- Snow grains (small pellets) -->
<g fill="#FFFFFF">
<circle cx="28" cy="88" r="3"/>
<circle cx="40" cy="96" r="3"/>
<circle cx="52" cy="88" r="3"/>
<circle cx="64" cy="100" r="3"/>
<circle cx="76" cy="88" r="3"/>
<circle cx="88" cy="96" r="3"/>
<circle cx="100" cy="88" r="3"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

35
icons/weather/80.svg Normal file
View File

@@ -0,0 +1,35 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Averse de pluie légère">
<title>Averse de pluie légère</title>
<defs>
<linearGradient id="skyShowerLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#7EA9D6"/>
<stop offset="100%" stop-color="#3E6E9E"/>
</linearGradient>
<linearGradient id="cloudShowerLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#E8EDF2"/>
<stop offset="100%" stop-color="#B9C6D3"/>
</linearGradient>
<linearGradient id="dropShowerLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#CFE9FF"/>
<stop offset="100%" stop-color="#2F86D6"/>
</linearGradient>
</defs>
<!-- Sky -->
<rect width="128" height="128" rx="20" fill="url(#skyShowerLight)"/>
<!-- Darker cloud (shower type) -->
<g transform="translate(64 50)">
<ellipse cx="0" cy="22" rx="46" ry="26" fill="url(#cloudShowerLight)"/>
<circle cx="-28" cy="16" r="20" fill="url(#cloudShowerLight)"/>
<circle cx="14" cy="6" r="24" fill="url(#cloudShowerLight)"/>
<circle cx="38" cy="18" r="18" fill="url(#cloudShowerLight)"/>
</g>
<!-- Light shower drops (slanted to show burst effect) -->
<g fill="url(#dropShowerLight)" transform="rotate(-15 64 90)">
<path d="M38 88 C38 82 44 76 44 76 C44 76 50 82 50 88 A6 6 0 1 1 38 88 Z"/>
<path d="M62 96 C62 90 68 84 68 84 C68 84 74 90 74 96 A6 6 0 1 1 62 96 Z"/>
<path d="M86 88 C86 82 92 76 92 76 C92 76 98 82 98 88 A6 6 0 1 1 86 88 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

35
icons/weather/81.svg Normal file
View File

@@ -0,0 +1,35 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Averse de pluie modérée">
<title>Averse de pluie modérée</title>
<defs>
<linearGradient id="skyShowerModerate" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#6F9BC2"/>
<stop offset="100%" stop-color="#2E5E8C"/>
</linearGradient>
<linearGradient id="cloudShowerModerate" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#DDE3EA"/>
<stop offset="100%" stop-color="#AEBBC8"/>
</linearGradient>
<linearGradient id="dropShowerModerate" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#CFE9FF"/>
<stop offset="100%" stop-color="#1E6FBF"/>
</linearGradient>
</defs>
<!-- Dark sky -->
<rect width="128" height="128" rx="20" fill="url(#skyShowerModerate)"/>
<!-- Dense cloud -->
<g transform="translate(64 48)">
<ellipse cx="0" cy="24" rx="48" ry="28" fill="url(#cloudShowerModerate)"/>
<circle cx="-30" cy="18" r="22" fill="url(#cloudShowerModerate)"/>
<circle cx="16" cy="8" r="26" fill="url(#cloudShowerModerate)"/>
<circle cx="42" cy="20" r="20" fill="url(#cloudShowerModerate)"/>
</g>
<!-- Moderate shower drops (slanted, more numerous) -->
<g fill="url(#dropShowerModerate)" transform="rotate(-18 64 92)">
<path d="M26 86 C26 76 38 64 38 64 C38 64 50 76 50 86 A10 10 0 1 1 26 86 Z"/>
<path d="M52 100 C52 90 64 78 64 78 C64 78 76 90 76 100 A10 10 0 1 1 52 100 Z"/>
<path d="M78 86 C78 76 90 64 90 64 C90 64 102 76 102 86 A10 10 0 1 1 78 86 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

35
icons/weather/82.svg Normal file
View File

@@ -0,0 +1,35 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Averse de pluie violente">
<title>Averse de pluie violente</title>
<defs>
<linearGradient id="skyStormShower" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#3E6E9E"/>
<stop offset="100%" stop-color="#1E3F63"/>
</linearGradient>
<linearGradient id="cloudStormShower" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#C9D3DD"/>
<stop offset="100%" stop-color="#8FA0B2"/>
</linearGradient>
<linearGradient id="dropStorm" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#BFE4FF"/>
<stop offset="100%" stop-color="#0F5EA8"/>
</linearGradient>
</defs>
<!-- Dark storm sky -->
<rect width="128" height="128" rx="20" fill="url(#skyStormShower)"/>
<!-- Massive storm cloud -->
<g transform="translate(64 46)">
<ellipse cx="0" cy="26" rx="50" ry="30" fill="url(#cloudStormShower)"/>
<circle cx="-32" cy="20" r="24" fill="url(#cloudStormShower)"/>
<circle cx="18" cy="8" r="28" fill="url(#cloudStormShower)"/>
<circle cx="46" cy="22" r="22" fill="url(#cloudStormShower)"/>
</g>
<!-- Violent shower drops (large, angled, numerous) -->
<g fill="url(#dropStorm)" transform="rotate(-22 64 92)">
<path d="M16 84 C16 70 34 52 34 52 C34 52 52 70 52 84 A14 14 0 1 1 16 84 Z"/>
<path d="M44 104 C44 90 62 72 62 72 C62 72 80 90 80 104 A14 14 0 1 1 44 104 Z"/>
<path d="M72 84 C72 70 90 52 90 52 C90 52 108 70 108 84 A14 14 0 1 1 72 84 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

49
icons/weather/85.svg Normal file
View File

@@ -0,0 +1,49 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Averse de neige légère">
<title>Averse de neige légère</title>
<defs>
<linearGradient id="skySnowShowerLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#AFCDE8"/>
<stop offset="100%" stop-color="#6F9BC2"/>
</linearGradient>
<linearGradient id="cloudSnowShowerLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#EEF3F8"/>
<stop offset="100%" stop-color="#C9D5E0"/>
</linearGradient>
</defs>
<!-- Sky -->
<rect width="128" height="128" rx="20" fill="url(#skySnowShowerLight)"/>
<!-- Cloud -->
<g transform="translate(64 50)">
<ellipse cx="0" cy="22" rx="46" ry="26" fill="url(#cloudSnowShowerLight)"/>
<circle cx="-28" cy="16" r="20" fill="url(#cloudSnowShowerLight)"/>
<circle cx="14" cy="6" r="24" fill="url(#cloudSnowShowerLight)"/>
<circle cx="38" cy="18" r="18" fill="url(#cloudSnowShowerLight)"/>
</g>
<!-- Light snow shower (slightly angled flakes) -->
<g stroke="#FFFFFF" stroke-width="2.5" stroke-linecap="round" transform="rotate(-15 64 92)">
<!-- Flake 1 -->
<g transform="translate(44 92)">
<line x1="0" y1="-6" x2="0" y2="6"/>
<line x1="-6" y1="0" x2="6" y2="0"/>
<line x1="-4" y1="-4" x2="4" y2="4"/>
<line x1="-4" y1="4" x2="4" y2="-4"/>
</g>
<!-- Flake 2 -->
<g transform="translate(64 100)">
<line x1="0" y1="-6" x2="0" y2="6"/>
<line x1="-6" y1="0" x2="6" y2="0"/>
<line x1="-4" y1="-4" x2="4" y2="4"/>
<line x1="-4" y1="4" x2="4" y2="-4"/>
</g>
<!-- Flake 3 -->
<g transform="translate(84 92)">
<line x1="0" y1="-6" x2="0" y2="6"/>
<line x1="-6" y1="0" x2="6" y2="0"/>
<line x1="-4" y1="-4" x2="4" y2="4"/>
<line x1="-4" y1="4" x2="4" y2="-4"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

56
icons/weather/86.svg Normal file
View File

@@ -0,0 +1,56 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Averse de neige forte">
<title>Averse de neige forte</title>
<defs>
<linearGradient id="skySnowShowerHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#7EA9D6"/>
<stop offset="100%" stop-color="#3E6E9E"/>
</linearGradient>
<linearGradient id="cloudSnowShowerHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#E6EDF4"/>
<stop offset="100%" stop-color="#B7C6D6"/>
</linearGradient>
</defs>
<!-- Dark snowy sky -->
<rect width="128" height="128" rx="20" fill="url(#skySnowShowerHeavy)"/>
<!-- Massive cloud -->
<g transform="translate(64 46)">
<ellipse cx="0" cy="26" rx="50" ry="30" fill="url(#cloudSnowShowerHeavy)"/>
<circle cx="-32" cy="20" r="24" fill="url(#cloudSnowShowerHeavy)"/>
<circle cx="18" cy="8" r="28" fill="url(#cloudSnowShowerHeavy)"/>
<circle cx="46" cy="22" r="22" fill="url(#cloudSnowShowerHeavy)"/>
</g>
<!-- Heavy snow shower (angled, larger flakes) -->
<g stroke="#FFFFFF" stroke-width="3.5" stroke-linecap="round" transform="rotate(-18 64 92)">
<!-- Flake 1 -->
<g transform="translate(28 88)">
<line x1="0" y1="-9" x2="0" y2="9"/>
<line x1="-9" y1="0" x2="9" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
<!-- Flake 2 -->
<g transform="translate(52 104)">
<line x1="0" y1="-9" x2="0" y2="9"/>
<line x1="-9" y1="0" x2="9" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
<!-- Flake 3 -->
<g transform="translate(76 88)">
<line x1="0" y1="-9" x2="0" y2="9"/>
<line x1="-9" y1="0" x2="9" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
<!-- Flake 4 -->
<g transform="translate(100 104)">
<line x1="0" y1="-9" x2="0" y2="9"/>
<line x1="-9" y1="0" x2="9" y2="0"/>
<line x1="-6" y1="-6" x2="6" y2="6"/>
<line x1="-6" y1="6" x2="6" y2="-6"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

42
icons/weather/95.svg Normal file
View File

@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Orage léger">
<title>Orage léger</title>
<defs>
<linearGradient id="skyLightStorm" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#6F8FB0"/>
<stop offset="100%" stop-color="#2E4F6E"/>
</linearGradient>
<linearGradient id="cloudLightStorm" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#DDE3EA"/>
<stop offset="100%" stop-color="#AAB7C4"/>
</linearGradient>
<linearGradient id="lightningLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#FFF7A8"/>
<stop offset="100%" stop-color="#FFC400"/>
</linearGradient>
<linearGradient id="rainLightStorm" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#CFE9FF"/>
<stop offset="100%" stop-color="#2F86D6"/>
</linearGradient>
</defs>
<!-- Storm sky -->
<rect width="128" height="128" rx="20" fill="url(#skyLightStorm)"/>
<!-- Cloud -->
<g transform="translate(64 48)">
<ellipse cx="0" cy="24" rx="48" ry="28" fill="url(#cloudLightStorm)"/>
<circle cx="-30" cy="18" r="22" fill="url(#cloudLightStorm)"/>
<circle cx="16" cy="8" r="26" fill="url(#cloudLightStorm)"/>
<circle cx="42" cy="20" r="20" fill="url(#cloudLightStorm)"/>
</g>
<!-- Lightning bolt (small) -->
<polygon points="66,70 54,92 66,92 58,112 82,82 68,82"
fill="url(#lightningLight)"/>
<!-- Light rain -->
<g fill="url(#rainLightStorm)" opacity="0.9">
<path d="M34 94 C34 88 40 82 40 82 C40 82 46 88 46 94 A6 6 0 1 1 34 94 Z"/>
<path d="M86 98 C86 92 92 86 92 86 C92 86 98 92 98 98 A6 6 0 1 1 86 98 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

40
icons/weather/96.svg Normal file
View File

@@ -0,0 +1,40 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Orage avec grêle légère">
<title>Orage avec grêle légère</title>
<defs>
<linearGradient id="skyStormHailLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#4E7EA8"/>
<stop offset="100%" stop-color="#1E3F63"/>
</linearGradient>
<linearGradient id="cloudStormHailLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#D1DAE3"/>
<stop offset="100%" stop-color="#98A8B8"/>
</linearGradient>
<linearGradient id="boltHailLight" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#FFF7A8"/>
<stop offset="100%" stop-color="#FFB300"/>
</linearGradient>
</defs>
<!-- Storm sky -->
<rect width="128" height="128" rx="20" fill="url(#skyStormHailLight)"/>
<!-- Cloud -->
<g transform="translate(64 46)">
<ellipse cx="0" cy="26" rx="50" ry="30" fill="url(#cloudStormHailLight)"/>
<circle cx="-32" cy="20" r="24" fill="url(#cloudStormHailLight)"/>
<circle cx="18" cy="8" r="28" fill="url(#cloudStormHailLight)"/>
<circle cx="46" cy="22" r="22" fill="url(#cloudStormHailLight)"/>
</g>
<!-- Lightning bolt -->
<polygon points="68,66 52,96 66,96 56,120 90,84 72,84"
fill="url(#boltHailLight)"/>
<!-- Light hail (small pellets) -->
<g fill="#FFFFFF" opacity="0.95">
<circle cx="34" cy="92" r="4"/>
<circle cx="52" cy="104" r="4"/>
<circle cx="70" cy="92" r="4"/>
<circle cx="88" cy="104" r="4"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

42
icons/weather/99.svg Normal file
View File

@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Orage avec grêle forte">
<title>Orage avec grêle forte</title>
<defs>
<linearGradient id="skyStormHailHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#3E6E9E"/>
<stop offset="100%" stop-color="#162F47"/>
</linearGradient>
<linearGradient id="cloudStormHailHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#C9D3DD"/>
<stop offset="100%" stop-color="#7F93A6"/>
</linearGradient>
<linearGradient id="boltHailHeavy" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#FFF7A8"/>
<stop offset="100%" stop-color="#FF9F00"/>
</linearGradient>
</defs>
<!-- Dark storm sky -->
<rect width="128" height="128" rx="20" fill="url(#skyStormHailHeavy)"/>
<!-- Massive cloud -->
<g transform="translate(64 44)">
<ellipse cx="0" cy="28" rx="52" ry="32" fill="url(#cloudStormHailHeavy)"/>
<circle cx="-34" cy="22" r="26" fill="url(#cloudStormHailHeavy)"/>
<circle cx="20" cy="10" r="30" fill="url(#cloudStormHailHeavy)"/>
<circle cx="48" cy="24" r="24" fill="url(#cloudStormHailHeavy)"/>
</g>
<!-- Large lightning bolt -->
<polygon points="70,60 50,100 66,100 54,126 96,82 74,82"
fill="url(#boltHailHeavy)"/>
<!-- Heavy hail (larger pellets, more numerous) -->
<g fill="#FFFFFF" opacity="0.95">
<circle cx="24" cy="92" r="6"/>
<circle cx="40" cy="108" r="6"/>
<circle cx="58" cy="92" r="6"/>
<circle cx="76" cy="108" r="6"/>
<circle cx="94" cy="92" r="6"/>
<circle cx="110" cy="108" r="6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,46 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Risque de canicule">
<title>Risque de canicule</title>
<defs>
<linearGradient id="skyHeatRisk" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#FFD27A"/>
<stop offset="100%" stop-color="#FF8C42"/>
</linearGradient>
<radialGradient id="sunHeat" cx="50%" cy="50%" r="60%">
<stop offset="0%" stop-color="#FFF2A6"/>
<stop offset="60%" stop-color="#FFC93C"/>
<stop offset="100%" stop-color="#FF9F00"/>
</radialGradient>
</defs>
<!-- Hot sky -->
<rect width="128" height="128" rx="20" fill="url(#skyHeatRisk)"/>
<!-- Intense sun -->
<g transform="translate(64 48)">
<circle r="26" fill="url(#sunHeat)"/>
<g stroke="#FFB300" stroke-width="6" stroke-linecap="round">
<line x1="0" y1="-44" x2="0" y2="-60"/>
<line x1="0" y1="44" x2="0" y2="60"/>
<line x1="-44" y1="0" x2="-60" y2="0"/>
<line x1="44" y1="0" x2="60" y2="0"/>
<line x1="31" y1="-31" x2="44" y2="-44"/>
<line x1="-31" y1="-31" x2="-44" y2="-44"/>
<line x1="31" y1="31" x2="44" y2="44"/>
<line x1="-31" y1="31" x2="-44" y2="44"/>
</g>
</g>
<!-- Thermometer (high temperature) -->
<g transform="translate(96 68)">
<rect x="-6" y="-28" width="12" height="40" rx="6" fill="#FFFFFF" stroke="#E53935" stroke-width="3"/>
<circle cx="0" cy="20" r="14" fill="#E53935"/>
<rect x="-2" y="-8" width="4" height="20" fill="#E53935"/>
</g>
<!-- Heat waves -->
<g stroke="#FF6F00" stroke-width="4" stroke-linecap="round" opacity="0.8">
<path d="M24 96 C28 88 20 84 24 76"/>
<path d="M44 102 C48 94 40 90 44 82"/>
<path d="M64 96 C68 88 60 84 64 76"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,35 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img" aria-label="Risque de gel">
<title>Risque de gel</title>
<defs>
<linearGradient id="skyFrostRisk" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#BFE4FF"/>
<stop offset="100%" stop-color="#7FAFD6"/>
</linearGradient>
<linearGradient id="groundFrost" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#EAF4FF"/>
<stop offset="100%" stop-color="#C8DDF0"/>
</linearGradient>
</defs>
<!-- Cold sky -->
<rect width="128" height="128" rx="20" fill="url(#skyFrostRisk)"/>
<!-- Ground frost layer -->
<rect x="0" y="88" width="128" height="40" fill="url(#groundFrost)"/>
<!-- Thermometer (cold) -->
<g transform="translate(40 40)">
<rect x="10" y="0" width="12" height="46" rx="6" fill="#FFFFFF" stroke="#5FA8E3" stroke-width="3"/>
<circle cx="16" cy="56" r="14" fill="#5FA8E3"/>
<rect x="14" y="24" width="4" height="20" fill="#5FA8E3"/>
</g>
<!-- Snowflake warning symbol -->
<g transform="translate(88 54)" stroke="#FFFFFF" stroke-width="3" stroke-linecap="round">
<circle cx="0" cy="0" r="18" fill="#FFFFFF" opacity="0.2"/>
<line x1="0" y1="-10" x2="0" y2="10"/>
<line x1="-10" y1="0" x2="10" y2="0"/>
<line x1="-7" y1="-7" x2="7" y2="7"/>
<line x1="-7" y1="7" x2="7" y2="-7"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB