Compare commits
1 Commits
master
...
quentin-du
Author | SHA1 | Date | |
---|---|---|---|
db8c8a5ba0 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,5 +1,3 @@
|
||||
#.gitignore
|
||||
*~
|
||||
*.log
|
||||
npm-debug.*
|
||||
*.scssc
|
||||
|
@ -1,12 +1,6 @@
|
||||
<?php
|
||||
require("/usr/share/php/libphp-phpmailer/autoload.php");
|
||||
use PHPMailer\PHPMailer\PHPMailer;
|
||||
use PHPMailer\PHPMailer\Exception;
|
||||
|
||||
$mail = new PHPMailer(true);
|
||||
|
||||
$errors = '';
|
||||
$myEmail = getenv('ASTRO_SMTP_FROM');
|
||||
$myEmail = 'contact-form@astrolabe.coop'; // email address to send form content
|
||||
|
||||
if(empty($_POST['namezzz']) || empty($_POST['emailzzz']) || empty($_POST['message'])) {
|
||||
$errors .= "\n Error: all fields are required";
|
||||
@ -27,6 +21,14 @@ $mail = new PHPMailer(true);
|
||||
}
|
||||
|
||||
if( empty($errors)) {
|
||||
$headers = array(
|
||||
"From: " .$myEmail,
|
||||
"Reply-To: " .$emailAddress,
|
||||
"MIME-Version: 1.0",
|
||||
"Content-Type: text/html;charset=UTF-8",
|
||||
"Content-Transfer-Encoding:8bit"
|
||||
);
|
||||
|
||||
$to = $myEmail;
|
||||
$emailSubject = "[Formulaire Astrolabe] Nouveau message";
|
||||
|
||||
@ -47,35 +49,15 @@ $mail = new PHPMailer(true);
|
||||
$purpose = "Autre demande";
|
||||
}
|
||||
|
||||
$messageWrap = wordwrap($message, 70, "\r\n", false);
|
||||
|
||||
$emailBody = "Vous avez reçu un nouveau message depuis le formulaire du site Astrolabe :".
|
||||
"\r\n\r\nNom: $name \r\nEmail: $emailAddress \r\nRaison: $purpose\r\nSubscribe: $subscribe\r\n\r\n$message";
|
||||
"\r\n\r\nNom: $name \r\nEmail: $emailAddress \r\nRaison: $purpose\r\nSubscribe: $subscribe\r\n\r\n$messageWrap";
|
||||
|
||||
$emailBodyHTML = str_replace("\r\n", "<br>", $emailBody);
|
||||
|
||||
$mail->isSMTP();
|
||||
$mail->Host = getenv('ASTRO_SMTP_HOSTNAME');
|
||||
$mail->SMTPAuth = true;
|
||||
$mail->Username = getenv('ASTRO_SMTP_USERNAME');
|
||||
$mail->Password = getenv('ASTRO_SMTP_PASSWORD');
|
||||
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
|
||||
$mail->Port = 587;
|
||||
|
||||
//Options
|
||||
$mail->CharSet = 'UTF-8';
|
||||
$mail->WordWrap = 70;
|
||||
|
||||
//Recipients
|
||||
$mail->setFrom($myEmail);
|
||||
$mail->addAddress($myEmail);
|
||||
$mail->addReplyTo($emailAddress, $name);
|
||||
|
||||
// Content
|
||||
$mail->isHTML(true);
|
||||
$mail->Subject = $emailSubject;
|
||||
$mail->Body = $emailBodyHTML;
|
||||
$mail->AltBody = $emailBody;
|
||||
|
||||
$mail->send();
|
||||
// send the email
|
||||
mail($to, $emailSubject, $emailBodyHTML, implode("\r\n", $headers));
|
||||
|
||||
// if subscribe add to mailing list
|
||||
if(!empty($subscribe)) {
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 221 KiB |
BIN
src/images/profiles/qd-profile.jpg
Normal file
BIN
src/images/profiles/qd-profile.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 37 KiB |
@ -21,5 +21,5 @@ Son focus actuel est sur les systèmes IoT et communautés associées.
|
||||
|
||||
N'hésitez pas à le contacter si vous souhaitez partager à propos de projets open-sources ou open hardware.
|
||||
|
||||
https://purl.org/rzr
|
||||
https://purl.org/rzr/
|
||||
|
||||
|
22
src/members/quentin-dufour.md
Normal file
22
src/members/quentin-dufour.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
name: 'Quentin Dufour'
|
||||
position: 'Développeur Rust, Site Reliability Engineer'
|
||||
positionInternal: 'Membre'
|
||||
date: '2023-01-04'
|
||||
profile: '/images/profiles/qd-profile.jpg'
|
||||
personalSite: 'https://quentin.dufour.io'
|
||||
url: '/members/quentin-dufour'
|
||||
tags: [ Rust, SRE, Kubernetes, Golang, Linux, Docker, Réseau, Object Storage, S3, Cloud ]
|
||||
location: [45.7570,4.8319]
|
||||
---
|
||||
|
||||
Mon parcours, composé d'un diplôme d'ingénieur informatique à l'INSA Rennes et d'une thèse en système distribuée réalisée à l'INRIA, me donne une double approche ingénierie et recherche en informatique. Ces dernières années, j'ai mobilisé ces qualifications pour me spécialiser sur deux aspects spécifiques de l'informatique : le développement système et réseau en Rust et une démarche de Site Reliability Engineering.
|
||||
|
||||
Concernant le développement, je suis contributeur et co-créateur d'un ensemble de logiciels principalement écrits en Rust : Garage, Aerogramme, Bottin, etc. dont plusieurs ont obtenu des financements européens Horizon 2020 pour soutenir leur développement. Je suis particulièrement intéressé par le développement de logiciels distribués pour résoudre des problèmes de passage à l'échelle et de disponibilité. Plus largement, j'ai aussi des contributions mineures à des projets importants comme LXC, Jenkins ou Plume. En somme, que vous ayez besoin d'un support sur mesure pour des logiciels libres existants, d'aide pour développer votre logiciel en Rust, de conseils sur des systèmes distribués (S3, Cassandra, etc.), je me ferai un plaisir de vous accompagner dans vos projets.
|
||||
|
||||
L'autre aspect de mon activité, la démarche de Site Reliability Engineering vise la partie opérationnelle de l'informatique. Une fois le code écrit, il faut encore le faire fonctionner sur des machines physiques faillibles, reliées à un réseau public, Internet, pour qu'il soit utile. Afin d'assurer un maximum de fiabilité, il est important de concevoir le système en amont, d'être capable de mettre en place, voire développer, des outils d'automatisation, et être capable d'observer et débugguer ces systèmes efficacement. À ces fins, je connais et maîtrise Linux, Kubernetes, les outils d'observability, Docker, etc. J'ai pu mettre en place des systèmes fonctionnels pour plusieurs milliers de personnes, que ce soit dans le cadre d'évènements (InsaLan, Stunfest), de jeu mobile (Rapsodie) ou d'hébergement web (Deuxfleurs.fr), que ce soit dans des environnements on-premise, cloud privé ou cloud public.
|
||||
|
||||
En somme, si vous avez des problématiques de conception cloud, de développement backend, de disponibilité, fiabilité, de scalability logiciel, de maintenance de logiciel libre, je peux vous accompagner. Et si votre problème ne rentre pas tout à fait dans les cases, mais qu'il est susceptible d'exciter ma curiosité, n'hésitez pas à m'en parler non plus, je suis curieux et pourrai peut-être vous aider !
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Vincent porte les couleurs d'Astrolabe au 31e marathon de La Rochelle
|
||||
date: '2022-11-29'
|
||||
type: 'news'
|
||||
type: 'new'
|
||||
illustration: '/images/posts/marathon-lr-2022.jpg'
|
||||
---
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
---
|
||||
title: Titre de mon super article
|
||||
date: '2022-12-25'
|
||||
type: 'news'
|
||||
illustration: '/images/posts/image-de-mon-article.png'
|
||||
---
|
||||
|
||||
## Mon super article
|
||||
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
|
||||
|
Loading…
Reference in New Issue
Block a user