Stage « Administration système et développement d’applications web »

Présentation et environnement du stage

Cette offre de stage est proposée dans le cadre d’un partenariat entre le Grenoble Alpes Cybersecurity Institute et le projet CYBIS.

Le Cybersecurity Institute vise à entreprendre des recherches interdisciplinaires novatrices afin de relever les défis de la cybersécurité et de la protection de la vie privée. Les principaux axes sont les éléments sécurisés à bas coût, les infrastructures critiques sécurisées et leur gestion en terme de cycle de vie, la recherche de vulnérabilités et les défis globaux en termes d’analyse des risques et de validation des grands systèmes, incluant la résilience pratique dans l’industrie et la société. L’approche est holistique, englobant les aspects techniques, juridiques, économiques, sociaux, diplomatiques, militaires et de renseignement avec des partenariats solides du secteur privé, et des coopérations nationales et internationales privilégiées avec des institutions leaders en France et à l’étranger.

Le projet CYBIS (Cyber & International Security) vise à rendre accessible au grand public et aux chercheurs des indicateurs et outils permettant d’analyser les conflits récents et actuels (dans une acception large incluant la cybersécurité), afin de faciliter la compréhension et l’analyse des cyberattaques, du terrorisme et des conflits armés. A terme, le projet combinera de manière étroite divers types de supports, comme des bases de données, un site internet interactif, un logiciel, des formations, des conférences et séminaires, des articles, rapports et dossiers dans des publications. Ce site devrait permettre d'avoir une vision plus claire de la cybersécurité et des réponses possibles aux cybermenaces ainsi que, plus largement, une vision enrichie de certains conflits, notamment par l'analyse cartographique, et la visualisation dynamique (graphiques interactifs montrant des données spatio-temporelles, quantitatives et qualitatives). En plus des bases de données et d’une cartographie en ligne, ce site multilingue proposera une présentation synthétique des différentes législations nationales en matière de cybersécurité ainsi qu’un indicateur synthétique dans ce domaine. Il a pour ambition de devenir une référence internationale concernant les conflits armés contemporains, les crises et la cybersécurité.

Encadrement du stagiaire : Mayeul Kauffmann, chercheur principal et webmestre du projet Cybis.

Localisation : Campus de Saint Martin d’Hères (Université Grenoble Alpes), France.

Durée : 2 à 6 mois

Début du stage : avril, mai ou juin 2019.

Indemnité : Gratification selon réglementation en vigueur (environ 560€ par mois). Possibilité de prise en charge partielle des frais de transport.

Missions : Les missions mentionnées ci-après le sont à titre indicatif. Elles pourront varier, notamment en fonction des compétences du stagiaire et de la durée du stage.

Candidature

Par courrier électronique de préférence avant le 3 avril 2019 à 23h59 à l’adresse indiquée dans le fichier pdf ci-joint. Les candidats ayant eu connaissance de cette offre de stage après le 3 avril sont invités à candidater dès que possible, au plus tard le 28 avril.

Consulter le site internet du CYBIS avant de candidater (mise à jour éventuelle de cette offre). Indiquer impérativement comme sujet du courriel « Candidature stage Cyber@Alps CYBIS - (vos nom et prénom) ».

Fournir en pièces jointes au format PDF un CV (fichier intitulé « nom_prenom_CV.pdf ») et une lettre de candidature (fichier intitulé « nom_prenom_LC.pdf »). Dans la lettre, fournir notamment les indications suivantes :

- Date potentielle de début de stage (au plus tôt) :

- Date potentielle de fin de stage (au plus tard) :

- Date de début de stage qui vous arrangerait le plus :

- Durée minimale du stage :

- Durée maximale du stage :

- Durée que vous préféreriez :

- Ce stage est-il obligatoire dans votre cursus actuel de formation ?

Mission 1 : Gestion sécurisée de flux de travail collaboratifs

Description : Mettre en œuvre une solution logicielle web open source de type Business Process Management (BPM) permettant la gestion sécurisée de flux de travail impliquant plusieurs utilisateurs de manière collaborative (formulaire en ligne rempli, pour chaque cas, par au moins 3 personnes). Il pourrait s’agir de Bonita BPM, mais Joget Workflow, jBPM et d’autres sont aussi considérés. Assurer la mise en œuvre, les tests, le déploiement en production et la maintenance. Garantir la sécurité des contrôles d’accès et la confidentialité des informations (au besoin en concevant et en mettant en œuvre une procédure spécifique pour les informations les plus sensibles).

Compétences requises :Docker, système GNU/Linux, Apache, MySQL ou PostgreSQL. Potentiellement : notions de Java ; plate-formes BPM.

Liens :

https://documentation.bonitasoft.com

https://www.joget.org/

https://www.jbpm.org/

Mission 2 : Administration serveur web

Description : Amélioration de la configuration d’un serveur web. Sur une VM, hébergeant notamment actuellement : 1 Drupal, 1 Shiny (Docker), 1 VM (Ubuntu), 1 TeamPass (Docker).
Améliorer l’architecture (configuration Apache 2 notamment) pour permettre l’ajout de nouveaux services. Le serveur actuel gère notamment le reverse proxy de websockets (a2enmod proxy_wstunnel).
Configurer le HTTPS.
Adaptation de la configuration du serveur de staging, notamment pour pouvoir tester les modifications de configuration des reverse proxy (Apache 2 actuellement).

Amélioration du flux de travail pour le déploiement des nouvelles applications (machines de développement, serveur de staging, serveur de production), fonctionnalités ou paramètres du serveur (reverse proxy notamment). Supervision et monitoring des services.

Compétences requises : Debian, Docker, protocoles réseau, Apache 2.

Liens : https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html

https://hub.docker.com/r/teampass/teampass/

https://hub.docker.com/r/rocker/shiny/

Mission 3 : Intégration d’applications de visualisation et de data repository

Description : Produire une librairie (javascript ou R/Shiny/plotly) permettant l’affichage de cartes historiques interactives, respectant l’évolution des frontières des pays, similaire à PeacePRISM. PeacePRISM est une application FLOSS (GNU Affero GPL) de visualisation de données spatio-temporelles construite en Ruby On Rails et Javascript, qui permet de telles fonctionnalités. L’objectif de cette mission est de rendre ces fonctionnalités javascript (déjà existantes) réutilisables dans d’autres plateformes (notamment R/Shiny/Plotly – gestion de l’interaction entre éléments par crosstalk ; Rcmdr ; et CKAN), ceci en lien avec des partenaires du projet intéressés pour intégrer un tel outil sur leur site web. Le volet avec Rcmdr (par exemple) permettrait la création d’une application avec GUI autonome (desktop).

Compétences requises : JavaScript, librairies JavaScript (D3, Plotly), HTML5, CSS, éventuellement framework MVC, éventuellement R (Shiny, plotly, Rcmdr). Si possible, sensibilité à la visualisation en sciences sociales.

Liens : http://cybis.univ-grenoble-alpes.fr/fr/PeacePRISM

http://cybis.univ-grenoble-alpes.fr/fr/NMC

https://plot.ly/d3-js-for-r-and-shiny-charts/

Mission 4 : Amélioration d’un CMS sous Drupal

Description : Amélioration du thème

Amélioration de l’interactivité du front-end (par ex. menus déroulants…)

Amélioration de la gestion multilingue (notamment gestion de l’absence de traduction dans certains langues)

Ajout de fonctionnalités (derniers articles d’une section, etc.)

Configuration du serveur email (page contact)

Meilleure gestion des sauvegardes

Assurer les mises à jour du système et de ses composants

Compétences requises : Drupal, PHP, javascript, CSS, système GNU/Linux.

Lien : https://www.drupal.org/documentation

Mission 5 : Installation, configuration et administration d’un serveur CKAN (plateforme web open data repository)

Description : Créer une plate-forme commune et ouverte de stockage et de visualisation de données. Utiliser des composants existants dans la mesure du possible (notamment CKAN, comme pour la plateforme HDX - Humanitarian Data Exchange)

Cette plateforme est destinée à héberger les données utilisées par les principaux jeux de données utilisés dans les projets de recherche sur la paix, la cybersécurité et les statistiques internationales.

Compétences requises : Debian, Docker, Apache2, PostgreSQL. (Idéalement : CKAN ; sinon, connaissance d’une partie des technologies sous-jacentes et motivation pour apprendre cette infrastructure.)

Liens : https://docs.ckan.org/en/latest/contents.html

https://docs.ckan.org/en/latest/maintaining/installing/install-from-docker-compose.html

https://data.humdata.org/