Alternant Full stack Developer F/H
Lumiplan
Saint-Herblain, FR2 days ago
34 views8 saves6 applies
Prepare for this role
Job Type
internship
Description
Description de l'entreprise LUMIPLAN acteur majeur de la communication dynamique sur le territoire conçoit, fabrique et installe des solutions innovantes d’information : écrans, apps citoyennes, bornes et afficheurs dans les transports publics (aux arrêts ou dans les véhicules), logiciels de pilotage… Notre valeur ajoutée réside dans la valorisation des territoires qui nécessitent une information fiable, de qualité et adaptée aux contextes locaux. Description du poste Notre pôle de développeur.euses a pour objectif principal le conception de produits d’informations voyageurs (des bornes aux arrêts, des écrans dans les bus et tram…), et des produits d’information citoyenne (Applications smartphone, journaux électronique..). Les missions de l’équipe sont l’animation de la démarche d’innovation technologique (une Roadmap très dynamique (Cloud, Big Data, IA…)) ; la participation active à la définition de la politique produit ; la conception et le développement des produits ; les développements spécifiques à certains clients. Tes Activités principales : Sous la conduite d'un Lead Dev, tu développeras des solutions complètes pour nos clients : Documentation (spécification, conception, utilisation, maintenance…) Réalisation (développements, tests unitaires…) Validation (tests fonctionnels sur plateforme ou en situation…). Profil recherché Vous êtes étudiant.e en Informatique, en Ingénierie logicielle. Vous recherchez une alternance et vous avez un intérêt marqué pour le développement d'applications. Nous recherchons des collaborateurs.trices passionné.es par le développement informatique. Vous êtes curieux.se, souriant.e et dynamique, et vous souhaitez travailler dans une équipe qui saura vous accompagner et vous faire grandir. Notre domaine fonctionnel est très motivant, nos produits sont dans le quotidien de tous les usagers des transports et de tous les administrés sur un territoire communal. Les Compétences techniques que nous recherchons : Langage Java, Angular Conception objet UML Environnement de développement (Maven, Jenkins) Outils de gestion de configuration (Git) Maîtrise des frameworks Java (SpringBoot, Hibernate/JPA, Web Services, ...) # Apprécié Outils de suivi d’anomalies (JIRA) Outils de suivi de tests (Testlink, Squash) Environnement de développement (shell unix) Base de données (MySQL, PostgreSql) Technologie DevOps (OpenShift, Docker, Kubernetes, Nexus …) Systèmes Windows, Linux Solution sécurité (Oauth, OpenID, keycloak, …) NOS AVANTAGES : En rejoignant notre équipe, vous rejoignez une entreprise à taille humaine et engagée dans une démarche RSE. Nous vous proposons : Un parcours d’intégration & une formation continue La Mutuelle est prise en charge à 100% par l'entreprise Tickets restaurants CSE Un environnement de travail agréable, nos locaux ont été rénovés récemment pour offrir un meilleur cadre de travail à nos collaborateurs. Notre site est accessible en transports en commun : Chrono bus C3 et C6, ligne 59. Le groupe LUMIPLAN s'engage pour la Diversité et le Handicap et garantit l'égalité des chances. Nos postes sont ouverts à tous. Lumiplan en détail : Depuis notre création en 1972, nous développons des savoir-faire et des expertises autour de la communication dynamique , afin de proposer des solutions toujours plus performantes et innovantes. Acteur engagé depuis longtemps aux côtés de nos clients, nous partageons leurs enjeux stratégiques de développement et de diffusion de l’information de proximité en temps réel. Qu’elle soit à destination des citoyens, des voyageurs ou des visiteurs, l’information contribue à valoriser le territoire aux yeux des usagers, à dynamiser les centres-villes, à faciliter la mobilité, ou à promouvoir l’offre touristique locale. Nous intervenons dans trois grands domaines d'activité : la communication citoyenne, la mobilité et la dynamisation des sites touristiques de montagne. Ces trois domaines d'activité possèdent un point commun : l'information utile en temps réel , sur des écrans physiques et digitaux, pouvant être pilotés par notre plate-forme LumiPlay™. Nous sommes 270 collaborateurs en France et à l’international pour un CA de plus de 60 M d’€ et nous investissons plus de 9% de notre CA en R&D. Réf: 57330402-f432-4eda-be47-f3c0d5b18509 Je postule à cette offre Alternant Full stack Developer F/H LUMIPLAN TRANSPORT - SAINT HERBLAIN Alternance - 12 mois Temps plein Saint-Herblain Civilité * Madame Monsieur Mx Nom * Prénom * E-mail * Numéro de téléphone * Disponibilité * Sélectionnez votre disponibilité immédiate 15 jours 1 mois 2 mois 3 mois + 3 mois Attentes salariales (Brut/an) Sélectionnez la tranche de salaire Inférieur à 15 000€ 15 000€ - 20 000€ 20 000€ - 25 000€ 25 000€ - 30 000€ 30 000€ - 35 000€ 35 000€ - 40 000€ 40 000€ - 45 000€ 45 000€ - 50 000€ 50 000€ - 55 000€ 55 000€ - 60 000€ 60 000€ - 65 000€ 65 000€ - 70 000€ 70 000€ - 75 000€ 75 000€ - 80 000€ 80 000€ - 85 000€ Supérieur à 85 000€ Photo Choisir un fichier Format autorisé: JPG. Poids maximum : 2 Mo. CV * Choisir un fichier Format: .PDF, .DOCX, .DOC, .JPG. Poids max. : 2 Mo. Dans le cadre de la création de votre profil de candidature sur le site carrière de la société Lumiplan , les informations recueillies ci-dessus sont traitées selon la base légale des mesures précontractuelles à la mise en relation avec la société Lumiplan et à la conclusion d’un éventuel contrat de travail avec celle-ci, et selon l’intérêt légitime à la constitution d’une CVthèque. Aucun transfert hors de l’Union Européenne ne sera opéré. Sauf action de votre part, la durée de conservation de vos données n’excède pas 2 ans. En application des standards et des politiques de sécurité (PSSI) en vigueur, les mesures techniques efficaces et optimales sont appliquées aux traitements des données (accès et protocoles sécurisés, gestion des droits et administration, sensibilisations des collaborateurs, etc.). Conformément au règlement Européen relatif à la protection des données, vous disposez d’un droit d’opposition, d’accès de rectification, de suppression des présentes données. J'accepte que l'entreprise Lumiplan conserve mes données personnelles pendant une durée de 2 ans afin d'être recontacté(e) pour de nouvelles opportunités --> --> Je postule Merci de bien vouloir compléter tous les champs obligatoires. (Les champs obligatoires sont suivis d'une *) * Champs obligatoires Partager l'offre &via=We_Recruit_" target="_blank" class="hover-color1"> Partager par email --> (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) { return; } js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&version=v2.3"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); t._e = []; t.ready = function(f) { t._e.push(f); }; return t; }(document, "script", "twitter-wjs")); $(".dropdown dt a").on('click', function() { $('ul[data-id=' + $(this).attr('data-id') + ']').slideToggle('fast'); }); $(document).bind('click', function(e) { var $clicked = $(e.target); if (!$clicked.parents().hasClass("dropdown")) { $(".dropdown dd ul").hide(); } }); $('.mutliSelect input[type="checkbox"]').on('click', function() { var inputId = $(this).attr('class'); var selectId = inputId.replace('custom-control-input checkbox-color1 checkbox-element question-', ""); var title = $(this).closest('.mutliSelect').find('input[type="checkbox"]').val(), title = $(this).val() + ","; if ($(this).is(':checked')) { var html = ' ' + title + ' '; $('.multiSel-' + selectId).append(html); $(".hida-" + selectId).hide(); } else { $('span[title="' + title + '"]').remove(); var ret = $(".hida"); $('.dropdown dt a').append(ret); } }); var isSafari = !!navigator.userAgent.match(/Version\/[\d\.]+.*Safari/); if (isSafari) { var form = document.getElementById('form'); // form has to have ID: form.noValidate = true; form.addEventListener('submit', function(event) { // listen for form submitting if (!event.target.checkValidity()) { event.preventDefault(); // dismiss the default functionality document.getElementById('errorMessageDiv').style.display = 'block'; } }, false); } var questions = []; questions.forEach( function(q) { $('.question-' + q.id) .click( function() { if (q.type === 2 || q.type === 3) { var query = q.choices.find( function(c) { return $('#question-' + c.id).is(':checked'); }); if (query) { $('.question-' + q.id).attr("required", false); } else { $('.question-' + q.id).attr("required", true); } } }); }); (function(d, s, id) { var js, iajs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) { return; } js = d.createElement(s); js.id = id; js.async = true; js.src = "https://apply.indeed.com/indeedapply/static/scripts/app/bootstrap.js?hl=fr"; iajs.parentNode.insertBefore(js, iajs); }(document, 'script', 'indeed-apply-js')); $(".checkbox-element").each((index, element)=>{ $(element).on('click', function(){ var $this = $(this); var questionId = $this.data('question-id'); var otherCheckboxes = $('.question-'+questionId); var checkedElements = otherCheckboxes.toArray().filter(i=>$(i).is(':checked')); var questionInput = $("#question-"+questionId); questionInput.val(checkedElements.length ? "OK":""); questionInput.trigger('focus'); questionInput.trigger('blur'); window.formValidator.element("#question-"+questionId); }) }) $(document).ready(function() { $('.description-blocks a').attr('target', '_blank'); $('input[type="file"]').each(function(index, element){ $(this).change(function(){ $(this).blur().focus().blur(); }); }) }); $('#form').on('keyup keypress', function(e) { var keyCode = e.keyCode || e.which; if (keyCode === 13) { e.preventDefault(); return false; } }); $.validator.methods.phoneNumber = function(value, element) { return this.optional(element) || /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/.test(value); }; window.formValidator = $("#form").validate({ ignore: [], rules: { phone: { required: true, phoneNumber: true }, }, errorPlacement: function(error, element) { console.log(error, element); error.addClass('invalid-feedback'); if (element.is('input[type=radio], input[type=checkbox]')) { element.parent().parent().append(error); } else { error.insertAfter(element); } }, highlight: function(element, errorClass, validClass) { $element = $(element); if ($element.is('input[type=hidden].qcm-field')) { var questionId = $element.data('question-id'); var div = $('div[data-question-id="' + questionId + '"]'); div.addClass(errorClass); div.find("button").addClass(errorClass); div.removeClass(validClass); div.find("button").removeClass(validClass); } else { $element.parent().addClass(errorClass).removeClass(validClass); $element.addClass(errorClass).removeClass(validClass); $element.parent().find("button").addClass(errorClass).removeClass(validClass); } }, unhighlight: function(element, errorClass, validClass) { $element = $(element); if ($element.is('input[type=hidden].qcm-field')) { var questionId = $element.data('question-id'); var div = $('div[data-question-id="' + questionId + '"]'); div.addClass(validClass); div.find("button").addClass(validClass); div.removeClass(errorClass); div.find("button").removeClass(errorClass); } else { $(element).parent().removeClass(errorClass).addClass(validClass); $(element).addClass(validClass).removeClass(errorClass); $(element).parent().find("button").addClass(validClass).removeClass(errorClass); } }, submitHandler: function(form) { var shouldSubmit = true; if (shouldSubmit) { form.submit(); var button = $('button[type="submit"]'); $('#loader').removeClass("hidden"); $('#submit-button').addClass("hidden"); $($('.cta-apply')[0]).addClass('hidden'); $($('.cta-apply')[1]).addClass('hidden') setTimeout(function() { button.attr('disabled', 'disabled'); button.prop('disabled', true); }, 0); } }, errorClass: "is-invalid", validClass: "is-valid", }); jQuery(document).ready(function($) { $(document).on('click', '.dropdown-menu', function(e) { e.stopImmediatePropagation(); e.stopPropagation(); }); }); jQuery.extend(jQuery.validator.messages, { required: "Ce champ est obligatoire", phoneNumber: "Ce numéro de téléphone est invalide", email: "Veuillez indiquer une adresse e-mail valide", }); var placeSearch; var autocompletes = []; var componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; function initAutocompletes() { $('.custom-autocomplete').each((index, element) => { autocompletes.push({ element: element, autocomplete: new google.maps.places.Autocomplete(element, { types: ['geocode'] }) }); }); } function geolocate(element) { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { var geolocation = { lat: position.coords.latitude, lng: position.coords.longitude }; var circle = new google.maps.Circle({ center: geolocation, radius: position.coords.accuracy }); var autocomplete = autocompletes.find(i => i.element === element).autocomplete; autocomplete.setBounds(circle.getBounds()); }); } } $(function() { $(".datepicker").each( function(index, element) { var $elem = $(element); $elem.datepicker($.datepicker.regional["fr"]); }); $(".ui-datepicker").addClass("font2"); }); { "@context" : "http://schema.org/", "@type" : "JobPosting", "title" : "Alternant Full stack Developer F/H", "datePosted" : "2026-06-24T06:15:56+00:00", "hiringOrganization": { "@type": "Organization", "name": "LUMIPLAN TRANSPORT - SAINT HERBLAIN" , "logo": "https://wio.blob.core.windows.net/werecruit/7c2ea8df-62a8-44d3-9217-31b0b5ebf9c1.png" }, "jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "addressLocality": "Saint-Herblain", "addressRegion": "Pays de la Loire", "postalCode": "44800", "addressCountry": "FR" } }, "description" : "\u003Cp\u003ENotre p\u0026ocirc;le de d\u0026eacute;veloppeur.euses a pour objectif principal le conception de produits d\u0026rsquo;informations voyageurs (des bornes aux arr\u0026ecirc;ts, des \u0026eacute;crans dans les bus et tram\u0026hellip;), et des produits d\u0026rsquo;information citoyenne (Applications smartphone, journaux \u0026eacute;lectronique..).\u003C/p\u003E\n\u003Cp\u003ELes missions de l\u0026rsquo;\u0026eacute;quipe sont l\u0026rsquo;animation de la d\u0026eacute;marche d\u0026rsquo;innovation technologique (une Roadmap tr\u0026egrave;s dynamique (Cloud, Big Data, IA\u0026hellip;)) ; la participation active \u0026agrave; la d\u0026eacute;finition de la politique produit ; la conception et le d\u0026eacute;veloppement des produits ; les d\u0026eacute;veloppements sp\u0026eacute;cifiques \u0026agrave; certains clients.\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003ETes Activit\u0026eacute;s principales :\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003E\u0026nbsp;\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003ESous la conduite d\u0027un Lead Dev, tu d\u0026eacute;velopperas des solutions compl\u0026egrave;tes pour nos clients :\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EDocumentation (sp\u0026eacute;cification, conception, utilisation, maintenance\u0026hellip;)\u003C/li\u003E\n\u003Cli\u003ER\u0026eacute;alisation (d\u0026eacute;veloppements, tests unitaires\u0026hellip;)\u003C/li\u003E\n\u003Cli\u003EValidation (tests fonctionnels sur plateforme ou en situation\u0026hellip;).\u003C/li\u003E\n\u003C/ul\u003E", "employmentType" : "FULL_TIME" } Nos dernières offres Alternant Full stack Developer F/H LUMIPLAN TRANSPORT - SAINT HERBLAIN Alternance - 12 mois Temps plein Saint-Herblain Je postule Alternance - Technicien Validation Soft F/H LUMIPLAN VILLE - SAINT HERBLAIN Alternance - 24 mois Temps plein Saint-Herblain Je postule Responsable Service Client & Interventions Terrain F/H CDI Temps plein Grenoble Je postule Assistante ADV et Facturation F/H CDD - 8 mois Temps plein Saint-Herblain Je postule Voir plus d'offres Offres Candidature spontanée Liens utiles Mentions légales Cookies Plan du site Connexion recruteurs Préférences des cookies Propulsé par Logiciel de gestion de candidature et de multidiffusion