Compare commits

...
Sign in to create a new pull request.

6 commits

Author SHA1 Message Date
a398d3a6d9
{footer,index}: add mention of GRIP-UQAM
All checks were successful
/ render (push) Successful in 37s
2025-06-12 16:46:20 -04:00
ayakael
76360bcc2f
*: fix grammar errors
All checks were successful
/ render (push) Successful in 38s
2025-04-03 18:49:30 -04:00
78a1b6627f
join: migrate registration form to Forgejo backend
Some checks failed
/ preview (pull_request) Successful in 41s
/ render (push) Successful in 41s
/ cleanup (pull_request) Failing after 25s
2025-04-03 18:41:13 -04:00
aec1460de9
ci: move to pages server
All checks were successful
/ render (push) Successful in 37s
2025-03-31 20:28:00 -04:00
2f88882e0d
footer: update newsletter
All checks were successful
/ render (push) Successful in 37s
2025-03-23 16:09:33 -04:00
1fb1da0413
footer: update newsletter uuid
All checks were successful
/ render (push) Successful in 36s
2025-03-13 17:51:31 -04:00
23 changed files with 171 additions and 126 deletions

View file

@ -11,12 +11,11 @@ jobs:
- name: Environment setup
run: |
apk add git nodejs jq coreutils curl tree gawk grep
- name: Public repo pull
- name: Pages repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.PAGES_TOKEN }}
ref: public
ref: pages
- name: Render website
run: |
export GITHUB_PR_NAME=$(grep -l ${{ github.sha }} previews/*/git_sha.txt | awk -F '/' '{print $2}')

View file

@ -1,27 +0,0 @@
on:
push:
branches:
- 'public'
jobs:
deploy:
runs-on: x86_64
container: alpine:latest
env:
GIT_SSH_COMMAND: ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
steps:
- name: Environment setup
run: |
apk add git nodejs openssh-client-common openssh-client-default
- name: Start ssh-agent
uses: actions/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.PAGES_PRIVKEY }}
- name: Repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Website upload
run: |
git remote set-url origin ${{ vars.PAGES_TARGET }}
git push -f

View file

@ -11,28 +11,27 @@ jobs:
steps:
- name: Environment setup
run: |
apk add git ikiwiki po4a perl-yaml-tiny tree nodejs
apk add git ikiwiki po4a perl-yaml-tiny tree nodejs imagemagick-perlmagick imagemagick imagemagick-jpeg findutils bash imagemagick-webp
- name: Repo pull
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 1
token: ${{ secrets.PAGES_TOKEN }}
- name: Public repo pull
uses: https://github.com/actions/checkout@v4
- name: Pages repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: public
ref: pages
path: public
token: ${{ secrets.PAGES_TOKEN }}
- name: Render website
run: ikiwiki --setup ikiwiki.setup
- name: Website upload
run: |
rm -Rf public/.forgejo
mkdir -p public/.forgejo/workflows
cp .forgejo/workflows/deploy.yaml public/.forgejo/workflows/.
cp .pages-domains public/.domains
cp .pages-redirect public/_redirects
git log -1 --pretty=%B > commit.txt
cd public
find -name 'index.html' -type 'l' -delete
find -name 'index.fr.html' -exec bash -c 'ln -s "${0/.*\/}" "${0/.fr/}"' {} \;
date > generated.txt
# Note: the following account information will not work on GHES
git config user.name "forgejo-actions[bot]"

View file

@ -10,20 +10,18 @@ jobs:
steps:
- name: Environment setup
run: |
apk add git ikiwiki po4a perl-yaml-tiny tree nodejs jq coreutils curl
echo "GITHUB_PR_NAME=$(curl -Ls ${{ github.server_url }}/api/v1/repos/${{ github.repository }}/pulls/${{ github.ref_name }} | jq .title | tr ' ' '-' | tr -d ':' | tr -d '"' | tr '[:upper:]' '[:lower:]' | tr '/' '-')" >> $GITHUB_ENV
apk add git ikiwiki po4a perl-yaml-tiny tree nodejs jq coreutils curl imagemagick-perlmagick imagemagick imagemagick-jpeg findutils bash imagemagick-webp
echo "GITHUB_PR_NAME=$(curl -Ls ${{ github.server_url }}/api/v1/repos/${{ github.repository }}/pulls/${{ github.ref_name }} -H 'accept: application/json' -H 'Authorization: token ${{ secrets.FORGEJO_TOKEN }}' | jq .title | tr ' ' '-' | tr -d ':' | tr -d '"' | tr '[:upper:]' '[:lower:]' | tr '/' '-' | tr -d ',')" >> $GITHUB_ENV
- name: Repo pull
uses: actions/checkout@v4
with:
fetch-depth: 1
token: ${{ secrets.PAGES_TOKEN }}
- name: Public repo pull
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: public
ref: pages
path: public
token: ${{ secrets.PAGES_TOKEN }}
- name: Render website
run: |
rm -rf public/previews/$GITHUB_PR_NAME || true
@ -32,11 +30,11 @@ jobs:
ikiwiki --setup ikiwiki.setup
cd public/previews
tree -d -H '.' -L 1 --noreport --charset utf-8 -T "Versions" -o index.html
cd $GITHUB_PR_NAME
find -name 'index.html' -type 'l' -delete
find -name 'index.fr.html' -exec bash -c 'ln -s "${0/.*\/}" "${0/.fr/}"' {} \;
- name: Website upload
run: |
rm -Rf public/.forgejo
mkdir -p public/.forgejo/workflows
cp .forgejo/workflows/deploy.yaml public/.forgejo/workflows/.
git log -1 --pretty=%B > commit.txt
cd public
date > previews/$GITHUB_PR_NAME/generated.txt

1
.pages-domains Normal file
View file

@ -0,0 +1 @@
www.ilot.io

0
.pages-redirect Normal file
View file

Binary file not shown.

View file

@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2025-03-13 17:34-0400\n"
"PO-Revision-Date: 2025-03-13 17:36-0400\n"
"POT-Creation-Date: 2025-06-12 16:36-0400\n"
"PO-Revision-Date: 2025-06-12 16:44-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#. type: Content of: <p><div><div><div><h5>
msgid "Support"
msgstr "Soutient"
msgstr "Soutien"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[FAQs|https://support.ilot.io/en/hc/706927618]]"
@ -31,7 +31,7 @@ msgstr "[[Problèmes connus|https://forge.ilot.io/ilot/-/projects/3]]"
#. type: Content of: <p><div><div><div><ul><li>
msgid "[[Support ticket|https://support.ilot.io/help/706927618]]"
msgstr "[[Soutient technique|https://support.ilot.io/help/706927618]]"
msgstr "[[Soutien technique|https://support.ilot.io/help/706927618]]"
#. type: Content of: <p><div><div><div><h5>
msgid "Contribute"
@ -87,8 +87,8 @@ msgstr ""
#. type: Content of: <p><div><div><div><form>
msgid ""
"<input type=\"hidden\" name=\"nonce\" /> <input id=\"9c490\" type=\"hidden\" "
"name=\"l\" value=\"9c490957-b50b-4162-898d-92259e350cd6\" />"
"<input type=\"hidden\" name=\"nonce\" /> <input id=\"39425\" type=\"hidden\" "
"name=\"l\" value=\"39425113-44b5-46f7-9897-91151467b05f\" />"
msgstr ""
#. type: Content of: <p><div><div><div><form><div>
@ -129,6 +129,14 @@ msgstr ""
"dismiss=\"modal\">Fermer</button> <button aria-label=\"Subscribe\" "
"class=\"btn\" type=\"submit\">S'abonner</button>"
#. type: Content of: <p><div><div><div><p>
msgid ""
"Ilot is a <a href=\"https://gripuqam.org\" target=\"_blank\">GRIP-UQAM</a> "
"working group"
msgstr ""
"Ilot est un comité du <a href=\"https://gripuqam.org\" "
"target=\"_blank\">GRIP-UQAM"
#, fuzzy
#~| msgid "[[Wiki|https://wiki.ilot.io]]"
#~ msgid "Powered by [[ikiwiki|http://ikiwiki.info/]]."

View file

@ -48,7 +48,7 @@
</script>
<input type="hidden" name="nonce" />
<input id="9c490" type="hidden" name="l" value="9c490957-b50b-4162-898d-92259e350cd6" />
<input id="39425" type="hidden" name="l" value="39425113-44b5-46f7-9897-91151467b05f" />
<div class="t">
<input aria-label="Email" class="btn" type="email" name="email" required placeholder="E-mail" />
</div>
@ -74,6 +74,9 @@
</form>
</div>
<div class="col-12 text-center">
<hr />
<p>Ilot is a <a href="https://gripuqam.org" target="_blank">GRIP-UQAM</a> working group</p>
</div>
</div>
</p>

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2025-03-13 17:34-0400\n"
"POT-Creation-Date: 2025-06-12 16:45-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -86,8 +86,8 @@ msgstr ""
#. type: Content of: <p><div><div><div><form>
msgid ""
"<input type=\"hidden\" name=\"nonce\" /> <input id=\"9c490\" type=\"hidden\" "
"name=\"l\" value=\"9c490957-b50b-4162-898d-92259e350cd6\" />"
"<input type=\"hidden\" name=\"nonce\" /> <input id=\"39425\" type=\"hidden\" "
"name=\"l\" value=\"39425113-44b5-46f7-9897-91151467b05f\" />"
msgstr ""
#. type: Content of: <p><div><div><div><form><div>
@ -119,3 +119,9 @@ msgid ""
"data-bs-dismiss=\"modal\">Close</button> <button aria-label=\"Subscribe\" "
"class=\"btn\" type=\"submit\">Subscribe</button>"
msgstr ""
#. type: Content of: <p><div><div><div><p>
msgid ""
"Ilot is a <a href=\"https://gripuqam.org\" target=\"_blank\">GRIP-UQAM</a> "
"working group"
msgstr ""

View file

@ -46,6 +46,7 @@ add_plugins:
- typography
- sidebar2
- po
- inline
# plugins to disable
disable_plugins:
- htmlscrubber

Binary file not shown.

View file

@ -5,15 +5,15 @@
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-09-08 12:28-0400\n"
"PO-Revision-Date: 2024-09-08 12:33-0400\n"
"POT-Creation-Date: 2025-06-12 16:42-0400\n"
"PO-Revision-Date: 2025-06-12 16:45-0400\n"
"Last-Translator: Philippe Batailler <philippe.batailler@free.fr>\n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.3\n"
"X-Generator: Poedit 3.5\n"
#. type: Plain text
#, no-wrap
@ -37,49 +37,23 @@ msgstr ""
#. type: Plain text
msgid ""
"[[ilot|https://ilot.io]] is a cooperative corner of the internet. We operate "
"a Nextcloud instance, a free and open-source collaboration platform "
"analoguous to Google Drive. We aim to eventually incorporate as a "
"cooperative to create a digital infrastructure that is by and for its users "
"as an alternative to the siloed and privatized internet of today. Members "
"fund our operations and decide how to set our community policies, steward "
"our data, and manage our shared technologies. Members also provide the labor "
"to run ilot at all levels."
"[[ilot|https://ilot.io]] is a cooperative corner of the internet. We operate a Nextcloud instance, a free and open-source collaboration platform analoguous to Google Drive. We aim to eventually incorporate as a cooperative to create a digital infrastructure that is by and for its users as an "
"alternative to the siloed and privatized internet of today. Members fund our operations and decide how to set our community policies, steward our data, and manage our shared technologies. Members also provide the labor to run ilot at all levels."
msgstr ""
"[[ilot|https://ilot.io]] est une isle coopérative de l'internet. Nous "
"administrons une instance de Nextcloud, une plateformes libre de travail et "
"de stockage de donnée analogue à Google Drive. Notre objectif est de nous "
"constituer en coopérative afin de créer une infrastructure numérique par et "
"pour ses utilisateur-ice-s, en alternative à l'internet cloisonné et "
"privatisé d'aujourd'hui. Les membres financent nos opérations et décident de "
"la manière de définir nos politiques communautaires, de gérer nos données et "
"nos technologies partagées. Les membres fournissent également la main-"
"d'œuvre nécessaire au fonctionnement de l'ilot à tous les niveaux."
"[[ilot|https://ilot.io]] est une ile coopérative de l'internet. Nous administrons une instance de Nextcloud, une plateforme libre de travail et de stockage de donnée analogue à Google Drive. Notre objectif est de nous constituer en coopérative afin de créer une infrastructure numérique par et pour "
"ses utilisateur-ice-s, en alternative à l'internet cloisonné et privatisé d'aujourd'hui. Les membres financent nos opérations et décident de la manière de définir nos politiques communautaires, de gérer nos données et nos technologies partagées. Les membres fournissent également la main-d'œuvre "
"nécessaire au fonctionnement de l'ilot à tous les niveaux."
#. type: Plain text
msgid ""
"The project is currently in beta, as there is still a lot of work left to "
"do. While the technical infrastructure is setup and stable, the governance "
"and community guidelines are still a work in progress. If you are interested "
"in joining ilot, visit our [[registration form|join]]."
msgid "The project is currently in beta, as there is still a lot of work left to do. While the technical infrastructure is setup and stable, the governance and community guidelines are still a work in progress. If you are interested in joining ilot, visit our [[registration form|join]]."
msgstr ""
"Le projet est actuellement en version bêta, car il reste encore beaucoup de "
"travail à faire. Alors que l'infrastructure technique est mise en place et "
"stable, la gouvernance et les lignes directrices de la communauté sont "
"encore en cours d'élaboration. Si vous souhaitez rejoindre ilot, visitez "
"notre [[formulaire d'inscription|join]]."
"Le projet est actuellement en version bêta, car il reste encore beaucoup de travail à faire. Alors que l'infrastructure technique est mise en place et stable, la gouvernance et les lignes directrices de la communauté sont encore en cours d'élaboration. Si vous souhaitez vous joindre à notre projet, "
"compléter notre [[formulaire d'inscription|join]]."
#. type: Plain text
msgid ""
"ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and "
"immigration studies sudent association of UQAM, wanted to create its own "
"digital infrastructure. Since then, we have worked toward the goal of making "
"the project useful to other organisations and individuals."
msgstr ""
"ilot a vu le jour en 2021 lorsque l'AESA-CIRI, l'association des étudiants "
"en sociologie, anthropologie et études de l'immigration de l'UQAM, a voulu "
"créer sa propre infrastructure numérique. Depuis, nous travaillons dans le "
"but de rendre le projet utile à d'autres organisations et individus."
#, no-wrap
msgid "ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and immigration studies sudent association of UQAM, wanted to create its own digital infrastructure. Since then, we have worked toward the goal of making the project useful to other organisations and individuals. Since march of 2025, we are a fiscally sponsored by <a href=\"https://gripuqam.org\" target=\"_blank\">GRIP-UQAM</a>.\n"
msgstr "ilot a vu le jour en 2021 lorsque l'AESA-CIRI, l'association des étudiants en sociologie, anthropologie et études de l'immigration de l'UQAM, a voulu créer sa propre infrastructure numérique. Depuis, nous travaillons dans le but de rendre le projet utile à d'autres organisations et individus. Depuis mars 2025, le <a href=\"https://gripuqam.org\" target=\"_blank\">GRIP-UQAM</a> nous héberge fiscalement.\n"
#. type: Title ##
#, no-wrap

View file

@ -10,7 +10,7 @@
The project is currently in beta, as there is still a lot of work left to do. While the technical infrastructure is setup and stable, the governance and community guidelines are still a work in progress. If you are interested in joining ilot, visit our [[registration form|join]].
ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and immigration studies sudent association of UQAM, wanted to create its own digital infrastructure. Since then, we have worked toward the goal of making the project useful to other organisations and individuals.
ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and immigration studies sudent association of UQAM, wanted to create its own digital infrastructure. Since then, we have worked toward the goal of making the project useful to other organisations and individuals. Since march of 2025, we are a fiscally sponsored by <a href="https://gripuqam.org" target="_blank">GRIP-UQAM</a>.
## Learn more

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-09-11 14:44-0400\n"
"POT-Creation-Date: 2025-06-12 16:45-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -54,12 +54,14 @@ msgid ""
msgstr ""
#. type: Plain text
#, markdown-text
#, markdown-text, no-wrap
msgid ""
"ilot was started in 2021 when AESA-CIRI, the sociology, anthropology and "
"immigration studies sudent association of UQAM, wanted to create its own "
"digital infrastructure. Since then, we have worked toward the goal of making "
"the project useful to other organisations and individuals."
"the project useful to other organisations and individuals. Since march of "
"2025, we are a fiscally sponsored by <a href=\"https://gripuqam.org\" "
"target=\"_blank\">GRIP-UQAM</a>.\n"
msgstr ""
#. type: Title ##

Binary file not shown.

View file

@ -7,19 +7,20 @@
msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-10-08 11:35-0400\n"
"PO-Revision-Date: 2024-10-08 11:29-0400\n"
"POT-Creation-Date: 2025-04-03 18:26-0400\n"
"PO-Revision-Date: 2025-04-03 18:47-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.3\n"
"X-Generator: Poedit 3.5\n"
#. type: Content of: outside any tag (error?)
msgid "[[!meta title=\"Join\"]]"
msgstr "[[!meta title=\"Se joindre\"]]"
msgid "[[!meta title=\"Join\"]] [[!inline pages=\"join/join-en\" raw=\"yes\"]]"
msgstr ""
"[[!meta title=\"Se joindre\"]] [[!inline pages=\"join/join-fr\" raw=\"yes\"]]"
#. type: Content of: <header><h1>
msgid "Registration Form"
@ -220,6 +221,9 @@ msgstr ""
"maxlength=\"50\"></p> <input type=\"button\" value=\"Soumettre\" id = "
"\"submit\" onClick = \"createIssue()\"> </form>"
#~ msgid "[[!meta title=\"Join\"]]"
#~ msgstr "[[!meta title=\"Se joindre\"]]"
#~ msgid ""
#~ "async function checkDuplicate() { var url='https://lab.ilot.io/api/v4/"
#~ "projects/99/issues'; var email = document.getElementById(\"email\")."

View file

@ -1,6 +1,6 @@
[[!meta title="Join"]]
<script src="../js/join.js"></script>
[[!inline pages="join/join-en" raw="yes"]]
<header class="text-center">
<h1 class="post-title">Registration Form</h1>

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-10-08 11:35-0400\n"
"POT-Creation-Date: 2025-04-03 18:27-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#. type: Content of: outside any tag (error?)
msgid "[[!meta title=\"Join\"]]"
msgid "[[!meta title=\"Join\"]] [[!inline pages=\"join/join-en\" raw=\"yes\"]]"
msgstr ""
#. type: Content of: <header><h1>

View file

@ -1,10 +1,11 @@
<script>
async function checkDuplicate() {
var url='https://lab.ilot.io/api/v4/projects/99/issues';
var url='https://forge.ilot.io/api/v1/repos/ilot/registration/issues';
var email = document.getElementById("email").value;
const response = await fetch(url, {
headers: {
'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv',
'authorization': 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c',
'Content-Type': 'application/json',
},
})
@ -20,28 +21,28 @@
}
async function createIssue() {
var baseurl = 'https://lab.ilot.io/api/v4/projects/99/issues?&labels=Request';
var url = 'https://forge.ilot.io/api/v1/repos/ilot/registration/issues';
var mathspamtrap = document.getElementById("math-spam-trap").value;
var agreetoterms = document.getElementById("agree-to-terms").checked;
var email = document.getElementById("email").value;
if(!agreetoterms) {
alert("Registration requires agreement of Code of Conduct");
alert("Registration requires agreement of Code of Conduct.");
return false;
}
if(!email) {
alert("Email cannot be empty");
alert("Email cannot be empty.");
return false;
}
if(mathspamtrap != "9") {
alert("Wrong math answer");
alert("Wrong math answer.");
return false;
}
if(await checkDuplicate(email) === true) {
alert("This email address has already requested an account");
alert("This email address has already requested an account.");
return false;
}
@ -49,29 +50,28 @@
var name = name.replace (/^/,'Name: ');
var aboutme = document.getElementById("about-me").value;
var aboutme = aboutme.replace (/^/,'About me: ');
var aboutme = aboutme.replace(/\r?\n/g, "%0A%0A");
var howfound = document.getElementById("how-found").value;
var howfound = howfound.replace (/^/,'How I found ilot: ');
var howfound = howfound.replace(/\r?\n/g, "%0A%0A");
var ocuser = document.getElementById("oc-user").value;
var ocuser = ocuser.replace (/^/,'OpenCollective Profile: ');
var description = name + "%0A%0A" + aboutme + "%0A%0A" + howfound + "%0A%0A" + ocuser;
var url = baseurl.concat("&title=", email, "&description=", description);
var description = name + "\n\n" + aboutme + "\n\n" + howfound + "\n\n" + ocuser;
console.log('Description:', description);
fetch(url, {
method: 'POST',
headers: {
'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv',
'authorization': 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c',
'Content-Type': 'application/json',
},
body: JSON.stringify({ title: email, body: description }),
})
.then(response => response.json())
.then(result => {
console.log('Success:', result);
alert("Request submitted. A working group member will process your registration shortly. If you receive no contact within seven days of registration, please send an email to support@ilot.io");
alert("Request submitted. A working group member will process your registration shortly. If you receive no contact within seven days of registration, please send an email to support@ilot.io.");
})
.catch(error => {
console.error('Error:', error)
});
}
</script>

77
join/join-fr.html Normal file
View file

@ -0,0 +1,77 @@
<script>
async function checkDuplicate() {
var url='https://forge.ilot.io/api/v1/repos/ilot/registration/issues';
var email = document.getElementById("email").value;
const response = await fetch(url, {
headers: {
'authorization': 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c',
'Content-Type': 'application/json',
},
})
const result = await response.json();
let index = result
.findIndex(item => item.title === email);
if (index !== -1) {
return true;
} else {
return false;
}
}
async function createIssue() {
var url = 'https://forge.ilot.io/api/v1/repos/ilot/registration/issues';
var mathspamtrap = document.getElementById("math-spam-trap").value;
var agreetoterms = document.getElementById("agree-to-terms").checked;
var email = document.getElementById("email").value;
if(!agreetoterms) {
alert("Vous devez être en accord avec notre code de conduite.");
return false;
}
if(!email) {
alert("Le courriel ne peut pas être vide.");
return false;
}
if(mathspamtrap != "9") {
alert("Ceci n'est pas la bonne réponse à l'exercise mathématique.");
return false;
}
if(await checkDuplicate(email) === true) {
alert("Ce courriel a déjà fait l'objet d'une demande de compte.");
return false;
}
var name = document.getElementById("name").value;
var name = name.replace (/^/,'Name: ');
var aboutme = document.getElementById("about-me").value;
var aboutme = aboutme.replace (/^/,'About me: ');
var howfound = document.getElementById("how-found").value;
var howfound = howfound.replace (/^/,'How I found ilot: ');
var ocuser = document.getElementById("oc-user").value;
var ocuser = ocuser.replace (/^/,'OpenCollective Profile: ');
var description = name + "\n\n" + aboutme + "\n\n" + howfound + "\n\n" + ocuser;
console.log('Description:', description);
fetch(url, {
method: 'POST',
headers: {
'authorization': 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c',
'Content-Type': 'application/json',
},
body: JSON.stringify({ title: email, body: description }),
})
.then(response => response.json())
.then(result => {
console.log('Success:', result);
alert("Votre demande a été soumise. Un membre d'un groupe de travail va traiter votre demande sous peu. Si vous ne recevez pas de nouvelle d'ici sept jours, contactez-vous via support@ilot.io.");
})
.catch(error => {
console.error('Error:', error)
});
}
</script>

Binary file not shown.

View file

@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: ilot.io\n"
"POT-Creation-Date: 2024-09-08 12:48-0400\n"
"PO-Revision-Date: 2024-09-08 12:49-0400\n"
"PO-Revision-Date: 2025-04-03 18:49-0400\n"
"Last-Translator: \n"
"Language-Team: dev@ayakael.net\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.3\n"
"X-Generator: Poedit 3.5\n"
#. type: Plain text
#, no-wrap
@ -56,7 +56,7 @@ msgid ""
"management of the other platforms, and they are here to give you an overview "
"of our infrastructure."
msgstr ""
"Les plates-formes suivantes ont plutôt un rôle de soutien. Elles permettent "
"Les plateformes suivantes ont plutôt un rôle de soutien. Elles permettent "
"une meilleure gestion des autres plateformes et sont là pour vous donner une "
"vue d'ensemble de notre infrastructure."