COUVERTURE MIDGAR STUDIO 263 Route de Lambesc 13300 PELISSANNE Téléphone : +33 (0)6 78 17 78 14 LESUEUR Benjamin Lycée Turgot 2009 2010 ZELER Jeremy Téléphone : 06 43 04 59 78 Stage du 17 Mai au 25 Juin 2010.
REMERCIEMENTS Je remercie l'ensemble de mes interlocuteurs au sein de l'entreprise MIDGAR STUDIO pour leurs accueils cordiaux et pour le temps qu'ils ont bien voulu me consacrer pour partager leurs connaissances. Un remerciement tout particulier à mon maître de stage, Jeremy ZELER. SOMMAIRE I. Présentation 1 - Présentation du candidat 2 - Présentation de l'entreprise II. Les services 1 - Organisation 2 - Qualification du personnel 3 - Supports de travail utilisés III. Rapport de Stage 1 - Présentation 2 Explications sur ce que j'ai fait IV. Conclusion
I. PRESENTATION 1 Présentation du candidat Benjamin LESUEUR 2 Allée Albert Marquet 95560 Montsoult Tel: (06) 43 03 59 78 E-mail: valkiriebc@hotmail.fr 20 ans Formation Brevet des collèges. Enseignement général jusqu'en classe de 1ère S. Bac Pro MRIM (Micro-informatique et Réseaux Installation & Maintenance). Expérience professionnelle Mai-Juin 2008 : Stage au sein du groupe Safran, «Elaboration du site intranet du département Après-vente». (Cahier des charges, listes d'habilitations et inventaire de liens). Novembre-Décembre 2008 : Stage au sein du groupe hospitalier Simone-Veil. (Technicien 1er 2ème niveau). Mai-Juin 2010 : Stage dans l'entreprise MIDGAR Studio. (Formation aux nouvelles technologies de l'information et de l'internet, Solutions virtuelle pour entreprise). Expérience personnelle Création et traduction de jeux vidéo amateur. Création de sites web/forums communautaires et entraide à la création de jeux vidéo amateur. Hébergement et administration de sites web communautaires privés et réalisation du site web du lycée St-jacques. Domaines de compétences Informatique générale : Hardware, BIOS, DOS, Windows, Linux, Mac, Programmation, Animations (3dsmax, flash), Graphisme (Photoshop) Connaissances techniques : SQL, PHP, XML, CSS, VB, Autoit, C#
I. PRESENTATION 2 Présentation de l'entreprise MIDGAR Studio est une SSII (Sociétés de services et d'ingénierie en informatique) start-up officiellement crée en 2008 puisque pratiquant l'activité de développeur logiciels informatiques et de jeux vidéos depuis 2004. Son siège social est situé dans le sud de la france dans la ville de Pelissanne. Elle est spécialisée dans la réalisation et la mise en place de réseaux virtuels d'entreprises clé en main. Son domaine d'activité s'est rapidement étendu à la programmation de logiciels en tout genre dont un pour le géant américain Google. Forte d'une croissance rapide MIDGAR Studio surf désormais sur la vague des réseaux sociaux et développe un logiciel réunissant chat, Facebook, et avatar en trois dimensions.
II. LES SERVICES 1 Organisation L'entreprise est répartie en différents services par domaine de compétences et centre d'intérêts. Il existe ainsi trois principaux services pour un effectif total de 52 personnes. Développement d'applications Il est chargé de concevoir et améliorer des logiciels multi/simple plateforme(s) (Windows, Linux, Mac) principalement codés en C# ou C++ pour la grande flexibilité qu'offrent ces langages. Ce service assure également la réalisation du cahier des charges ou spécifications techniques et cerne les besoins des utilisateurs du futur logiciel. A l'issue de la programmation, il participe également aux phases d'essais et peut même rédiger le guide d'utilisation du logiciel. Ainsi ce service est responsable de la réalisation du logiciel Midgar 3D Chat. Développement de jeux vidéos Il est le plus gros service de Midgar Studio de part la relative complexité qu'est le développement d'un jeux vidéo. On y retrouve ainsi différents groupes de développeurs, à savoir, Programmeur Moteur 2D, Programmeur Moteur 3D, Programmeur Moteur Physique qui travaillent de concert sous la gestion du Programmeur Architecture qui a une vision d'ensemble du projet et des ses différents éléments. Ce service travail actuellement sur deux projets majeurs, Prophecy Online et Midgar Engine.
Développement d'applications mobile Avec la croissance que connait aujourd'hui le monde des smartphones il est tout naturel qu'un tel service ait fait son apparition. De lui découle la conception et la réalisation de toutes sortes d'applications pour les machines les plus puissantes du marché (iphone, HTC, etc...) tel que ifantasy. II. LES SERVICES 2 Qualification du personnel L'âge moyen des salariés de l'entreprise ne dépassant pas la vingtaine d'année les qualifications de ceux ci sont en grande majorité BTS ou licence. Toutefois certains des employés sont autodidactes et rentré dans l'entreprise après un entretien (test de connaissance et examen pratique) avec un BAC ou BAC Professionnel en poche. II. LES SERVICES 3 Supports de travail utilisés Chaque service possède sa propre gamme de logiciels ci-dessous une liste non exhaustive des applications les plus utilisées par service. Développement d'applications Visual C# 2010, Visual C++ 2010, Visual Basic 2010, Java Développement de jeux vidéos XNA, Visual C++ 2010, Visual C# 2010, Unreal Engine, unity3d Développement d'applications mobile Visual Studio 2010 for Windows Phone, Corona, Xcode Certains des salariés travaillant alternativement à distance ou depuis les locaux de la société, ceux-ci communique alors avec le reste du service par des logiciels tel que NetMeeting, Skype.
III. RAPPORT DE STAGE 1 Présentation Durant ces six semaines de stage j'ai participé au développement du logiciel Midgar 3d Chat réalisé sur la plateforme de développement unity3d. Mon travail consistait à réaliser une partie du script C# régissant la fonction social du logiciel. En effet, le logiciel offre aux utilisateurs la possibilité de gérer leurs réseaux sociaux depuis le jeu. Les objectifs étaient: Définition et description des besoins de la fonction social. Définition des informations légalement transmissibles. Recueil des besoins GUI. Entamer la programmation. III. RAPPORT DE STAGE 2 Explications sur ce que j'ai fait Familiarisation avec unity3d Avant même le début de ma tâche j'ai du me familiariser avec l'interface du logiciel que j'allais utiliser, à savoir, unity3d. Unity3d est un outil de développement de jeu conçu dès le départ pour simplifier la création de jeu multiplateforme (iphone, Android, Mac, Windows, Navigateur Web, Wii). Unity est donc à la fois une interface de développement, un moteur graphique (gestion DirectX et OpenGL), un moteur physique (puisque gérant même NVIDIA PhysX), une gestion poussée du réseau et pour finir un Asset Server (permet l'utilisation d'un gestionnaire de versions). Comme expliqué plus haut dans le rapport, unity3d utilise C# comme langage de programmation principal bien qu'étant capable de supporter le lua, javascript et python.
Définition et description des besoins de la fonction social Cette étape est celle qui se rapproche le plus de la réalisation d'un cahier des charges. Il a donc fallu, en accord avec l'ensemble du groupe de développement définir les informations que nous allions permettre aux «joueurs» d'échanger entre-eux. Ce qui semble être une simple tâche se complique lorsqu'elle implique plus d'une dizaine de personnes sur un projet représentant un investissement de 300.000. Ainsi chaque réflexion doit être étudiée. Nous ne voulions pas faire de la fonction sociale un «wanna be meetic» mais simplement une gestion d'amis de jeux. Il est rapidement apparu inévitable d'utiliser une nouvelle table dans la base de donnée qui stockerait les relations entre les utilisateurs. ex. Utilisateur 10 et 11 sont amis. INSERT INTO social VALUES (10,11,1); ex. Utilisateur 10 ignore 12. INSERT INTO social VALUES (10,12,2); Nous avons donc commencé par définir une structure SQL qui serait susceptible d'accueillir les prémisses de notre fonction. Définition des informations légalement transmissible Comme tout logiciel grand publique et plus encore les logiciels a vocation sociale nous nous devions de garantir le respect des règles de publication et confidentialité facebook en utilisant les droits définis par les utilisateurs sur leurs informations.
Recueil des besoins GUI Une fois la structure et les informations échangeables définies. Il ne restait plus qu'à définir l'interface graphique utilisateur ou GUI. Le panneau social permet donc au joueur de saisir le nom d'un utilisateur avant de de le valider comme étant un amis ou de l'ignorer. Un système de widget (ou fenêtre volante) est utilisé pour une gestion plus simple des différentes fenêtres composant l'interface. Entamer la programmation Comme écrit plus haut dans le rapport, unity3d fonctionne principalement avec du C# qui est un langage plutôt «élégant», simple et orienté objet. Il fonctionne parfaitement avec la librairie XML que nous utilisons également pour définir les dimensions et le contenu des fenêtres du chat. Le morceau de code ci-dessus est une succession d'extraits de scripts. On y voit les déclarations de certaines variables et le positionnement d'une fenêtre sous forme d'objet ainsi que l'évènement «on click».
IV. CONCLUSION Ces six semaines passées chez Midgar Studio furent à bien des égards une expérience enrichissante. Cela m'a permis de mieux comprendre le fonctionnement d'une PME en l'occurrence start-up et son système hiérarchique. Cela ma également permis d'améliorer mes connaissances dans bien des domaines informatique et relationnel avec des gens bien souvent plus âgés que moi.