remise du projet

master
Siwa12100 1 year ago
parent b598fe945e
commit 96c20c0b0c

427
portfolio/.gitignore vendored

@ -0,0 +1,427 @@
# Created by https://www.toptal.com/developers/gitignore/api/dotnetcore,visualstudio,visualstudiocode
# Edit at https://www.toptal.com/developers/gitignore?templates=dotnetcore,visualstudio,visualstudiocode
### DotnetCore ###
# .NET Core build folders
bin/
obj/
# Common node modules locations
/node_modules
/wwwroot/node_modules
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide
### VisualStudio ###
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp
# Visual Studio 6 technical files
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# Visual Studio History (VSHistory) files
.vshistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
# VS Code files for those working on multiple tools
*.code-workspace
# Local History for Visual Studio Code
# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp
# JetBrains Rider
*.sln.iml
### VisualStudio Patch ###
# Additional files built by Visual Studio
# End of https://www.toptal.com/developers/gitignore/api/dotnetcore,visualstudio,visualstudiocode

@ -0,0 +1,2 @@
# portfolio
Code de mon portfolio personnel, réalisé à l'aide du framework .NET Blazor.

@ -0,0 +1,30 @@
**/.classpath
**/.dockerignore
**/.env
**/.git
**/.gitignore
**/.project
**/.settings
**/.toolstarget
**/.vs
**/.vscode
**/*.*proj.user
**/*.dbmdl
**/*.jfm
**/azds.yaml
**/bin
**/charts
**/docker-compose*
**/Dockerfile*
**/node_modules
**/npm-debug.log
**/obj
**/secrets.dev.yaml
**/values.dev.yaml
LICENSE
README.md
!**/.gitignore
!.git/HEAD
!.git/config
!.git/packed-refs
!.git/refs/heads/**

@ -0,0 +1,25 @@
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER app
WORKDIR /app
EXPOSE 8080
EXPOSE 8081
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["portfolioSiwa/portfolioSiwa.csproj", "portfolioSiwa/"]
RUN dotnet restore "./portfolioSiwa/portfolioSiwa.csproj"
COPY . .
WORKDIR "/src/portfolioSiwa"
RUN dotnet build "./portfolioSiwa.csproj" -c $BUILD_CONFIGURATION -o /app/build
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./portfolioSiwa.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "portfolioSiwa.dll"]

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34622.214
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "portfolioSiwa", "portfolioSiwa\portfolioSiwa.csproj", "{E563EF2E-898C-4173-9C67-0B9C269713DA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E563EF2E-898C-4173-9C67-0B9C269713DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E563EF2E-898C-4173-9C67-0B9C269713DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E563EF2E-898C-4173-9C67-0B9C269713DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E563EF2E-898C-4173-9C67-0B9C269713DA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9F8C7850-58C4-4350-AE20-7F6CD5580C9D}
EndGlobalSection
EndGlobal

@ -0,0 +1,28 @@
@using Microsoft.AspNetCore.Components.Web
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="/" />
<link rel="stylesheet" href="app.css" />
<link href="portfolioSiwa.styles.css" rel="stylesheet">
<component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
@* <link rel="stylesheet" href="portfolioSiwa.styles.css" /> *@
<HeadOutlet />
</head>
<body>
<Routes />
<script src="_framework/blazor.web.js"></script>
</body>
</html>

@ -0,0 +1,9 @@
@inherits LayoutComponentBase
@Body
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>

@ -0,0 +1,18 @@
#blazor-error-ui {
background: lightyellow;
bottom: 0;
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
display: none;
left: 0;
padding: 0.6rem 1.25rem 0.7rem 1.25rem;
position: fixed;
width: 100%;
z-index: 1000;
}
#blazor-error-ui .dismiss {
cursor: pointer;
position: absolute;
right: 0.75rem;
top: 0.5rem;
}

@ -0,0 +1,36 @@
@page "/Error"
@using System.Diagnostics
<PageTitle>Error</PageTitle>
<h1 class="text-danger">Error.</h1>
<h2 class="text-danger">An error occurred while processing your request.</h2>
@if (ShowRequestId)
{
<p>
<strong>Request ID:</strong> <code>@RequestId</code>
</p>
}
<h3>Development Mode</h3>
<p>
Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
</p>
<p>
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
It can result in displaying sensitive information from exceptions to end users.
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
and restarting the app.
</p>
@code{
[CascadingParameter]
private HttpContext? HttpContext { get; set; }
private string? RequestId { get; set; }
private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
protected override void OnInitialized() =>
RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
}

@ -0,0 +1,10 @@
@page "/verax"
@using portfolioSiwa.Components.navbar
<Navbar/>
<h3>PageVerax</h3>
@code {
}

@ -0,0 +1,101 @@
@page "/"
@using portfolioSiwa.Components.navbar
@using portfolioSiwa.Components.hautDePage
@using portfolioSiwa.Components.carteProjet
@using portfolioSiwa.Components.listeCompetences
@using portfolioSiwa.Components.anchorNavigation
<PageTitle>Jean Marcillac</PageTitle>
<Navbar/>
<div class="contenuPage">
<AnchorNavigation />
<div class="hautDePage">
<HautDePage />
</div>
<div id="competences">
<h2 class="titreSection1">Mes compétences</h2>
<div class="listeCompetences">
<ListeCompetences />
</div>
</div>
<div id="projets">
<h2 class="titreSection1">Mes projets</h2>
<div class="conteneurProjets1">
<div class="carteProjet1">
<CarteProjet titre="Projet Verax" paragraphe="Projet d'application web et mobile visant à la lutter contre la prolifération des fake news en ligne. Réalisé en équipe dans le cadre d'une SAE en seconde année de BUT."
cheminImage="https://cdn.discordapp.com/attachments/974412670730137670/1226482428650983464/image.png?ex=6624edc5&is=661278c5&hm=04d31fa97011ee5c3c27092791f181be152299ca23f94e754fa299599151ebdc&"
texteTag="Projet d'études"
redirectionGithub="https://github.com/Siwa12100/Projet-Verax"
cheminPageAssociee="verax"/>
</div>
<div class="carteProjet1">
<CarteProjet titre="Institut Occitan de l'Aveyron" paragraphe="Refonte technique et visuelle du site internet de l'institut dans l'optique de mettre en valeur les travaux de conservation et de valorisation de la culture occitane en Aveyron."
cheminImage="https://aveyron.fr/sites/default/files/styles/visuel_bandeau_page_edito/public/pages/img/occitna_0.png?itok=KeoCfI5D"
texteTag="Stage (en cours)"
redirectionGithub="invisible" />
</div>
</div>
<div class="conteneurProjets1">
<div class="carteProjet2">
<CarteProjet titre="Tinnu"
paragraphe="Plugin Minecraft permettant de synchroniser l'heure du vrai monde avec celle du jeu."
cheminImage="https://elendilmc.fr/wp-content/uploads/2023/04/zaap1.png"
texteTag="Projet Valorium"
redirectionGithub="https://github.com/Siwa12100/Tinnu" />
</div>
<div class="carteProjet2">
<CarteProjet titre="Lobor"
paragraphe="Plugin Minecraft implémentant un système de montures dans le jeu."
texteTag="Projet Valorium"
cheminImage="https://cdn.discordapp.com/attachments/1198276630901170257/1198276631526133770/2024-01-20_15.42.19.png?ex=6623d493&is=66115f93&hm=b1a732a58266899099c593efd43548c56be837b9e79d5ea79b62ac120ae793a6&"
redirectionGithub="https://github.com/Siwa12100/Lobor">
</CarteProjet>
</div>
<div class="carteProjet2">
<CarteProjet titre="Site du Valorium"
paragraphe="Développement de la première version du site de l'association du Valorium."
texteTag="Projet Valorium"
cheminImage="https://cdn.discordapp.com/attachments/974412670730137670/1226564002038026450/image.png?ex=662539be&is=6612c4be&hm=4cc18db8c339daf3f659ae3e6431a6d6a835003b117670b045f67558620a9f86&"
redirectionGithub="https://github.com/Siwa12100/site_Valorium"></CarteProjet>
</div>
</div>
</div>
</div>
@* <div class="msgTemporaire">
<p> Portfolio toujours en cours de développement. Sa version finale sera publiée le 06/04/2024 au soir ! </p>
</div> *@

@ -0,0 +1,69 @@
body {
background-color : red;
color : green;
}
.listeCompetences {
margin-left : 6%;
margin-right : 6%;
}
.hautDePage {
margin-top : 10vh;
}
.conteneurProjets1 {
height : 60vh;
width : 90%;
margin-left : 5%;
margin-right : 5%;
margin-top : 1vh;
display : flex;
flex-direction : row;
align-items : center;
justify-content : space-around;
margin-bottom : 5vh;
}
.carteProjet1 {
height : 95%;
width : 35%;
}
.carteProjet2 {
height : 95%;
width : 22%;
}
.titreSection1 {
margin-top: 17vh;
color: white;
font-family: Candara;
font-size: 5vh;
margin-left: 6%;
}
.msgTemporaire {
margin-top: 10vh;
width: 70%;
margin-left: 15%;
margin-right: 15%;
height: 15vh;
color: white;
font-family: Candara;
padding: 3vh;
font-size: 2.6vh;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
border-radius: 20px;
background: #2b5876;
background: -webkit-linear-gradient(to right, #4e4376, #2b5876);
background: linear-gradient(to right, #4e4376, #2b5876);
}

@ -0,0 +1,6 @@
<Router AppAssembly="typeof(Program).Assembly">
<Found Context="routeData">
<RouteView RouteData="routeData" DefaultLayout="typeof(Layout.MainLayout)" />
<FocusOnNavigate RouteData="routeData" Selector="h1" />
</Found>
</Router>

@ -0,0 +1,10 @@
@using System.Net.Http
@using System.Net.Http.Json
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using portfolioSiwa
@using portfolioSiwa.Components

@ -0,0 +1,61 @@
@inject IJSRuntime JSRuntime
@inject NavigationManager NavigationManager
@implements IDisposable
<script>
function BlazorScrollToId(id) {
const element = document.getElementById(id);
if (element instanceof HTMLElement) {
element.scrollIntoView({
behavior: "smooth",
block: "start",
inline: "nearest"
});
}
}
</script>
@code {
protected override void OnInitialized()
{
NavigationManager.LocationChanged += OnLocationChanged;
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
await ScrollToFragment();
}
public void Dispose()
{
NavigationManager.LocationChanged -= OnLocationChanged;
}
private async void OnLocationChanged(object sender, LocationChangedEventArgs e)
{
await ScrollToFragment();
}
private async Task ScrollToFragment()
{
var uri = new Uri(NavigationManager.Uri, UriKind.Absolute);
var fragment = uri.Fragment;
if (fragment.StartsWith('#'))
{
// Handle text fragment (https://example.org/#test:~:text=foo)
// https://github.com/WICG/scroll-to-text-fragment/
var elementId = fragment.Substring(1);
var index = elementId.IndexOf(":~:", StringComparison.Ordinal);
if (index > 0)
{
elementId = elementId.Substring(0, index);
}
if (!string.IsNullOrEmpty(elementId))
{
await JSRuntime.InvokeVoidAsync("BlazorScrollToId", elementId);
}
}
}
}

@ -0,0 +1,36 @@
<div class="card">
<img src="@cheminImage" alt="Image" class="card-image" />
<div class="card-content">
<h3>@titre</h3>
<p>@paragraphe</p>
</div>
<div class="informations">
@if (redirectionGithub != "invisible")
{
<div class="redirectionsCarte">
<a href="@redirectionGithub" class="navbar-item">
<img src="/icones/iconeGithub.png" alt="GitHub" id="github">
</a>
</div>
@if (cheminPageAssociee != null)
{
<button type="button" class="btn-discover" @onclick="@redirectionBouton">
<img src="/icones/iconeParchemin.png" alt="Icône Parchemin" class="icon">
Découvrir le projet
</button>
}
}
</div>
<div class="tag">@texteTag</div>
</div>

@ -0,0 +1,42 @@
using Microsoft.AspNetCore.Components;
namespace portfolioSiwa.Components.carteProjet
{
public partial class CarteProjet
{
[Parameter]
public String cheminImage { get; set; }
[Parameter]
public String titre { get; set; }
[Parameter]
public String paragraphe { get; set; }
[Parameter]
public String texteTag { get; set; }
[Parameter]
public String redirectionGithub { get; set; }
[Parameter]
public String cheminPageAssociee { get; set; }
[Inject]
private NavigationManager navigationManager { get; set; }
public CarteProjet()
{
Console.WriteLine("Construction d'une carte");
}
public void redirectionBouton()
{
String chemin = "/" + this.cheminPageAssociee;
Console.WriteLine("Passage dans le Card cliqué ! : " + chemin);
this.navigationManager.NavigateTo(chemin);
}
}
}

@ -0,0 +1,112 @@
.card {
position: relative;
border-radius: 20px;
border: 3px solid #ccc;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
overflow: hidden;
/* cursor: pointer;*/
width: 100%;
height: 100%;
color: white;
font-family: Candara;
text-align: center;
transition: background-color 0.3s ease;
}
.redirectionsCarte {
width : 10vh;
height :4.7vh;
}
.redirectionsCarte img {
width : 40%;
height : 90%;
}
.card:hover {
background-color: #0d1117;
}
.card h3 {
font-size: 3vh;
margin-top: 0;
}
.card p {
margin-bottom: 1vh;
font-size: 2.1vh;
}
.tag {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
color: white;
border-top: 2px white solid;
margin-bottom : 0.7vh;
padding : 1vh;
}
.card:hover {
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.card-image {
width: 100%;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
border-bottom: 2px white solid;
height: 40%;
object-fit: cover;
}
.card-content {
padding-top : 1vh;
height : 35%;
padding-left : 1vh;
padding-right : 1vh;
}
.informations {
display : flex;
flex-direction : row;
align-items : center;
justify-content : space-around;
height : 10%;
}
.btn-discover {
background-color: black;
color: white;
border: 2px solid white;
border-radius: 20px;
font-family: Candara;
transition: background-color 0.3s ease;
padding-top: 1vh;
padding-bottom: 1vh;
padding-left: 1vh;
padding-right: 1vh;
margin-bottom: 3%;
font-size: 16px;
cursor: pointer;
display: inline-flex;
align-items: center;
width : 40%;
}
.btn-discover:hover {
background-color: #0d1117;
}
.icon {
width: 14%;
margin-right : 3%;
height: auto;
}

@ -0,0 +1,14 @@
<div class="profile-container">
<div class="nomEtTexte">
<h1>@titre,</h1>
<p>@description</p>
</div>
<div class="profile-image-container">
<img src="@cheminImage" alt="Photo de Profil" class="profile-image">
</div>
</div>

@ -0,0 +1,30 @@
using Microsoft.AspNetCore.Components;
namespace portfolioSiwa.Components.hautDePage
{
public partial class HautDePage
{
[Parameter]
public MarkupString description { get; set; }
[Parameter]
public String titre { get; set; }
[Parameter]
public String cheminImage { get; set; }
protected override void OnInitialized()
{
this.cheminImage = "/images/photoProfil.png";
this.titre = "Jean Marcillac";
MarkupString msgHautDePage = new MarkupString("Passionné par l'informatique et le numérique depuis " +
"des années, je suis actuellement étudiant en BUT Informatique à Clermont-Ferrand dans l'optique de " +
"devenir un développeur full-stack pleinement qualifié. <br><br>Engagé en tant que président dans les " +
"travaux de l'association Valorium, travaillant à la collaboration de communautés et à la création d'un univers " +
"virtuel autour du jeu Minecraft.");
this.description = msgHautDePage;
}
}
}

@ -0,0 +1,40 @@
.profile-container {
color: white;
background-color: black;
display: flex;
justify-content : space-around;
align-items : center;
}
.nomEtTexte {
height : 100%;
width : 50%;
}
.profile-container h1 {
font-family : Candara;
margin-bottom : 0%;
font-size: 9.4vh;
}
.profile-container p {
margin-top : 0%;
font-family : Candara;
font-size : 2.7vh;
font-weight : 100;
}
.profile-image-container {
display: flex;
justify-content: center;
align-items: center;
}
.profile-image {
border-radius: 50%;
border : 10px #1e1e1e solid;
width: 35vh;
height: 35vh;
object-fit: cover;
}

@ -0,0 +1,99 @@
<div class="listeCompetences">
<div class="liste1">
<h3>Languages maîtrisés</h3>
<div class="colonnesListe">
<div class="colonneGauche">
<div class="elementListe">
<img src="/icones/iconeJava.svg" alt="GitHub" id="github">
<p>Java</p>
</div>
<div class="elementListe">
<img src="/icones/iconeCpp.png" alt="GitHub" id="github">
<p>C++</p>
</div>
<div class="elementListe">
<img src="/icones/iconeC.png" alt="GitHub" id="github">
<p>C</p>
</div>
<div class="elementListe">
<img src="/icones/iconeSql.png" alt="GitHub" id="github">
<p>Sql</p>
</div>
</div>
<div class="colonneDroite">
<div class="elementListe">
<img src="/icones/iconeHtmlV2.png" alt="Html" id="github">
<p>Html</p>
</div>
<div class="elementListe">
<img src="/icones/iconeCss.svg" alt="Html" id="github">
<p>Css</p>
</div>
<div class="elementListe">
<img src="/icones/iconeJavascript.png" alt="Html" id="github">
<p>Javascript</p>
</div>
<div class="elementListe">
<img src="/icones/iconePhp.svg" alt="GitHub" id="github">
<p>Php</p>
</div>
</div>
</div>
</div>
<div class="liste2">
<h3>Outils & Frameworks</h3>
<div class="elementListe">
<img src="/icones/iconeGit.svg" alt="GitHub" id="github">
<p>Git</p>
</div>
<div class="elementListe">
<img src="/icones/iconeBash.png" alt="GitHub" id="github">
<p>Bash</p>
</div>
<div class="elementListe">
<img src="/icones/iconeDocker.png" alt="GitHub" id="github">
<p>Docker</p>
</div>
<div class="elementListe">
<img src="/icones/iconeMongo.png" alt="GitHub" id="github">
<p>MongoDB</p>
</div>
<div class="elementListe">
<img src="/icones/iconeBlazor.png" alt="GitHub" id="github">
<p>.NET Blazor</p>
</div>
</div>
</div>

@ -0,0 +1,7 @@
namespace portfolioSiwa.Components.listeCompetences
{
public partial class ListeCompetences
{
}
}

@ -0,0 +1,100 @@
.listeCompetences{
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: flex-start;
gap: 1vh;
font-family : Candara;
color : white;
}
/*.liste1 {
display : flex;
flex-direction : row;
justify-content : space-around;
align-items : center;
}*/
.colonnesListe {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
/* border : 3px yellow solid;*/
}
.colonneGauche, .colonneDroite {
/* border : 3px red solid;*/
margin-right : 8%;
display : flex;
flex-direction : column;
justify-content : center;
align-items : center;
}
h3 {
font-size : 3.5vh;
}
p {
font-size : 2.7vh;
font-weight : 100;
}
.liste1, .liste2 {
flex: 1;
}
.elementListe {
display: flex;
align-items: center; /* Centre les éléments de la liste verticalement */
gap: 1vh; /* Espace entre l'icône et le texte */
}
.elementListe img {
width: 24px; /* ou toute autre taille appropriée */
height: auto;
}
/*.listeCompetences {
color : white;
font-family : Candara;
flex-direction : row;
align-items : center;
justify-content : space-around;
border : 3px red solid;
}
img {
width : 1.4%;
height : 1.4%;
}
.elementListe {
display : flex;
flex-direction : row;
align-items : center;
}
.liste {
display : flex;
flex-direction : column;
border : 3px solid yellow;
}*/

@ -0,0 +1,37 @@
<nav class="navbar">
<div class="navbar-brand">
<img src="/icones/iconeHtml.png" alt="Jean Marcillac" id="ichtml" onclick="retourAccueil">
<span>Jean Marcillac</span>
</div>
<div class="navbar-menu">
<a href="#projets" class="navbar-item">
<img src="/icones/iconeProjets.png" alt="Projets" id="projets">
<span>Projets</span>
</a>
<a href="#competences" class="navbar-item">
<img src="/icones/iconeCompetences.png" alt="Compétences" id="competences">
<span>Compétences</span>
</a>
@* <a href="/formation" class="navbar-item">
<img src="/icones/iconeFormation.png" alt="Formation" id="formation">
<span>Formation</span>
</a> *@
<a href="/cv" class="navbar-item">
<img src="/icones/iconeCV.png" alt="CV" id="cv">
<span>CV</span>
</a>
</div>
<div class="navbar-end">
<a href="@cheminProfilGithub" class="navbar-item">
<img src="@cheminImageGithub" alt="GitHub" id="github">
</a>
</div>
</nav>

@ -0,0 +1,27 @@
using Microsoft.AspNetCore.Components;
namespace portfolioSiwa.Components.navbar
{
public partial class Navbar
{
[Parameter]
public String cheminProfilGithub { get; set; }
[Parameter]
public String cheminImageGithub { get; set; }
[Inject]
private NavigationManager navigationManager { get; set; }
protected override void OnInitialized()
{
this.cheminProfilGithub = "https://github.com/Siwa12100";
this.cheminImageGithub = "/icones/iconeGithub.png";
}
public void retourAccueil()
{
this.navigationManager.NavigateTo("/");
}
}
}

@ -0,0 +1,84 @@
.navbar {
background-color: #000000;
color: white;
display: flex;
justify-content: space-around;
padding: 0.5rem;
align-items: center;
font-family: Candara;
height: 7vh;
border-bottom : #1e1e1e solid 1px;
}
.navbar-brand {
display: flex;
font-family : Candara;
font-size : 2.7vh;
font-weight : bold;
height: 100%;
width : 15%;
align-items: center;
}
#ichtml {
height : 50%;
}
.navbar-brand img {
margin-right: 0.5rem;
}
.navbar-menu {
display: flex;
flex-direction : row;
justify-content : space-around;
height: 100%;
width : 50%;
}
.navbar-item {
display: flex;
align-items: center;
margin-right: 1rem;
text-decoration: none;
color: white;
font-size : 2.4vh;
}
#projets, #cv, #competences, #formation {
height : 50%;
}
.navbar-item img {
margin-right: 0.5rem;
}
.navbar-item span {
display: none;
}
.navbar-end {
display: flex;
flex-direction : row;
justify-content : center;
height: 10vh;
width : 15%;
}
#github {
height: 43%;
}
@media (min-width: 768px) {
.navbar-item span {
display: inline;
}
}

@ -0,0 +1,27 @@
using portfolioSiwa.Components;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorComponents()
.AddInteractiveServerComponents();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error", createScopeForErrors: true);
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseAntiforgery();
app.MapRazorComponents<App>()
.AddInteractiveServerRenderMode();
app.Run();

@ -0,0 +1,49 @@
{
"profiles": {
"http": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"dotnetRunMessages": true,
"applicationUrl": "http://localhost:5020"
},
"https": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"dotnetRunMessages": true,
"applicationUrl": "https://localhost:7063;http://localhost:5020"
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Container (Dockerfile)": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
"environmentVariables": {
"ASPNETCORE_HTTPS_PORTS": "8081",
"ASPNETCORE_HTTP_PORTS": "8080"
},
"publishAllPorts": true,
"useSSL": true
}
},
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:5562",
"sslPort": 44345
}
}
}

@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

@ -0,0 +1,35 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>1eba0f83-7498-4972-821d-20a0e3bee835</UserSecretsId>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
</PropertyGroup>
<ItemGroup>
<Content Remove="Components\Pages\home\PageVerax.razor" />
</ItemGroup>
<ItemGroup>
<Folder Include="wwwroot\icones\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.6" />
</ItemGroup>
<ItemGroup>
<UpToDateCheckInput Remove="Components\Pages\home\PageVerax.razor" />
</ItemGroup>
<ItemGroup>
<_ContentIncludedByDefault Remove="Components\Pages\home\PageVerax.razor" />
</ItemGroup>
<ItemGroup>
<None Include="Components\Pages\PageVerax\PageVerax.razor" />
</ItemGroup>
</Project>

@ -0,0 +1,34 @@
h1:focus {
outline: none;
}
.valid.modified:not([type=checkbox]) {
outline: 1px solid #26b050;
}
.invalid {
outline: 1px solid #e50000;
}
.validation-message {
color: #e50000;
}
.blazor-error-boundary {
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
padding: 1rem 1rem 1rem 3.7rem;
color: white;
}
.blazor-error-boundary::after {
content: "An error has occurred."
}
.darker-border-checkbox.form-check-input {
border-color: #929292;
}
body {
background-color: #000000;
margin: 0%;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 973 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

@ -0,0 +1 @@
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m5.902 27.201-2.246-25.201h24.688l-2.249 25.197-10.11 2.803z" fill="#1572b6"/><path d="m16 27.858 8.17-2.265 1.922-21.532h-10.092z" fill="#33a9dc"/><path d="m16 13.191h4.09l.282-3.165h-4.372v-3.091h.011 7.739l-.074.829-.759 8.518h-6.917z" fill="#fff"/><path d="m16.019 21.218-.014.004-3.442-.93-.22-2.465h-1.673-1.43l.433 4.853 6.331 1.758.015-.004z" fill="#ebebeb"/><path d="m19.827 16.151-.372 4.139-3.447.93v3.216l6.336-1.756.047-.522.537-6.007z" fill="#fff"/><g fill="#ebebeb"><path d="m16.011 6.935v1.92 1.163.008h-7.456-.01l-.062-.695-.141-1.567-.074-.829z"/><path d="m16 13.191v1.92 1.163.008h-3.389-.01l-.062-.695-.14-1.567-.074-.829z"/></g></svg>

After

Width:  |  Height:  |  Size: 724 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="92pt" height="92pt" viewBox="0 0 92 92"><defs><clipPath id="a"><path d="M0 .113h91.887V92H0Zm0 0"/></clipPath></defs><g clip-path="url(#a)"><path style="stroke:none;fill-rule:nonzero;fill:#f03c2e;fill-opacity:1" d="M90.156 41.965 50.036 1.848a5.918 5.918 0 0 0-8.372 0l-8.328 8.332 10.566 10.566a7.03 7.03 0 0 1 7.23 1.684 7.034 7.034 0 0 1 1.669 7.277l10.187 10.184a7.028 7.028 0 0 1 7.278 1.672 7.04 7.04 0 0 1 0 9.957 7.05 7.05 0 0 1-9.965 0 7.044 7.044 0 0 1-1.528-7.66l-9.5-9.497V59.36a7.04 7.04 0 0 1 1.86 11.29 7.04 7.04 0 0 1-9.957 0 7.04 7.04 0 0 1 0-9.958 7.06 7.06 0 0 1 2.304-1.539V33.926a7.049 7.049 0 0 1-3.82-9.234L29.242 14.272 1.73 41.777a5.925 5.925 0 0 0 0 8.371L41.852 90.27a5.925 5.925 0 0 0 8.37 0l39.934-39.934a5.925 5.925 0 0 0 0-8.371"/></g></svg>

After

Width:  |  Height:  |  Size: 819 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1 @@
<svg width="1850" height="2500" viewBox="0 0 256 346" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet"><path d="M82.554 267.473s-13.198 7.675 9.393 10.272c27.369 3.122 41.356 2.675 71.517-3.034 0 0 7.93 4.972 19.003 9.279-67.611 28.977-153.019-1.679-99.913-16.517M74.292 229.659s-14.803 10.958 7.805 13.296c29.236 3.016 52.324 3.263 92.276-4.43 0 0 5.526 5.602 14.215 8.666-81.747 23.904-172.798 1.885-114.296-17.532" fill="#5382A1"/><path d="M143.942 165.515c16.66 19.18-4.377 36.44-4.377 36.44s42.301-21.837 22.874-49.183c-18.144-25.5-32.059-38.172 43.268-81.858 0 0-118.238 29.53-61.765 94.6" fill="#E76F00"/><path d="M233.364 295.442s9.767 8.047-10.757 14.273c-39.026 11.823-162.432 15.393-196.714.471-12.323-5.36 10.787-12.8 18.056-14.362 7.581-1.644 11.914-1.337 11.914-1.337-13.705-9.655-88.583 18.957-38.034 27.15 137.853 22.356 251.292-10.066 215.535-26.195M88.9 190.48s-62.771 14.91-22.228 20.323c17.118 2.292 51.243 1.774 83.03-.89 25.978-2.19 52.063-6.85 52.063-6.85s-9.16 3.923-15.787 8.448c-63.744 16.765-186.886 8.966-151.435-8.183 29.981-14.492 54.358-12.848 54.358-12.848M201.506 253.422c64.8-33.672 34.839-66.03 13.927-61.67-5.126 1.066-7.411 1.99-7.411 1.99s1.903-2.98 5.537-4.27c41.37-14.545 73.187 42.897-13.355 65.647 0 .001 1.003-.895 1.302-1.697" fill="#5382A1"/><path d="M162.439.371s35.887 35.9-34.037 91.101c-56.071 44.282-12.786 69.53-.023 98.377-32.73-29.53-56.75-55.526-40.635-79.72C111.395 74.612 176.918 57.393 162.439.37" fill="#E76F00"/><path d="M95.268 344.665c62.199 3.982 157.712-2.209 159.974-31.64 0 0-4.348 11.158-51.404 20.018-53.088 9.99-118.564 8.824-157.399 2.421.001 0 7.95 6.58 48.83 9.201" fill="#5382A1"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg height="383.5975" id="svg3430" version="1.1" viewBox="0 0 711.20123 383.5975" width="711.20123" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg">
<title id="title3510">Official PHP Logo</title>
<metadata id="metadata3436">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>Official PHP Logo</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Colin Viebrock</dc:title>
</cc:Agent>
</dc:creator>
<dc:description/>
<dc:contributor>
<cc:Agent>
<dc:title/>
</cc:Agent>
</dc:contributor>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
<dc:rights>
<cc:Agent>
<dc:title>Copyright Colin Viebrock 1997 - All rights reserved.</dc:title>
</cc:Agent>
</dc:rights>
<dc:date>1997</dc:date>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Notice"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike"/>
</cc:License>
</rdf:RDF>
</metadata>
<defs id="defs3434">
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3444">
<path d="M 11.52,162 C 11.52,81.677 135.307,16.561 288,16.561 l 0,0 c 152.693,0 276.481,65.116 276.481,145.439 l 0,0 c 0,80.322 -123.788,145.439 -276.481,145.439 l 0,0 C 135.307,307.439 11.52,242.322 11.52,162" id="path3446"/>
</clipPath>
<radialGradient cx="0" cy="0" fx="0" fy="0" gradientTransform="matrix(363.05789,0,0,-363.05789,177.52002,256.30713)" gradientUnits="userSpaceOnUse" id="radialGradient3452" r="1" spreadMethod="pad">
<stop id="stop3454" offset="0" style="stop-opacity:1;stop-color:#aeb2d5"/>
<stop id="stop3456" offset="0.3" style="stop-opacity:1;stop-color:#aeb2d5"/>
<stop id="stop3458" offset="0.75" style="stop-opacity:1;stop-color:#484c89"/>
<stop id="stop3460" offset="1" style="stop-opacity:1;stop-color:#484c89"/>
</radialGradient>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3468">
<path d="M 0,324 576,324 576,0 0,0 0,324 Z" id="path3470"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3480">
<path d="M 0,324 576,324 576,0 0,0 0,324 Z" id="path3482"/>
</clipPath>
</defs>
<g id="g3438" transform="matrix(1.25,0,0,-1.25,-4.4,394.29875)">
<g id="g3440">
<g clip-path="url(#clipPath3444)" id="g3442">
<g id="g3448">
<g id="g3450">
<path d="M 11.52,162 C 11.52,81.677 135.307,16.561 288,16.561 l 0,0 c 152.693,0 276.481,65.116 276.481,145.439 l 0,0 c 0,80.322 -123.788,145.439 -276.481,145.439 l 0,0 C 135.307,307.439 11.52,242.322 11.52,162" id="path3462" style="fill:url(#radialGradient3452);stroke:none"/>
</g>
</g>
</g>
</g>
<g id="g3464">
<g clip-path="url(#clipPath3468)" id="g3466">
<g id="g3472" transform="translate(288,27.3594)">
<path d="M 0,0 C 146.729,0 265.68,60.281 265.68,134.641 265.68,209 146.729,269.282 0,269.282 -146.729,269.282 -265.68,209 -265.68,134.641 -265.68,60.281 -146.729,0 0,0" id="path3474" style="fill:#777bb3;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
</g>
</g>
</g>
<g id="g3476">
<g clip-path="url(#clipPath3480)" id="g3478">
<g id="g3484" transform="translate(161.7344,145.3066)">
<path d="m 0,0 c 12.065,0 21.072,2.225 26.771,6.611 5.638,4.341 9.532,11.862 11.573,22.353 1.903,9.806 1.178,16.653 -2.154,20.348 C 32.783,53.086 25.417,55 14.297,55 L -4.984,55 -15.673,0 0,0 Z m -63.063,-67.75 c -0.895,0 -1.745,0.4 -2.314,1.092 -0.57,0.691 -0.801,1.601 -0.63,2.48 L -37.679,81.573 C -37.405,82.982 -36.17,84 -34.734,84 L 26.32,84 C 45.508,84 59.79,78.79 68.767,68.513 77.792,58.182 80.579,43.741 77.05,25.592 75.614,18.198 73.144,11.331 69.709,5.183 66.27,-0.972 61.725,-6.667 56.198,-11.747 49.582,-17.939 42.094,-22.429 33.962,-25.071 25.959,-27.678 15.681,-29 3.414,-29 l -24.722,0 -7.06,-36.322 c -0.274,-1.41 -1.508,-2.428 -2.944,-2.428 l -31.751,0 z" id="path3486" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
</g>
<g id="g3488" transform="translate(159.2236,197.3071)">
<path d="m 0,0 16.808,0 c 13.421,0 18.083,-2.945 19.667,-4.7 2.628,-2.914 3.124,-9.058 1.435,-17.767 C 36.012,-32.217 32.494,-39.13 27.452,-43.012 22.29,-46.986 13.898,-49 2.511,-49 L -9.523,-49 0,0 Z m 28.831,35 -61.055,0 c -2.872,0 -5.341,-2.036 -5.889,-4.855 l -28.328,-145.751 c -0.342,-1.759 0.12,-3.578 1.259,-4.961 1.14,-1.383 2.838,-2.183 4.63,-2.183 l 31.75,0 c 2.873,0 5.342,2.036 5.89,4.855 l 6.588,33.895 22.249,0 c 12.582,0 23.174,1.372 31.479,4.077 8.541,2.775 16.399,7.48 23.354,13.984 5.752,5.292 10.49,11.232 14.08,17.657 3.591,6.427 6.171,13.594 7.668,21.302 3.715,19.104 0.697,34.402 -8.969,45.466 C 63.965,29.444 48.923,35 28.831,35 m -45.633,-90 19.313,0 c 12.801,0 22.336,2.411 28.601,7.234 6.266,4.824 10.492,12.875 12.688,24.157 2.101,10.832 1.144,18.476 -2.871,22.929 C 36.909,3.773 28.87,6 16.808,6 L -4.946,6 -16.802,-55 M 28.831,29 C 47.198,29 60.597,24.18 69.019,14.539 77.44,4.898 79.976,-8.559 76.616,-25.836 75.233,-32.953 72.894,-39.46 69.601,-45.355 66.304,-51.254 61.999,-56.648 56.679,-61.539 50.339,-67.472 43.296,-71.7 35.546,-74.218 27.796,-76.743 17.925,-78 5.925,-78 l -27.196,0 -7.531,-38.75 -31.75,0 28.328,145.75 61.055,0" id="path3490" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
</g>
<g id="g3492" transform="translate(311.583,116.3066)">
<path d="m 0,0 c -0.896,0 -1.745,0.4 -2.314,1.092 -0.571,0.691 -0.802,1.6 -0.631,2.48 L 9.586,68.061 C 10.778,74.194 10.484,78.596 8.759,80.456 7.703,81.593 4.531,83.5 -4.848,83.5 L -27.55,83.5 -43.305,2.428 C -43.579,1.018 -44.814,0 -46.25,0 l -31.5,0 c -0.896,0 -1.745,0.4 -2.315,1.092 -0.57,0.691 -0.801,1.601 -0.63,2.48 l 28.328,145.751 c 0.274,1.409 1.509,2.427 2.945,2.427 l 31.5,0 c 0.896,0 1.745,-0.4 2.315,-1.091 0.57,-0.692 0.801,-1.601 0.63,-2.481 L -21.813,113 2.609,113 c 18.605,0 31.221,-3.28 38.569,-10.028 7.49,-6.884 9.827,-17.891 6.947,-32.719 L 34.945,2.428 C 34.671,1.018 33.437,0 32,0 L 0,0 Z" id="path3494" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
</g>
<g id="g3496" transform="translate(293.6611,271.0571)">
<path d="m 0,0 -31.5,0 c -2.873,0 -5.342,-2.036 -5.89,-4.855 l -28.328,-145.751 c -0.342,-1.759 0.12,-3.578 1.26,-4.961 1.14,-1.383 2.838,-2.183 4.63,-2.183 l 31.5,0 c 2.872,0 5.342,2.036 5.89,4.855 l 15.283,78.645 20.229,0 c 9.363,0 11.328,-2 11.407,-2.086 0.568,-0.611 1.315,-3.441 0.082,-9.781 l -12.531,-64.489 c -0.342,-1.759 0.12,-3.578 1.26,-4.961 1.14,-1.383 2.838,-2.183 4.63,-2.183 l 32,0 c 2.872,0 5.342,2.036 5.89,4.855 l 13.179,67.825 c 3.093,15.921 0.447,27.864 -7.861,35.5 -7.928,7.281 -21.208,10.82 -40.599,10.82 l -20.784,0 6.143,31.605 C 6.231,-5.386 5.77,-3.566 4.63,-2.184 3.49,-0.801 1.792,0 0,0 m 0,-6 -7.531,-38.75 28.062,0 c 17.657,0 29.836,-3.082 36.539,-9.238 6.703,-6.16 8.711,-16.141 6.032,-29.938 l -13.18,-67.824 -32,0 12.531,64.488 c 1.426,7.336 0.902,12.34 -1.574,15.008 -2.477,2.668 -7.746,4.004 -15.805,4.004 l -25.176,0 -16.226,-83.5 -31.5,0 L -31.5,-6 0,-6" id="path3498" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
</g>
<g id="g3500" transform="translate(409.5498,145.3066)">
<path d="m 0,0 c 12.065,0 21.072,2.225 26.771,6.611 5.638,4.34 9.532,11.861 11.574,22.353 1.903,9.806 1.178,16.653 -2.155,20.348 C 32.783,53.086 25.417,55 14.297,55 L -4.984,55 -15.673,0 0,0 Z m -63.062,-67.75 c -0.895,0 -1.745,0.4 -2.314,1.092 -0.57,0.691 -0.802,1.601 -0.631,2.48 L -37.679,81.573 C -37.404,82.982 -36.17,84 -34.733,84 L 26.32,84 C 45.509,84 59.79,78.79 68.768,68.513 77.793,58.183 80.579,43.742 77.051,25.592 75.613,18.198 73.144,11.331 69.709,5.183 66.27,-0.972 61.725,-6.667 56.198,-11.747 49.582,-17.939 42.094,-22.429 33.962,-25.071 25.959,-27.678 15.681,-29 3.414,-29 l -24.723,0 -7.057,-36.322 c -0.275,-1.41 -1.509,-2.428 -2.946,-2.428 l -31.75,0 z" id="path3502" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
</g>
<g id="g3504" transform="translate(407.0391,197.3071)">
<path d="M 0,0 16.808,0 C 30.229,0 34.891,-2.945 36.475,-4.7 39.104,-7.614 39.6,-13.758 37.91,-22.466 36.012,-32.217 32.493,-39.13 27.452,-43.012 22.29,-46.986 13.898,-49 2.511,-49 L -9.522,-49 0,0 Z m 28.831,35 -61.054,0 c -2.872,0 -5.341,-2.036 -5.889,-4.855 L -66.44,-115.606 c -0.342,-1.759 0.12,-3.578 1.259,-4.961 1.14,-1.383 2.838,-2.183 4.63,-2.183 l 31.75,0 c 2.872,0 5.342,2.036 5.89,4.855 l 6.587,33.895 22.249,0 c 12.582,0 23.174,1.372 31.479,4.077 8.541,2.775 16.401,7.481 23.356,13.986 5.752,5.291 10.488,11.23 14.078,17.655 3.591,6.427 6.171,13.594 7.668,21.302 3.715,19.105 0.697,34.403 -8.969,45.467 C 63.965,29.444 48.924,35 28.831,35 m -45.632,-90 19.312,0 c 12.801,0 22.336,2.411 28.601,7.234 6.267,4.824 10.492,12.875 12.688,24.157 2.102,10.832 1.145,18.476 -2.871,22.929 C 36.909,3.773 28.87,6 16.808,6 L -4.946,6 -16.801,-55 M 28.831,29 C 47.198,29 60.597,24.18 69.019,14.539 77.441,4.898 79.976,-8.559 76.616,-25.836 75.233,-32.953 72.894,-39.46 69.601,-45.355 66.304,-51.254 61.999,-56.648 56.679,-61.539 50.339,-67.472 43.296,-71.7 35.546,-74.218 27.796,-76.743 17.925,-78 5.925,-78 l -27.196,0 -7.53,-38.75 -31.75,0 28.328,145.75 61.054,0" id="path3506" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

Loading…
Cancel
Save