Skip to content

Commit 4c2ee1b

Browse files
committed
docs: restore website content
1 parent 3533c14 commit 4c2ee1b

39 files changed

+415
-5236
lines changed

.github/workflows/deploy.yml

+30-51
Original file line numberDiff line numberDiff line change
@@ -23,68 +23,47 @@ concurrency:
2323
group: "pages"
2424
cancel-in-progress: true
2525

26-
env:
27-
NEXT_PUBLIC_BASE_PATH: /launcher-tutorials
26+
# Default to bash
27+
defaults:
28+
run:
29+
shell: bash
2830

2931
jobs:
3032
# Build job
3133
build:
3234
runs-on: ubuntu-latest
35+
env:
36+
HUGO_VERSION: 0.127.0
3337
steps:
3438
- name: Checkout
35-
uses: actions/checkout@v3
39+
uses: actions/checkout@v4
3640
with:
37-
fetch-depth: 0
38-
- name: Detect package manager
39-
id: detect-package-manager
40-
run: |
41-
if [ -f "${{ github.workspace }}/yarn.lock" ]; then
42-
echo "manager=yarn" >> $GITHUB_OUTPUT
43-
echo "command=install" >> $GITHUB_OUTPUT
44-
echo "runner=yarn" >> $GITHUB_OUTPUT
45-
exit 0
46-
elif [ -f "${{ github.workspace }}/package.json" ]; then
47-
echo "manager=npm" >> $GITHUB_OUTPUT
48-
echo "command=ci" >> $GITHUB_OUTPUT
49-
echo "runner=npx --no-install" >> $GITHUB_OUTPUT
50-
exit 0
51-
else
52-
echo "Unable to determine packager manager"
53-
exit 1
54-
fi
55-
- name: Setup Node
56-
uses: actions/setup-node@v3
41+
fetch-depth: 0 # fetch all history for .GitInfo and .Lastmod
42+
submodules: recursive
43+
- name: Setup Go
44+
uses: actions/setup-go@v5
5745
with:
58-
node-version: "16"
59-
cache: ${{ steps.detect-package-manager.outputs.manager }}
46+
go-version: "1.22"
6047
- name: Setup Pages
61-
uses: actions/configure-pages@v3
62-
with:
63-
# Automatically inject basePath in your Next.js configuration file and disable
64-
# server side image optimization (https://nextjs.org/docs/api-reference/next/image#unoptimized).
65-
#
66-
# You may remove this line if you want to manage the configuration yourself.
67-
static_site_generator: next
68-
- name: Restore cache
69-
uses: actions/cache@v3
70-
with:
71-
path: |
72-
.next/cache
73-
# Generate a new cache whenever packages or source files change.
74-
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
75-
# If source files changed but packages didn't, rebuild from a prior cache.
76-
restore-keys: |
77-
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-
78-
- name: Install dependencies
79-
run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
80-
- name: Build with Next.js
81-
run: ${{ steps.detect-package-manager.outputs.runner }} next build
82-
- name: Static HTML export with Next.js
83-
run: ${{ steps.detect-package-manager.outputs.runner }} next export
48+
id: pages
49+
uses: actions/configure-pages@v5
50+
- name: Setup Hugo
51+
run: |
52+
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
53+
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
54+
- name: Build with Hugo
55+
env:
56+
# For maximum backward compatibility with Hugo modules
57+
HUGO_ENVIRONMENT: production
58+
HUGO_ENV: production
59+
run: |
60+
hugo \
61+
--gc --minify \
62+
--baseURL "${{ steps.pages.outputs.base_url }}/"
8463
- name: Upload artifact
85-
uses: actions/upload-pages-artifact@v1
64+
uses: actions/upload-pages-artifact@v3
8665
with:
87-
path: ./out
66+
path: ./public
8867

8968
# Deployment job
9069
deploy:
@@ -96,4 +75,4 @@ jobs:
9675
steps:
9776
- name: Deploy to GitHub Pages
9877
id: deployment
99-
uses: actions/deploy-pages@v1
78+
uses: actions/deploy-pages@v4

.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
.vscode/
2-
.idea/
2+
.idea/
3+
4+
public/
5+
resources/_gen/

content/_index.md

+23-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
1-
+++
2-
title = ''
3-
date = 2024-06-20T10:41:31+02:00
4-
draft = true
5-
+++
1+
---
2+
title: "Introduction"
3+
date: 2024-06-20T10:41:31+02:00
4+
cascade:
5+
type: docs
6+
---
7+
8+
Bienvenue sur Launcher Tutorials ! Différents tutoriels sont répertoriés autour de la création de launcher Minecraft.
9+
10+
<!-- more -->
11+
12+
## Pourquoi ce site ?
13+
14+
Ce site a été créé pour aider les personnes qui souhaitent créer un launcher Minecraft. Il est composé de tutoriels qui vous permettront de créer un launcher Minecraft de A à Z. Il existe en complément un [Discord](https://discord.gg/SAy4bVQgHD) où vous pourrez poser vos questions et obtenir de l'aide.
15+
16+
## Comment contribuer ?
17+
18+
Vous pouvez contribuer à ce site en proposant des tutoriels ou en corrigeant des erreurs. Pour cela, vous pouvez créer une
19+
[Pull Request](https://github.com/bricklou/launcher-tutorials/pulls) sur le dépôt GitHub du site.
20+
21+
## Contributeurs
22+
23+
[![](https://contrib.rocks/image?repo=bricklou/launcher-tutorials)](https://github.com/bricklou/launcher-tutorials/graphs/contributors)

content/docs/_index.md

-5
This file was deleted.

content/faq.md

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: "FAQ"
3+
date: 2024-06-20T11:36:46+02:00
4+
weight: 1
5+
---
6+
7+
Tu trouveras ici les réponses aux questions les plus fréquentes.
8+
9+
<!-- more -->
10+
11+
Si tu as une question qui n'est pas dans cette liste, n'hésite pas à nous la proposer sur [GitHub](https://github.com/bricklou/launcher-tutorials/issues/new).
12+
13+
{{< callout type="warning" emoji="⚠️" >}}
14+
Cette page est un peu vide pour le moment, mais elle va s'étoffer au fur et à
15+
mesure que nous recevrons des questions.
16+
{{< /callout >}}

content/flow-updater/_index.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
title: "Flow Updater"
3+
date: 2024-06-20T11:36:46+02:00
4+
weight: 3
5+
---
6+
7+
_"The free and open source solution to update Minecraft."_
8+
9+
## Introduction
10+
11+
**Flow Updater** est aujourd'hui un outil indispensable pour mettre à jour une installation Minecraft.
12+
Créé par [Flow Arg](https://github.com/FlowArg) en 2020, FlowUpdater bénéficie aujourd'hui d'une communauté prête à vous aider en cas de problème.
13+
La bibliothèque est disponible à partir de Java 8 et est compatible à ce jour jusqu'à Java 19.
14+
15+
[Ce projet open-source](https://github.com/FlowArg/FlowUpdater) permet d'installer en plus d'une version vanilla, un mod loader (Forge, Fabric, ...) des mods en provenance de plusieurs plateformes (CurseForge, Modrinth, votre propre serveur) et même un mod pack complet !
16+
Il est également possible d'ajouter des resource packs, des options par défaut, etc...
17+
18+
Vous pouvez contribuez à ce projet en proposant des idées sur le [Discord](https://discord.gg/dN6HWHp), en ouvrant directement une [issue](https://github.com/FlowArg/FlowUpdater/issues) pour signaler un bug ou en créant une [Pull Request](https://github.com/FlowArg/FlowUpdater/pulls) pour proposer des modifications dans le code.
19+
20+
Sur cette documentation, vous retrouverez des tutoriels à jour sur l'utilisation de la bibliothèque (si ils sont dépassés, n'hésitez pas à nous le signaler !) pour vous aider à mettre en place Flow Updater dans votre projet.

content/flow-updater/vanilla.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: "Vanilla"
3+
date: 2024-06-20T11:36:46+02:00
4+
---
5+
6+
## Tutoriel Vanilla
7+
8+
W.I.P

content/open-auth.md

+145
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
---
2+
title: "Open Auth"
3+
date: 2024-06-20T11:36:46+02:00
4+
weight: 2
5+
---
6+
7+
## Introduction
8+
9+
[Open Auth](https://github.com/litarvan/openauth) est une librairie Java développée par [Litarvan](https://github.com/litarvan) qui offre une méthode rapide pour s'authentifier via les services officiels pour un client Minecraft.
10+
Dans cet article, nous parlerons exclusivement de l'authentification (cité sous le nom "d'auth" à partir de maintenant) par un compte Microsoft. En effet, désormais Mojang supporte uniquement cette méthode.
11+
12+
## Importer la librairie
13+
14+
Cette librairie est hébergée sur le maven de Litarvan, vous pouvez donc l'importer dans votre projet comme ceci :
15+
16+
Avec Gradle :
17+
18+
```groovy {filename=build.gradle}
19+
repositories {
20+
mavenCentral()
21+
maven {
22+
url = 'https://jitpack.io'
23+
name = 'JitPack'
24+
}
25+
}
26+
27+
dependencies {
28+
implementation 'com.github.litarvan:openauth:518589d222'
29+
}
30+
31+
```
32+
33+
Avec Maven :
34+
35+
```xml {filename=pom.xml}
36+
<repositories>
37+
<repository>
38+
<id>JitPack</id>
39+
<url>https://jitpack.io</url>
40+
</repository>
41+
</repositories>
42+
<dependencies>
43+
<dependency>
44+
<groupId>com.github.litarvan</groupId>
45+
<artifactId>openauth</artifactId>
46+
<version>518589d222</version>
47+
</dependency>
48+
</dependencies>
49+
```
50+
51+
{{< callout emoji="✅" type="info" >}}
52+
À l'heure où est écrit ce tutoriel, la dernière version disponible est la
53+
**1.1.5** (qui est le commit `518589d222`, puisque cette version n'a pas été publié). Allez sur la page des
54+
[releases](https://github.com/Litarvan/OpenAuth/releases) pour voir la
55+
dernière version disponible.
56+
{{< /callout >}}
57+
58+
## Authentification
59+
60+
Plusieurs méthodes d'auth sont disponibles en fonction des besoins de l'application que vous développez.
61+
62+
{{< callout emoji="⚠️" type="warning" >}}
63+
Il faut choisir **une seule** méthode d'auth parmi les suivantes.
64+
{{< /callout >}}
65+
66+
Pour toutes les méthodes d'auth suivantes, il faut déclarer un objet de type `MicrosoftAuthenticator` comme ceci :
67+
68+
```java
69+
MicrosoftAuthenticator authenticator = new MicrosoftAuthenticator();
70+
```
71+
72+
### Auth par "Credentials":
73+
74+
Cette méthode permet de se connecter avec l'email et le mot de passe du compte Microsoft, elle peut être utile dans le cas ou l'application intègre ses propres champs de texte pour la connexion.
75+
Nonobstant, cette méthode est déconseillée car elle n'est pas sécurisée, et peut être utilisée pour récupérer des informations sensibles par l'application (puisqu'elle traîte directement les informations de connexion). De plus, cette méthode ne supporte pas la double authentification "A2F".
76+
Voici comment l'utiliser :
77+
78+
```java
79+
// ...
80+
MicrosoftAuthResult result = authenticator.loginWithCredentials("email", "password");
81+
```
82+
83+
### Auth par "WebView":
84+
85+
Cette méthode permet de se connecter avec une interface de connexion Microsoft, comme ceci :
86+
87+
![Image de la webview Microsoft](https://sharepointmaven.com/wp-content/uploads/2022/09/brandloginwindowmicrosoft3651.jpg)
88+
89+
Voici comment l'utiliser :
90+
91+
```java
92+
...
93+
MicrosoftAuthResult result = authenticator.loginWithWebView();
94+
```
95+
96+
{{< callout emoji="✅" type="info" >}}
97+
Attention, cette méthode n'est pas une méthode asynchrone, c'est a dire que
98+
votre programme ne tournera plus en arrière plan lorsque cette fenêtre sera
99+
ouverte si elle n'est pas ouverte dans un autre thread. Cela peut causer des
100+
problèmes, par exemple : votre interface graphique pourra être gelée et vous
101+
aurez un beau message de votre OS vous informant que le programme ne répond
102+
plus.
103+
{{< /callout >}}
104+
105+
Si vous voulez utiliser la méthode asynchrone, utilisez simplement `loginWithAsyncWebView` au lieu de `loginWithWebView`;
106+
107+
### Auth par "RefreshToken:
108+
109+
Cette méthode d'auth permet de se connecter avec un _refresh_token_, elle est utilisée pour éviter de se reconnecter à chaque lancement.
110+
Le _refresh_token_ est récupérable avec une authentification basique, sauvegardez le dans un fichier pour le récupérer au prochain lancement.
111+
Voici comment l'utiliser :
112+
113+
```java
114+
// ...
115+
MicrosoftAuthResult result = authenticator.loginWithRefreshToken("refresh token");
116+
```
117+
118+
### Auth par "DeviceId"
119+
120+
_Cette auth est en cours d'écriture, elle permettrait de ne pas utiliser la webView et d'ouvrir une page internet pour taper un code, comme il est fait dans le launcher de multiMc_
121+
122+
## Résultat
123+
124+
Pour toutes ces méthodes d'auth, nous obtenons un objet result de type `MicrosoftAuthResult`. Cet objet nous permet de récupérer plusieurs informations sur le compte que nous venons de connecter :
125+
126+
- le profil avec la méthode `result.getProfile()`
127+
- l'accesToken avec la méthode `result.getAccessToken()`
128+
- le refreshToken avec la méthode `result.getRefreshToken()`
129+
- l'xuid avec la méthode `result.getXuid()`
130+
- le clientId avec la méthode `result.getClientId()`
131+
132+
Les deux derniers ids sont nécessaires notamment pour les authentifications à partir de la 1.18.
133+
134+
### Le profil
135+
136+
La méthode `result.getProfile()` retourne uen objet de type `MinecraftProfile`, qui peut être utilisé avec les méthodes suivantes :
137+
138+
- `getId()` permets de récupérer l'UUID du compte minecraft
139+
- `getName()` permets de récupérer le nom du compte du joueur
140+
- `getSkins()` permets de récupérer la liste des skins du joueur sous forme de MinecraftSkin[] (je ne détaillerais pas ici l'utilisation de cette classe que vous pouvez trouver [ici](https://github.com/Litarvan/OpenAuth/blob/518589d22210bf0763d9ae19d546ddf1dba3fb8c/src/main/java/fr/litarvan/openauth/microsoft/model/response/MinecraftProfile.java#L60))
141+
142+
### Les tokens
143+
144+
- L'_acces token_ est utilisé pour lancer le jeu, par exemple avec la librairie [OpenLauncherLib](https://github.com/FlowArg/OpenLauncherLib)
145+
- Le _refresh token_, dont nous avons déjà parlé avant, permet quant à lui de se reconnecter directement, sans avoir à rentrer de mot de passe, il est donc pratique de le sauvegarder dans un fichier après la connexion.
File renamed without changes.
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
title: "Documentation de SwingLauncher"
3+
linkTitle: "Getting started"
4+
date: 2024-06-20T11:36:46+02:00
5+
---
6+
7+
Ici, vous allez trouver des informations concernant le code du swing template.
8+
9+
## Avant de commencer
10+
11+
S'il vous plait, ayez une bonne connaissance de votre sujet (java, swing) pour ne pas être perdu dans votre projet.
12+
13+
## Installation
14+
15+
- Pour créer votre launcher en utilisant le [repo github](https://github.com/support-launcher/swinglauncher), clonez-le via git sur votre ordinateur.
16+
- Ouvrez le projet avec l'ide que vous souhaitez (Intellij IDEA est fortement recommandé).
17+
18+
À présent vous êtes prêt à coder votre launcher !
19+
20+
{{< callout type="warning" emoji="⚠️" >}}
21+
Faites attention à ouvrir le bon dossier !
22+
{{< /callout >}}

0 commit comments

Comments
 (0)