Haut

Champin Nicolas

Ingénieur Informaticien
Index

Compétences

De part mes nombreuses expériences et notamment grâce à la formation en apprentissage (alternance une semaine en école d'ingénieur et une semaine en entreprise), j'ai eu l'occasion d'aborder la majorité des facettes du développement informatique.
C'est aussi de façon personnelle que je renforce mes connaissances afin de mener à bien mes projets et tout simplement par passion.

Langages de programmation



C++ / Niveau : Maîtrise

J'ai eu la chance d'apprendre les bases du C++ à la suite de ma formation de C en 2008, avant tout autres langages de programmation. Avec un premier projet de jeu vidéo en 2009 (projet MagosQuest), ce langage est une très bonne base pour prendre en main très facilement tous les autres langages de programmation orientés objets par la suite. Depuis j'ai eu nombreuses occasions de mettre en pratique mes compétences avec ce langage et de renforcer mes connaissances à travers mes formations et mes projets personnels. Je l'ai entre autres utilisé pour mon très ambitieux projet CubeGalaxy.


C# / Niveau : Maîtrise

Bien qu'ayant de l'expérience sur ce langage que depuis début 2014, j'ai passé la majorité de mon temps depuis sur ce langage de programmation avec le moteur Unity3D. En combinaison avec ce moteur et l'API Mono, c'est désormais ma solution préférée afin de mener à bien mes projets personnels. C'est aussi le langage que j'utilise aujourd'hui le plus en entreprise avec de nombreux projets déployés depuis début 2014.


Java / Niveau : Confirmé

Toutes mes formations en Informatique dispensaient des cours de Java. J'ai ainsi eu de nombreuses occasions de m'exercer avec ce langage de programmation.
Outre un projet scolaire de création d'un petit jeu de plateau, j'ai eu l'occasion d'utiliser ce langages pour le développement de deux applications mobiles (DéjàVu et SplitWords) au niveau professionnel.


Web / Niveau : Confirmé

J'inclus dans les compétences liées à cette section Web les technologies HTML5, CSS3, Javascript et PHP.
Ma formation de Licence Professionnelle en 2012 a mis beaucoup l'accent sur l'HTML5, dont les spécifications n'étaient pas totalement terminées à ce moment. Ces connaissances ont été renforcées pendant ma formation d'ingénieur, mais c'est surtout à travers mes projets d'entreprises que j'ai pu gagner en compétence avec ces différents langages et leurs forces (exercices HAPPYneuron). Plus récemment j'ai déployé mon projet personnel zer0 utilisant cette technologie.
Ce site tire notamment profit de mes compétences Web, avec la prise en main pour ce projet du nouveau framework Material Design Lite de Google.


SQL / Niveau : Confirmé

Mes compétences en SQL sont issues de l'ensemble de mes formations qui dispensaient des cours dans ce domaine. J'ai pu ainsi apprendre et m'exercer avec la conception de requêtes plus ou moins complexe à travers les outils MySQL, SQLite ou encore Microsoft Access. Entre autres ma formation en école d'ingénieur m'a permis de mettre l'accent sur l'apprentissage et l'utilisation de PL/pgSQL.
J'ai par ailleurs mis en place quelques bases de données clients pour des projets professionnels début 2016.


Autres
langages
C

Tout premier langage de programmation que j'ai eu la chance de connaître, j'ai suffisamment utilisé le C pour avoir de très bonnes notions sur ce langage. Notamment utilisé en école d'ingénieur pour des projets Robotiques.

Objective-C

J'ai eu l'occasion d'aborder ce langage au niveau professionnel en remodelant complètement une application iOS (projet KunCha GT).

ActionScript 3

Des notions apprises pendant ma formation de Licence Professionnelle.

APIs / SDKs


3D : OpenGL / GLSL

C'est avec mon projet personnel CubeGalaxy que je me suis donné l'occasion de m'initier à la 3D. Ce projet m'a permis d'obtenir une bonne base sur la majorité des principes d'OpenGL 3.0+, allant de la manipulation des différents types d'objets et buffers GPU (VBO, IBO, VAO, FBO) à la création de multiples shaders (Vertex/Fragment/Geometry shaders, Normal/Bump mapping, Lightmaps, ...). A noter que j'ai aussi profité de ce projet ainsi qu'un de mes projets scolaires pour gérer la mise en place d'un rendu type OculusRift, possédant le kit de développement version 1.



2D : SFML / SDL

J'ai utilisé l'API SDL par de nombreuses occasions au niveau professionnel et scolaire. Non limité à l'aspect graphique, j'ai aussi beaucoup utilisé cette API au niveau audio et réseau (SDL_Net).
Depuis quelques années c'est désormais l'API SFML qui vient remplacer la SDL vieillissante pour toutes mes solutions de projets C++. A nouveau le projet CubeGalaxy, et notamment son UI et la partie réseau, est un bon exemple de l'utilisation de l'API.

Autres
APIs / SDKs

Mes différents projets m'ont donné l'occasion d'aborder de nombreux autres SDKs et APIs. Parmi les plus importants : Boost (C++), NewtonDynamics (C++, Moteur physique), Mono, OculusSDK, AndroidSDK, Zlib, ...

Outils / Logiciels


Moteur de jeu Unity3D

L'impératif de pouvoir répondre au niveau professionnel à la problématique du développement multi-plateformes m'a conduit à prendre en main le logiciel Unity3D début 2014. Depuis j'utilise cet outil pour la majorité de mes projets professionnels et personnels. A force de projets et d'expériences, j'ai ainsi acquis des compétences professionnelles avec cet outil, notamment pour le développement de solution mobiles 2D, en complément de l'apprentissage et de l'utilisation du langage de programmation C#.


Outil d'édition et de retouche d'image Gimp

J'ai eu nombre d'occasions d'utiliser le logiciel Gimp pour créer ou retoucher du contenu graphique, par l'intermédiaire des outils directs ou même de scripts.

Autres
Outils / Logiciels

J'ai été formé aux bases pour l'utilisation des logiciels Photoshop et Illustrator. Par ailleurs j'utilise régulièrement les outils de versionning SVN et Git.

Autres compétences notables

Gestion de projet
Ma formation d'ingénieur dispensait des cours dans le déroulement de projets selon les méthodes agiles (notamment Scrum et Extreme programming).

Modélisation
Initiation méthode Merise et UML pendant ma formation d'IUT en 2009. Renforcement UML en école d'ingénieur.