2025-04-03 15:56:11 +00:00
<!DOCTYPE html>
< html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en" lang = "en" class = "h-100" >
< head >
< meta charset = "utf-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
2025-04-03 22:26:46 +00:00
< title > join-fr - ilot.io< / title >
2025-04-03 15:56:11 +00:00
<!-- cargo - culted from https://realfavicongenerator.net/ -->
<!-- for the record: it is absolutely ridiculous that new browsers
*and* operating systems each want their own little precious
snowflake just for a frigging icon -->
2025-04-03 22:26:46 +00:00
< link rel = "apple-touch-icon" sizes = "180x180" href = "../../apple-touch-icon.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "../../favicon-32x32.png" >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "../../favicon-16x16.png" >
< link rel = "manifest" href = "../../site.webmanifest" >
2025-04-03 15:56:11 +00:00
< meta name = "msapplication-TileColor" content = "#da532c" >
< meta name = "theme-color" content = "#ffffff" >
<!-- ikiwiki CSS -->
2025-04-03 22:26:46 +00:00
< link href = "../../css/style.css" rel = "stylesheet" / >
2025-04-03 15:56:11 +00:00
<!-- Bootstrap core CSS -->
<!-- those checksums can be verified with: shasum - b - a 384 $file | xxd - r - p | base64 -->
< link href = "https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel = "stylesheet" integrity = "sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin = "anonymous" >
<!-- Custom styles for this template -->
2025-04-03 22:26:46 +00:00
< link href = "../../css/bootstrap.local.css" rel = "stylesheet" / >
2025-04-03 15:56:11 +00:00
<!-- Custom styles for derivatives -->
2025-04-03 22:26:46 +00:00
< link rel = "stylesheet" href = "../../css/local.css" type = "text/css" / >
2025-04-03 15:56:11 +00:00
< / head >
< body class = "d-flex flex-column h-100" >
< header >
< nav class = "navbar fixed-top navbar-expand-md navbar-light bg-light border" >
< div class = "container-fluid" >
2025-04-03 22:26:46 +00:00
< a class = "navbar-brand me-auto" href = "../../" >
< img alt = "ilot.io" src = "../../favicon.png" width = "48" height = "48" / >
2025-04-03 15:56:11 +00:00
< / a >
< button class = "navbar-toggler collapsed" type = "button" data-bs-toggle = "collapse" data-bs-target = "#navbar" aria-controls = "navbarScroll" aria-expanded = "false" aria-label = "Toggle navigation" >
< span class = "navbar-toggler-icon" > < / span >
< / button >
< div id = "navbar" class = "collapse navbar-collapse" >
<!-- the anchors force ikiwiki to use a tags instead of spans. hopefully. -->
< ul class = "navbar-nav nav-link align-items-center ms-auto" >
2025-04-03 22:26:46 +00:00
< li > < a href = "../../index.en.html" > Home< / a > < / li >
< li > < a href = "../../platforms/index.en.html" > Platforms< / a > < / li >
< li > < a href = "../index.en.html" > Join< / a > < / li >
2025-04-03 15:56:11 +00:00
< li class = "btn p-0 border sign-in" > < a href = "https://ilot.io/apps/files" > Your Files< / a > < / li >
< / ul >
< ul class = "nav navbar-nav" >
< / ul >
< / div >
< / div >
< / nav >
< / header >
< main class = "flex-shrink-0" >
< div class = "container" id = "content" >
2025-04-03 22:26:46 +00:00
< 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) {
2025-04-03 22:34:10 +00:00
alert("Vous devez être en accord avec notre code de conduite.");
2025-04-03 22:26:46 +00:00
return false;
}
if(!email) {
2025-04-03 22:34:10 +00:00
alert("Le courriel ne peut pas être vide.");
2025-04-03 22:26:46 +00:00
return false;
}
if(mathspamtrap != "9") {
2025-04-03 22:34:10 +00:00
alert("Ceci n'est pas la bonne réponse à l'exercise mathématique.");
2025-04-03 22:26:46 +00:00
return false;
}
if(await checkDuplicate(email) === true) {
2025-04-03 22:35:25 +00:00
alert("Ce courriel a déjà fait l'objet d'une demande de compte.");
2025-04-03 22:26:46 +00:00
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);
2025-04-03 22:34:10 +00:00
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.");
2025-04-03 22:26:46 +00:00
})
.catch(error => {
console.error('Error:', error)
});
}
< / script >
2025-04-03 15:56:11 +00:00
< / div > <!-- /container -->
< / main >
< footer class = "footer mt-auto py-2 bg-light" role = "contentinfo" >
< div class = "container" >
< p class = "text-muted" >
< div class = "container" >
< div class = "row" >
< div class = "col-sm-3" >
< h5 > Support< / h5 >
< ul >
< li > < a href = "https://support.ilot.io/en/hc/706927618" > FAQs< / a > < / li >
< li > < a href = "https://forge.ilot.io/ilot/-/projects/3" > Known issues< / a > < / li >
< li > < a href = "https://support.ilot.io/help/706927618" > Support ticket< / a > < / li >
< / ul >
< / div >
< div class = "col-sm-3" >
< h5 > Contribute< / h5 >
< ul >
2025-04-03 22:26:46 +00:00
< li > < a href = "../index.en.html" > Become a member< / a >
2025-04-03 15:56:11 +00:00
< li > < a href = "https://opencollective.com/ilot" > Donate< / a > < / li >
< li > < a href = "https://forge.ilot.io/ilot/-/projects" > Git Forge< / a > < / li >
< li > < a href = "https://wiki.ilot.io" > Wiki< / a > < / li >
< / ul >
< / div >
< div class = "col-sm-3" >
< h5 > About us< / h5 >
< ul >
2025-04-03 22:26:46 +00:00
< li > < a href = "../../meta/code-of-conduct/" > Code of conduct< / a > < / li >
< li > < a href = "../../meta/license/" > Licenses< / a > < / li >
2025-04-03 15:56:11 +00:00
< li > < a href = "https://status.ilot.io/status/ilot" > Network Status< / a > < / li >
< / div >
< div class = "col-sm-3 listmonk-form" >
< h5 > News< / h5 >
< p > Subscribe to our < a href = "https://notif.ilot.io/archive" > newsletter< / a > < / p >
< form method = "post" action = "https://notif.ilot.io/subscription/form" class = "listmonk-form" >
<!-- Converts enter key to tab -->
< script >
document.addEventListener('keydown', function (event) {
if (event.keyCode === 13 & & event.target.nodeName === 'INPUT') {
var form = event.target.form;
var index = Array.prototype.indexOf.call(form, event.target);
form.elements[index + 1].focus();
event.preventDefault();
}
});
< / script >
< input type = "hidden" name = "nonce" / >
< 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 >
< button aria-label = "Subscribe" class = "btn" type = "button" data-bs-toggle = "modal" data-bs-target = "#hcaptchamodal" > Subscribe< / button >
< div class = "modal fade" id = "hcaptchamodal" tabindex = "-1" aria-labelledby = "haptcha" aria-hidden = "true" >
< div class = "modal-dialog" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "hcapatchamodallabel" > Are you a robot?< / h5 >
< button type = "button" class = "btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
< div class = "h-captcha" data-sitekey = "be08a59e-ae24-472e-8a80-22d07016ee90" data-callback = "submitSubscribe" > < / div >
< script src = "https://js.hcaptcha.com/1/api.js" async defer > < / script >
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< button aria-label = "Subscribe" class = "btn" type = "submit" > Subscribe< / button >
< / div >
< / div >
< / div >
< / div >
< / form >
< / div >
< / div >
< / div >
< / p >
< / div >
< / footer >
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
< script src = "https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" integrity = "sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin = "anonymous" > < / script >
< script src = "https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity = "sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin = "anonymous" > < / script >
<!-- TODO: Find other ways to setup analytics
< script data-goatcounter = "https://analytics.anarc.at/count" async src = "//analytics.anarc.at/count.js" > < / script >
< noscript >
2025-04-03 22:26:46 +00:00
< img src = "https://analytics.anarc.at/count?p=join/join-fr&t=join-fr" alt = "tracking pixel to count visitors when Javascript is disabled" / >
2025-04-03 15:56:11 +00:00
< / noscript >
-->
< / body >
< / html >