Add skill removal functionality and enhance UI components
- Integrated onRemoveSkill functionality in SkillEvaluation, SkillSelector, and SkillEvaluationCard components for better skill management. - Updated UI to improve user experience when removing skills, including tooltip descriptions and styling adjustments. - Added new skills to backend, devops, frontend, and mobile JSON files for comprehensive skill coverage.
This commit is contained in:
@@ -61,6 +61,132 @@
|
||||
"https://redis.io/documentation",
|
||||
"https://github.com/redis/redis"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "golang",
|
||||
"name": "Go",
|
||||
"description": "Langage de programmation développé par Google",
|
||||
"links": [
|
||||
"https://golang.org/",
|
||||
"https://golang.org/doc/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "rust",
|
||||
"name": "Rust",
|
||||
"description": "Langage de programmation système sûr et performant",
|
||||
"links": [
|
||||
"https://www.rust-lang.org/",
|
||||
"https://doc.rust-lang.org/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "java-spring",
|
||||
"name": "Java Spring",
|
||||
"description": "Framework Java pour applications d'entreprise",
|
||||
"links": [
|
||||
"https://spring.io/",
|
||||
"https://docs.spring.io/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "csharp-dotnet",
|
||||
"name": "C# .NET",
|
||||
"description": "Plateforme de développement Microsoft",
|
||||
"links": [
|
||||
"https://dotnet.microsoft.com/",
|
||||
"https://docs.microsoft.com/dotnet/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "php-laravel",
|
||||
"name": "PHP Laravel",
|
||||
"description": "Framework PHP moderne pour applications web",
|
||||
"links": [
|
||||
"https://laravel.com/",
|
||||
"https://laravel.com/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ruby-rails",
|
||||
"name": "Ruby on Rails",
|
||||
"description": "Framework web en Ruby",
|
||||
"links": [
|
||||
"https://rubyonrails.org/",
|
||||
"https://guides.rubyonrails.org/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "graphql",
|
||||
"name": "GraphQL",
|
||||
"description": "Langage de requête pour APIs",
|
||||
"links": [
|
||||
"https://graphql.org/",
|
||||
"https://graphql.org/learn/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "prisma",
|
||||
"name": "Prisma",
|
||||
"description": "ORM moderne pour Node.js et TypeScript",
|
||||
"links": [
|
||||
"https://www.prisma.io/",
|
||||
"https://www.prisma.io/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "trpc",
|
||||
"name": "tRPC",
|
||||
"description": "Framework TypeScript pour APIs type-safe",
|
||||
"links": [
|
||||
"https://trpc.io/",
|
||||
"https://trpc.io/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "nest-js",
|
||||
"name": "NestJS",
|
||||
"description": "Framework Node.js pour applications scalables",
|
||||
"links": [
|
||||
"https://nestjs.com/",
|
||||
"https://docs.nestjs.com/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fastify",
|
||||
"name": "Fastify",
|
||||
"description": "Framework web rapide pour Node.js",
|
||||
"links": [
|
||||
"https://www.fastify.io/",
|
||||
"https://www.fastify.io/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "rabbitmq",
|
||||
"name": "RabbitMQ",
|
||||
"description": "Broker de messages open source",
|
||||
"links": [
|
||||
"https://www.rabbitmq.com/",
|
||||
"https://www.rabbitmq.com/documentation.html"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "apache-kafka",
|
||||
"name": "Apache Kafka",
|
||||
"description": "Plateforme de streaming distribuée",
|
||||
"links": [
|
||||
"https://kafka.apache.org/",
|
||||
"https://kafka.apache.org/documentation/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "microservices",
|
||||
"name": "Microservices",
|
||||
"description": "Architecture en microservices",
|
||||
"links": [
|
||||
"https://microservices.io/",
|
||||
"https://martinfowler.com/articles/microservices.html"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
96
public/data/skills/cloud.json
Normal file
96
public/data/skills/cloud.json
Normal file
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"category": "Cloud",
|
||||
"icon": "cloud",
|
||||
"skills": [
|
||||
{
|
||||
"id": "aws",
|
||||
"name": "Amazon Web Services",
|
||||
"description": "Plateforme de services cloud d'Amazon",
|
||||
"links": [
|
||||
"https://aws.amazon.com/",
|
||||
"https://docs.aws.amazon.com/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "azure",
|
||||
"name": "Microsoft Azure",
|
||||
"description": "Plateforme cloud de Microsoft",
|
||||
"links": [
|
||||
"https://azure.microsoft.com/",
|
||||
"https://docs.microsoft.com/azure/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gcp",
|
||||
"name": "Google Cloud Platform",
|
||||
"description": "Services cloud de Google",
|
||||
"links": [
|
||||
"https://cloud.google.com/",
|
||||
"https://cloud.google.com/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "terraform",
|
||||
"name": "Terraform",
|
||||
"description": "Outil d'infrastructure as code",
|
||||
"links": [
|
||||
"https://www.terraform.io/",
|
||||
"https://learn.hashicorp.com/terraform"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "serverless",
|
||||
"name": "Serverless Framework",
|
||||
"description": "Framework pour applications serverless",
|
||||
"links": [
|
||||
"https://www.serverless.com/",
|
||||
"https://www.serverless.com/framework/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "lambda",
|
||||
"name": "AWS Lambda",
|
||||
"description": "Service de calcul serverless d'AWS",
|
||||
"links": [
|
||||
"https://aws.amazon.com/lambda/",
|
||||
"https://docs.aws.amazon.com/lambda/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "cloudformation",
|
||||
"name": "CloudFormation",
|
||||
"description": "Service d'infrastructure as code d'AWS",
|
||||
"links": [
|
||||
"https://aws.amazon.com/cloudformation/",
|
||||
"https://docs.aws.amazon.com/cloudformation/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "s3",
|
||||
"name": "Amazon S3",
|
||||
"description": "Service de stockage d'objets d'AWS",
|
||||
"links": [
|
||||
"https://aws.amazon.com/s3/",
|
||||
"https://docs.aws.amazon.com/s3/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ec2",
|
||||
"name": "Amazon EC2",
|
||||
"description": "Service de calcul élastique d'AWS",
|
||||
"links": [
|
||||
"https://aws.amazon.com/ec2/",
|
||||
"https://docs.aws.amazon.com/ec2/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "cloudfront",
|
||||
"name": "CloudFront",
|
||||
"description": "Réseau de diffusion de contenu (CDN) d'AWS",
|
||||
"links": [
|
||||
"https://aws.amazon.com/cloudfront/",
|
||||
"https://docs.aws.amazon.com/cloudfront/"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
96
public/data/skills/data.json
Normal file
96
public/data/skills/data.json
Normal file
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"category": "Data",
|
||||
"icon": "database",
|
||||
"skills": [
|
||||
{
|
||||
"id": "sql",
|
||||
"name": "SQL",
|
||||
"description": "Langage de requête pour bases de données relationnelles",
|
||||
"links": [
|
||||
"https://www.postgresql.org/docs/",
|
||||
"https://dev.mysql.com/doc/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "postgresql",
|
||||
"name": "PostgreSQL",
|
||||
"description": "Base de données relationnelle open source avancée",
|
||||
"links": [
|
||||
"https://www.postgresql.org/",
|
||||
"https://www.postgresql.org/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "mongodb",
|
||||
"name": "MongoDB",
|
||||
"description": "Base de données NoSQL orientée documents",
|
||||
"links": [
|
||||
"https://www.mongodb.com/",
|
||||
"https://docs.mongodb.com/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "redis",
|
||||
"name": "Redis",
|
||||
"description": "Base de données en mémoire, cache et courtier de messages",
|
||||
"links": [
|
||||
"https://redis.io/",
|
||||
"https://redis.io/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "elasticsearch",
|
||||
"name": "Elasticsearch",
|
||||
"description": "Moteur de recherche et d'analyse distribué",
|
||||
"links": [
|
||||
"https://www.elastic.co/elasticsearch/",
|
||||
"https://www.elastic.co/guide/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "python-data",
|
||||
"name": "Python (Data Science)",
|
||||
"description": "Python pour l'analyse de données et machine learning",
|
||||
"links": [
|
||||
"https://pandas.pydata.org/",
|
||||
"https://scikit-learn.org/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "tableau",
|
||||
"name": "Tableau",
|
||||
"description": "Plateforme de visualisation de données",
|
||||
"links": [
|
||||
"https://www.tableau.com/",
|
||||
"https://help.tableau.com/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "powerbi",
|
||||
"name": "Power BI",
|
||||
"description": "Service d'analyse de données de Microsoft",
|
||||
"links": [
|
||||
"https://powerbi.microsoft.com/",
|
||||
"https://docs.microsoft.com/power-bi/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "spark",
|
||||
"name": "Apache Spark",
|
||||
"description": "Moteur de traitement de données distribuées",
|
||||
"links": [
|
||||
"https://spark.apache.org/",
|
||||
"https://spark.apache.org/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "airflow",
|
||||
"name": "Apache Airflow",
|
||||
"description": "Plateforme d'orchestration de workflows",
|
||||
"links": [
|
||||
"https://airflow.apache.org/",
|
||||
"https://airflow.apache.org/docs/"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
96
public/data/skills/design.json
Normal file
96
public/data/skills/design.json
Normal file
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"category": "Design",
|
||||
"icon": "palette",
|
||||
"skills": [
|
||||
{
|
||||
"id": "figma",
|
||||
"name": "Figma",
|
||||
"description": "Outil de design d'interface collaboratif",
|
||||
"links": [
|
||||
"https://www.figma.com/",
|
||||
"https://help.figma.com/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "sketch",
|
||||
"name": "Sketch",
|
||||
"description": "Outil de design d'interface pour macOS",
|
||||
"links": [
|
||||
"https://www.sketch.com/",
|
||||
"https://www.sketch.com/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "adobe-xd",
|
||||
"name": "Adobe XD",
|
||||
"description": "Outil de design et prototypage d'Adobe",
|
||||
"links": [
|
||||
"https://www.adobe.com/products/xd.html",
|
||||
"https://helpx.adobe.com/xd/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ux-ui",
|
||||
"name": "UX/UI Design",
|
||||
"description": "Conception d'expérience et d'interface utilisateur",
|
||||
"links": [
|
||||
"https://www.nngroup.com/",
|
||||
"https://material.io/design/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "design-system",
|
||||
"name": "Design System",
|
||||
"description": "Systèmes de design et composants réutilisables",
|
||||
"links": [
|
||||
"https://designsystemsrepo.com/",
|
||||
"https://www.designbetter.co/design-systems-handbook"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "prototyping",
|
||||
"name": "Prototypage",
|
||||
"description": "Création de prototypes interactifs",
|
||||
"links": [
|
||||
"https://www.prototypr.io/",
|
||||
"https://www.invisionapp.com/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "user-research",
|
||||
"name": "Recherche utilisateur",
|
||||
"description": "Méthodologies de recherche UX",
|
||||
"links": [
|
||||
"https://www.nngroup.com/articles/",
|
||||
"https://www.usability.gov/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "accessibility",
|
||||
"name": "Accessibilité",
|
||||
"description": "Design accessible et inclusive",
|
||||
"links": [
|
||||
"https://www.w3.org/WAI/",
|
||||
"https://webaim.org/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "responsive-design",
|
||||
"name": "Design Responsive",
|
||||
"description": "Conception adaptative multi-dispositifs",
|
||||
"links": [
|
||||
"https://developers.google.com/web/fundamentals/design-and-ux/responsive",
|
||||
"https://responsivedesign.is/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "motion-design",
|
||||
"name": "Motion Design",
|
||||
"description": "Animation et transitions d'interface",
|
||||
"links": [
|
||||
"https://material.io/design/motion/",
|
||||
"https://www.framer.com/"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -61,6 +61,132 @@
|
||||
"https://docs.github.com/en/actions",
|
||||
"https://github.com/actions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ansible",
|
||||
"name": "Ansible",
|
||||
"description": "Outil d'automatisation IT et de gestion de configuration",
|
||||
"links": [
|
||||
"https://www.ansible.com/",
|
||||
"https://docs.ansible.com/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "jenkins",
|
||||
"name": "Jenkins",
|
||||
"description": "Serveur d'automatisation open source",
|
||||
"links": [
|
||||
"https://www.jenkins.io/",
|
||||
"https://www.jenkins.io/doc/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gitlab-ci",
|
||||
"name": "GitLab CI/CD",
|
||||
"description": "Pipeline d'intégration continue de GitLab",
|
||||
"links": [
|
||||
"https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/",
|
||||
"https://docs.gitlab.com/ee/ci/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "prometheus",
|
||||
"name": "Prometheus",
|
||||
"description": "Système de monitoring et d'alerting",
|
||||
"links": [
|
||||
"https://prometheus.io/",
|
||||
"https://prometheus.io/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "grafana",
|
||||
"name": "Grafana",
|
||||
"description": "Plateforme de visualisation et monitoring",
|
||||
"links": [
|
||||
"https://grafana.com/",
|
||||
"https://grafana.com/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "elk-stack",
|
||||
"name": "ELK Stack",
|
||||
"description": "Elasticsearch, Logstash, et Kibana pour logs",
|
||||
"links": [
|
||||
"https://www.elastic.co/what-is/elk-stack",
|
||||
"https://www.elastic.co/guide/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "nginx",
|
||||
"name": "Nginx",
|
||||
"description": "Serveur web et proxy inverse",
|
||||
"links": [
|
||||
"https://nginx.org/",
|
||||
"https://nginx.org/en/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "apache",
|
||||
"name": "Apache HTTP Server",
|
||||
"description": "Serveur web open source",
|
||||
"links": [
|
||||
"https://httpd.apache.org/",
|
||||
"https://httpd.apache.org/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "traefik",
|
||||
"name": "Traefik",
|
||||
"description": "Proxy inverse moderne et load balancer",
|
||||
"links": [
|
||||
"https://traefik.io/",
|
||||
"https://doc.traefik.io/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "helm",
|
||||
"name": "Helm",
|
||||
"description": "Gestionnaire de packages pour Kubernetes",
|
||||
"links": [
|
||||
"https://helm.sh/",
|
||||
"https://helm.sh/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "istio",
|
||||
"name": "Istio",
|
||||
"description": "Service mesh pour microservices",
|
||||
"links": [
|
||||
"https://istio.io/",
|
||||
"https://istio.io/latest/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "vault",
|
||||
"name": "HashiCorp Vault",
|
||||
"description": "Gestion des secrets et chiffrement",
|
||||
"links": [
|
||||
"https://www.vaultproject.io/",
|
||||
"https://learn.hashicorp.com/vault"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "consul",
|
||||
"name": "HashiCorp Consul",
|
||||
"description": "Service discovery et configuration",
|
||||
"links": [
|
||||
"https://www.consul.io/",
|
||||
"https://learn.hashicorp.com/consul"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "nomad",
|
||||
"name": "HashiCorp Nomad",
|
||||
"description": "Orchestrateur de workloads",
|
||||
"links": [
|
||||
"https://www.nomadproject.io/",
|
||||
"https://learn.hashicorp.com/nomad"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -61,6 +61,123 @@
|
||||
"https://webpack.js.org/concepts/",
|
||||
"https://github.com/webpack/webpack"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "vite",
|
||||
"name": "Vite",
|
||||
"description": "Outil de build rapide pour applications modernes",
|
||||
"links": [
|
||||
"https://vitejs.dev/",
|
||||
"https://vitejs.dev/guide/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "svelte",
|
||||
"name": "Svelte",
|
||||
"description": "Framework de compilation pour interfaces utilisateur",
|
||||
"links": [
|
||||
"https://svelte.dev/",
|
||||
"https://svelte.dev/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "solidjs",
|
||||
"name": "SolidJS",
|
||||
"description": "Framework JavaScript réactif et performant",
|
||||
"links": [
|
||||
"https://www.solidjs.com/",
|
||||
"https://www.solidjs.com/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "astro",
|
||||
"name": "Astro",
|
||||
"description": "Framework statique multi-framework",
|
||||
"links": [
|
||||
"https://astro.build/",
|
||||
"https://docs.astro.build/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "remix",
|
||||
"name": "Remix",
|
||||
"description": "Framework full-stack centré sur les standards web",
|
||||
"links": [
|
||||
"https://remix.run/",
|
||||
"https://remix.run/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "storybook",
|
||||
"name": "Storybook",
|
||||
"description": "Outil de développement pour composants UI",
|
||||
"links": [
|
||||
"https://storybook.js.org/",
|
||||
"https://storybook.js.org/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "cypress",
|
||||
"name": "Cypress",
|
||||
"description": "Framework de tests end-to-end",
|
||||
"links": [
|
||||
"https://www.cypress.io/",
|
||||
"https://docs.cypress.io/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "playwright",
|
||||
"name": "Playwright",
|
||||
"description": "Framework de tests pour applications web",
|
||||
"links": [
|
||||
"https://playwright.dev/",
|
||||
"https://playwright.dev/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "three-js",
|
||||
"name": "Three.js",
|
||||
"description": "Bibliothèque JavaScript pour 3D dans le navigateur",
|
||||
"links": [
|
||||
"https://threejs.org/",
|
||||
"https://threejs.org/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "d3",
|
||||
"name": "D3.js",
|
||||
"description": "Bibliothèque de visualisation de données",
|
||||
"links": [
|
||||
"https://d3js.org/",
|
||||
"https://github.com/d3/d3/wiki"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "gsap",
|
||||
"name": "GSAP",
|
||||
"description": "Bibliothèque d'animations web performantes",
|
||||
"links": [
|
||||
"https://greensock.com/gsap/",
|
||||
"https://greensock.com/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "web-components",
|
||||
"name": "Web Components",
|
||||
"description": "Standards natifs pour composants réutilisables",
|
||||
"links": [
|
||||
"https://developer.mozilla.org/en-US/docs/Web/Web_Components",
|
||||
"https://web.dev/web-components/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pwa",
|
||||
"name": "Progressive Web Apps",
|
||||
"description": "Applications web progressives",
|
||||
"links": [
|
||||
"https://web.dev/progressive-web-apps/",
|
||||
"https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -51,6 +51,105 @@
|
||||
"https://docs.expo.dev/",
|
||||
"https://github.com/expo/expo"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ionic",
|
||||
"name": "Ionic",
|
||||
"description": "Framework pour applications mobiles hybrides",
|
||||
"links": [
|
||||
"https://ionicframework.com/",
|
||||
"https://ionicframework.com/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "xamarin",
|
||||
"name": "Xamarin",
|
||||
"description": "Plateforme de développement mobile Microsoft",
|
||||
"links": [
|
||||
"https://dotnet.microsoft.com/apps/xamarin",
|
||||
"https://docs.microsoft.com/xamarin/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "unity",
|
||||
"name": "Unity",
|
||||
"description": "Moteur de jeu pour applications mobiles",
|
||||
"links": [
|
||||
"https://unity.com/",
|
||||
"https://docs.unity3d.com/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "cordova",
|
||||
"name": "Apache Cordova",
|
||||
"description": "Plateforme pour applications mobiles hybrides",
|
||||
"links": [
|
||||
"https://cordova.apache.org/",
|
||||
"https://cordova.apache.org/docs/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "capacitor",
|
||||
"name": "Capacitor",
|
||||
"description": "Runtime natif pour applications web",
|
||||
"links": [
|
||||
"https://capacitorjs.com/",
|
||||
"https://capacitorjs.com/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fastlane",
|
||||
"name": "Fastlane",
|
||||
"description": "Automatisation pour développement mobile",
|
||||
"links": [
|
||||
"https://fastlane.tools/",
|
||||
"https://docs.fastlane.tools/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "firebase",
|
||||
"name": "Firebase",
|
||||
"description": "Plateforme de développement mobile Google",
|
||||
"links": [
|
||||
"https://firebase.google.com/",
|
||||
"https://firebase.google.com/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "app-store-optimization",
|
||||
"name": "App Store Optimization",
|
||||
"description": "Optimisation pour stores d'applications",
|
||||
"links": [
|
||||
"https://developer.apple.com/app-store/",
|
||||
"https://play.google.com/console/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "mobile-testing",
|
||||
"name": "Tests Mobile",
|
||||
"description": "Frameworks de tests pour applications mobiles",
|
||||
"links": [
|
||||
"https://appium.io/",
|
||||
"https://detox.js.org/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "mobile-performance",
|
||||
"name": "Performance Mobile",
|
||||
"description": "Optimisation des performances mobiles",
|
||||
"links": [
|
||||
"https://developers.google.com/web/tools/lighthouse",
|
||||
"https://developer.android.com/topic/performance"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "push-notifications",
|
||||
"name": "Push Notifications",
|
||||
"description": "Notifications push pour applications mobiles",
|
||||
"links": [
|
||||
"https://firebase.google.com/docs/cloud-messaging",
|
||||
"https://developer.apple.com/notifications/"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
96
public/data/skills/security.json
Normal file
96
public/data/skills/security.json
Normal file
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"category": "Security",
|
||||
"icon": "shield",
|
||||
"skills": [
|
||||
{
|
||||
"id": "oauth",
|
||||
"name": "OAuth 2.0",
|
||||
"description": "Framework d'autorisation pour APIs",
|
||||
"links": [
|
||||
"https://oauth.net/2/",
|
||||
"https://tools.ietf.org/html/rfc6749"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "jwt",
|
||||
"name": "JSON Web Tokens",
|
||||
"description": "Standard pour transmettre des informations de façon sécurisée",
|
||||
"links": [
|
||||
"https://jwt.io/",
|
||||
"https://tools.ietf.org/html/rfc7519"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "https-ssl",
|
||||
"name": "HTTPS/SSL",
|
||||
"description": "Protocoles de sécurisation des communications web",
|
||||
"links": [
|
||||
"https://developer.mozilla.org/en-US/docs/Web/Security",
|
||||
"https://letsencrypt.org/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "owasp",
|
||||
"name": "OWASP",
|
||||
"description": "Bonnes pratiques de sécurité des applications web",
|
||||
"links": [
|
||||
"https://owasp.org/",
|
||||
"https://owasp.org/www-project-top-ten/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "csrf-xss",
|
||||
"name": "CSRF/XSS Protection",
|
||||
"description": "Protection contre les attaques CSRF et XSS",
|
||||
"links": [
|
||||
"https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html",
|
||||
"https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "penetration-testing",
|
||||
"name": "Tests de pénétration",
|
||||
"description": "Tests de sécurité offensifs",
|
||||
"links": [
|
||||
"https://owasp.org/www-community/Penetration_Testing_Methodologies",
|
||||
"https://www.kali.org/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "cryptography",
|
||||
"name": "Cryptographie",
|
||||
"description": "Chiffrement et hachage des données",
|
||||
"links": [
|
||||
"https://cryptography.io/",
|
||||
"https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "auth0",
|
||||
"name": "Auth0",
|
||||
"description": "Plateforme d'authentification et d'autorisation",
|
||||
"links": [
|
||||
"https://auth0.com/",
|
||||
"https://auth0.com/docs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "keycloak",
|
||||
"name": "Keycloak",
|
||||
"description": "Solution open source de gestion d'identité",
|
||||
"links": [
|
||||
"https://www.keycloak.org/",
|
||||
"https://www.keycloak.org/documentation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "vault",
|
||||
"name": "HashiCorp Vault",
|
||||
"description": "Outil de gestion des secrets",
|
||||
"links": [
|
||||
"https://www.vaultproject.io/",
|
||||
"https://learn.hashicorp.com/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user