Alternance: Développeur Logiciel (h/f)
Alternance Paris (Paris) Développement informatique
Description de l'offre
Réquisition: 99027
Secteur de travail: Administration
Déplacement escompté: 0 - 10%
Statuts de carrière: Student
Type d'emploi: Limited Full Time
DESCRIPTION DE L'ENTREPRISE
En tant que Leader sur le marché des applications, SAP aide des entreprises de toute taille et de tous secteurs à innover grâce à la simplification. Du back office au top Management, des entrepots aux vitrines, du bureau aux appareils mobiles, SAP permet aux personnes et aux organisations de travailler ensemble plus efficacement. SAP rend la compréhension du marché et des enjeux plus efficace pour rester en tête de la compétition. Les produits et les services SAP permettent aux clients d'être plus rentables et de s'adapter en permanence au marché tout en maintenant une croissance durable.
OBJECTIFS
Premier éditeur européen, SAP, dont le siège social est basé à Waldorf en Allemagne, est le leader mondial sur le marché des logiciels de gestion d'entreprise. Fondé en 1972, l'entreprise compte plus de 183 000 clients dans le monde et emploie 74 000 personnes dans plus de 50 pays.
SAP Labs est le département de recherche et développement chez SAP. Le site de Caen développe un logiciel de valorisation de service en temps réel (calcul des prix des services en fonction de la consommation) : SAP Convergent Charging. Cette application s'adresse à différentes industries comme les télécommunications, les transports ou l'énergie.
L'équipe de développement se compose de 33 personnes aux compétences multiples : développement, test, rédaction de documentation utilisateur, gestion de projet… Elle est organisée autour de la méthode agile SCRUM mettant l'accent sur l'auto-gestion et la responsabilisation des membres de l'équipe. Le site héberge également des spécialistes de la solution qui interviennent à divers stades sur des projets clients, ainsi que l'équipe de support technique 24/7.
L'intégration de l´apprenti dans notre équipe est pour nous l'occasion de mettre en place des projets innovants en parallèle de l'amélioration continue de notre produit. C´est le contrat d´apprentissage de 3 ans.
Dans cette optique, nous proposons plusierrs sujets permettant d'acquérir toutes les compétences requises en ingénierie logicielle. Merci d´indiquer dans la candidature quel sujet est le plus intéressant pour vous.
Sujet 1 : Développement d'outils de remodelage de plans tarifaires
SAP Convergent Charging est un logiciel de valorisation de service en ligne, il permet de calculer le prix d'une consommation de service (envoi de SMS, appel téléphonique, téléchargement d'application mobile…) en temps réel en fonction du contexte (date, destinataire, offre promotionnelle…). SAP CC permet à l'opérateur du service de définir sa logique de valorisation en créant des arbres de décision (plans tarifaires) dont les feuilles retournent le montant de la consommation. L'intérêt de composer l'offre tarifaire de l'opérateur à l'aide d'une multitude de plans est de pouvoir réutiliser ces plans comme des composants de programmation, et de rendre l'offre globalement plus lisible dans l'interface graphique. La complexité de l'offre se déporte alors des plans, vers les interconnexions entre ces différents plans et rend leur maintenance difficile.
Le but de ce projet est de développer des outils permettant le remodelage de plans tarifaires dans l'interface graphique, facilitant ainsi la maintenance d'offres composées de différents plans. Voici quelques exemples d'outils pouvant être mis en œuvre dans ce cadre :
·
Trouver où est utilisé une propriété (variable de valorisation), ou un objet (plan, table de contenu…)
·
Renommer une propriété ou un objet
·
Extraire une sous partie d'un plan dans un nouveau plan (macro)
·
Trouver les propriétés, objets ou portions de plan non utilisé (code mort)
·
Suivi des propriétés à travers les différents mapping
·
Changer le type d'une propriété
·
Supprimer une propriété ou un objet
MISSIONS & RESPONSABILITÉS
Le stagiare sera en charge de :
·
L'élaboration du cahier des charges dans lequel seront consignés les différents besoins fonctionnel et non fonctionnel, en collaboration avec les membres de l'équipe de développement
·
Développer et intégrer les différentes fonctionnalités
·
Rédiger un plan de test détaillé et l'exécuter
·
Rédiger un manuel utilisateur.
·
Former les utilisateurs.
Technologies utilisées/compétences souhaitées :
JAVA, XML, Eclipse
Sujets 2 : Développement d'outils de remodelage de scripts de test
Les tests automatisés d'API serveur de SAP Convergent Charging sont exécutés à l'aide d'un outil développé en interne : Cortex. Ces tests sont rédigés sous forme de scripts XML ; un script pouvant faire référence à un ou plusieurs autres scripts afin de rendre les tests modulaires et ainsi réutiliser certaines partie dans d'autres tests. Cependant, lorsqu'un script est déplacé ou renommé, les références ne sont pas misent à jour automatiquement. Ainsi, le script appelant échoue à l'exécution car il ne trouve plus le script référencé qui a été déplacé ou renommé.
Le but du stage est donc de fournir des outils sous forme de plugin Eclipse (environnement utilisé pour la rédaction des tests) afin de :
·
Vérifier les références inter-script
· Mettre à jour les références après renommage ou déplacement
D'autres outils concernant la gestion des références peuvent également être mis en place :
·
Extraire un nouveau script depuis une sous partie d'un script
·
Intégrer le contenu d'une référence dans le script courant (inline)
MISSIONS & RESPONSABILITÉS
Le stagiaire sera en charge de :
·
L'élaboration du cahier des charges dans lequel seront consignés les différents besoins fonctionnel et non fonctionnel, en collaboration avec les membres de l'équipe de développement
·
Développer et intégrer les différentes fonctionnalités
·
Rédiger un plan de test détaillé et l'exécuter
·
Rédiger un manuel utilisateur.
·
Former les utilisateurs.
Technologies utilisées/compétences souhaitées :
JAVA, XML, Eclipse
Sujet 3 : Mise en place d'outils de test graphique
Les tests d'interface graphique de SAP Convergent Charging sont automatisés à l'aide d'une application Open Source : Marathon. Cependant, l'environnement de développement des tests Marathon est peu ergonomique et occasionne perte de temps et démotivation.
Plusieurs pistes nécessiteraient d'être explorées afin d'améliorer la situation :
·
Mettre à jour Marathon et adapter l'interface avec SAP CC
·
Mettre en place un nouveau langage de pilotage du moteur de test Marathon et migrer les tests existant vers ce nouveau langage.
· Tester de nouveaux outils de test d'interface graphique (Sikuli par exemple)
Enfin, le développement d'une nouvelle console d'administration basée sur des technologies web est en cours. Ce développement devra donner lieu à des tests d'interface graphique automatisés, mais les outils permettant ces tests restes à trouver et à tester.
· Le but du stage est donc de
·
Rechercher et mettre en place des solutions pour améliorer la façon dont est testé l'interface historique de SAP CC
·
Trouver un outil de test d'interface graphie web adapté à l'environnement de développement de la nouvelle console d'administration
MISSIONS & RESPONSABILITÉS
Le stagiaire sera en charge de :
·
L'élaboration du cahier des charges dans lequel seront consignés les différents besoins fonctionnel et non fonctionnel, en collaboration avec les membres de l'équipe de développement
·
Développer et intégrer les différentes fonctionnalités
·
Rédiger un plan de test détaillé et l'exécuter
·
Rédiger un manuel utilisateur.
·
Former les utilisateurs.
Technologies utilisées/compétences souhaitées :
JAVA, XML, HTML5
Sujet 4 : Méthodes de prévision de fautes
La sûreté de fonctionnement ( dependability ) est la propriété d'un système consistant à éviter des défaillances plus fréquentes ou plus graves qu'il n'est acceptable par l'utilisateur. Parmi les moyens pouvant être mis en œuvre pour contribuer à la sûreté de fonctionnement, la prévision des fautes ( faults forecasting ) « vise à estimer la présence, la création et les conséquences de fautes ou erreurs sur la sûreté de fonctionnement, et peut permettre par contrecoup, de chercher à les éliminer ou à les tolérer » (J.-C. Laprie et al.)
La prévision des fautes peut se baser sur des approches qualitatives (ex : AMDE(C)/FME(C)A, Arbre de fautes/Fault tree analysis) ou quantitatives, statiques (modèle stochastiques) ou expérimentales (injection de fautes).
Le stage consistera dans un premier temps à effectuer un état de l'art de ces différentes approches et à étudier la possibilité de les appliquer au produit SAP Convergent Charging. Dans un second temps, il conviendra de sélectionner quelques approches en fonction de leur valeur ajoutée (celles qui ont le plus fort « contrecoup » de la définition ci-dessus), et d'en effectuer une mise en œuvre effective.
Sujet 5 : Compatibilité de schémas XML
SAP Convergent Charging utilise de nombreuses API XML permettant de s'intégrer facilement à l'aide d'outil standardisé. Ces API sont décrites par des schémas XML.
Le but du stage est de proposer des méthodes et développer un programme de test (ou mieux, si possible, de preuve) de compatibilité d'un schéma XML S2 avec un schéma XML S1.
S2 est dit compatible avec S1 si et seulement si tout document valide pour S1 est également valide pour S2. La résolution de ce problème permet notamment de vérifier la rétrocompatibilité en cas d'évolution d'un schéma XML. Exemple :
·
Le WSDL d'un service web évolue, on souhaite que les intégrations réalisées sur la version n du WSDL soient toujours acceptées par la version n+1
·
Le schéma XML d'une API d'échange de donnée évolue, on souhaite que les données modélisées dans la version n du schéma restent valides dans la version n+1
Certaines modifications mineures d'un schéma XML peuvent donner lieu à une preuve formelle simple de la compatibilité. En revanche le cas général ('refactoring' du schéma par exemple) nécessite des approches plus complexes. On pourra envisager différents axes :
·
Observer entre S1 et S2 des différences connues comme préservant ou non la compatibilité (ex : ajout d'éléments optionnels versus obligatoires)
·
Appliquer certains algorithmes décrits dans la littérature
·
Générer (aléatoirement ou non) des documents valides pour S1 et les tester sur S2 - dans cette approche, déterminer quels critères permettent d'évaluer la pertinence du jeu de test produit et la confiance qu'on peut avoir dans le résultat
Technologies utilisées/compétences souhaitées :
XML, XML Schema, Java
Sujet 6 : Modernisation des outils graphiques
Les outils graphiques de SAP CC dont le développement a débuté il y a une douzaine d'années, nécessitent une modernisation, à la fois dans leur aspect visuel, mais aussi dans leurs expériences utilisateurs. L'attente des utilisateurs, mais aussi leurs habitudes ayant beaucoup évolués cette dernière décennie, il convient de revoir les interfaces graphiques existantes afin d'adopter une approche plus centrée sur l'utilisateur.
Durant ce stage, trois axes de modernisation seront développés :
– Amélioration fonctionnel du client lourd existant (Java/Swing) ;
– Mise en place d'un « Look and Feel » sur le client lourd (Swing, Synth)
– Création de nouvelles fonctionnalités (Web).
MISSIONS & RESPONSABILITÉS
Le stagiaire sera en charge de :
– Développer et intégrer les différentes fonctionnalités
– Analyser les solutions existantes en interne chez SAP ou sur le marché
– Tester celles qui semblent les plus pertinentes sous la forme d'un prototype
– Travailler au sein d'une équipe de développeurs
– Travailler en collaboration avec un graphiste pour le Look and Feel.
Technologies utilisées/compétences souhaitées :
Java, Swing, HTML5, Javascript, CSS, XML/Dom, Eclipse, Git
L'ENGAGEMENT DIVERSITE SAP
Pour utiliser la puissance de l'innovation, SAP investit dans le développement de ses collaborateurs. Nous souhaitons exploiter les qualités uniques et la contribution que chacun peut apporter à l'entreprise.
SAP s'engage sur le principe d'Egalite pour les Opportunités d'Emploi et fournit des options d'ajustement raisonnables pour les candidats avec handicap physique et/ou mental. Si vous êtes intéressés à poser votre candidature pour un emploi à SAP et que vous avez besoin d'ajustement ou d'assistance pour naviguer notre site internet ou pour compléter votre candidature, veuillez envoyer votre demande par email à HR Direct (Americas: ************@*******.** , ************@*******.** , APJ: ************@*******.** , EMEA: ************@*******.** ). Les demandes d'ajustement seront traitées au cas par cas.
Emplacements Supplémentaires: No Selection