Begin add kde_contribution

This commit is contained in:
Florian RICHER 2024-01-14 18:37:58 +01:00
parent b560e7ec6c
commit f832f5f3e2

View file

@ -0,0 +1,97 @@
---
image_path: "https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Test-Logo.svg/783px-Test-Logo.svg.png?20150906031702"
slug: kde_first_conf
title: Contribuer sur le projet KDE
date: 2023-11-26T00:00:00Z
description: Comment contribuer financièrement, en remontant les bugs ou en aidant au développement de KDE directement
project_link: none
draft: true
tags:
- kde
- linux
---
# Qu'est-ce que KDE ?
KDE est un projet qui a pour but de développer des logiciels open-source. Le projet comporte plusieurs éléments les plus connus.
- KF5 ou KF6 est un ensemble de librairie utilisé pour le developpement de l'ensemble des logiciels de KDE. Kirigami une librairie qui permet le développement sur toutes plateformes de manière responsive fait partie de KF5/KF6.
- Plasma Shell est l'environnement de bureau développé pour Linux.
# Comment contribuer à KDE
1. Financièrement
On peut contribuer de plusieurs manières, d'abord on peut simplement contribuer financièrement au projet avec le lien [Donations](https://kde.org/fr/community/donations/).
2. Rapport de bug
N'importe qui peut contribuer en aidant les développeurs de KDE en testant et en remontant les soucis rencontrées avec le lien [KDE Bugs](https://bugs.kde.org/) ou directement sur [Gitlab](https://invent.kde.org).
Les distributions permettent en général également de tester la version instable de KDE pour tester en avant première les nouveautés.
Cette étape est souvent sous-estimé alors que ça permet au développeur de trouver beaucoup de bugs. Plus il y a de beta-testeur, plus il y a de machine et de configuration de machine différente, plus il y a de chance de trouver des bugs. On remontant les bugs, ça permet de corriger et d'améliorer l'expérience utilisateur pour ceux qui installeront la version Final.
3. Participation au développement de KDE
La dernière façon de contribuer et de participer aux développement de KDE.
Pour aider les nouveaux arrivants, KDE trie les bugs qui nécessite peut de connaissance pour apprendre doucement depuis [Bugs KDE](https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&keywords=junior-jobs&list_id=1340815) et [Gitlab](https://invent.kde.org/dashboard/issues?sort=created_date&state=opened&label_name%5B%5D=Junior+Job).
# Contribuer en aidant au développpement de KDE
Il existe un outil pour faciliter la compilation de l'ensemble des outils de KDE et de l'environnement de KDE. Cet outil c'est `kdesrc-build`, une fois configuré, on peut facilement compiler et lancer un outil spécifique de KDE avec les commandes `kdesrc-build [nom de l'outil]` et `kdesrc-run [nom de l'outil]`. Ça permet de gagner pas mal de temps. L'outil permet également de générer l'ensemble des configurations pour le `LSP` (Language Server Protocol) utilisé par exemple par `Visual Studio Code`. Tout est conçu pour que l'on est juste à lancer notre IDE favoris et commencer directement le développement sur KDE sans ce préocupper du reste.
On peut également installer une session KDE Plasma Shell pour lancer l'environnement Plasma compilé à l'instant directement depuis l'interface de connexion de la distribution Linux.
## Configuration de `kdesrc-buildrc`
Tout d'abord, il faut avoir installé et configuré l'outil `kdesrc-build`. Pour le configurer, il suffit de suivre la procédure sur ce lien [Configuration de l'environnement de développement](https://community.kde.org/Get_Involved/development/Set_up_a_development_environment).
Pour le développement sur KDE Plasma 6, j'ai rajouté `branch-group kf6-qt6` ce qui va automatiquement switcher sur la bonne branche lors du clonage des repository git de KDE mais également rajouté l'option cmake `-DBUILD_WITH_QT6=on` au moment de la configuration des projets avec cmake pour activer la compilation avec QT6.
Pour éviter de s'arreter en plein milieu de la compilation des outils à cause d'un seul outil, j'ai rajouté l'option `stop-on-failure false`, je pars du principe que c'est pas grave si l'un des logiciels ne se compile pas.
Les options `compile-commands-linking true` et `compile-commands-export true` permet d'améliorer le support avec les `LSP` en mettant en cache l'ensemble des librairies nécessaire à la compilation dans un fichier. Et l'option `generate-vscode-project-config true` permet de générer un projet `Visual Studio Code`. Ça évite de devoir le configuré surtout que l'option va rajouter aussi la liste des extensions nécessaires pour que `Visual Studio Code` ce configure directement.
Fichier final sans les commentaires `~/.config/kdesrc-buildrc`
```conf
global
branch-group kf6-qt6
install-dir ~/kde/usr
source-dir ~/kde/src
build-dir ~/kde/build
num-cores auto
num-cores-low-mem auto
install-session-driver false
install-environment-driver true
stop-on-failure false
directory-layout flat
cmake-generator Kate - Ninja
compile-commands-linking true
compile-commands-export true
generate-vscode-project-config true
end global
include ~/kde/src/kdesrc-build/data/build-include/kf6-common-options.ksb
include ~/kde/src/kdesrc-build/data/build-include/kf6-frameworks.ksb
include ~/kde/src/kdesrc-build/data/build-include/kf6-workspace.ksb
include ~/kde/src/kdesrc-build/data/build-include/kf6-applications.ksb
include ~/kde/src/kdesrc-build/data/build-include/kf6-kdepim.ksb
```
## Utilisation de `kdesrc-build`
Pour lancer la compilation de l'ensemble des outils KDE et de l'environnement Plasma, il suffit d'executer la commande `kdesrc-build`.
Pour compiler uniquement un seul outil, on peut executer la commande `kdesrc-build kate` par exemple pour compiler uniquement `kate` et ces dépendances.
`kdesrc-buikd -D kate` pour compiler sans inclure les dépendances.
`kdesrc-build -S` pour ne pas mettre à jour les sources du projets (Pratique si on est en train de développer une feature).
Si on souhaite tester ce que l'on a fait sur un projet, on peut chainer les options `kdesrc-build -S -D [projet]` ce qui permet de compiler uniquement notre code sans les dépendances et ensuite faire `kdesrc-run [projet]` pour le lancer.