Pages

jeudi 6 août 2015

Conclusion de deux mois de stage chez Weenove

Mes deux mois de stage chez Weenove se terminant, il est maintenant temps de conclure.




Premièrement, sur le plan technique, je suis vraiment content de mon stage car j'ai fait beaucoup de choses et pas toutes dans le même domaine. Concernant le développement, j'ai découvert le C# et appris à maîtriser une partie des fonctionnalités de Visual Studio. J'ai également pu mettre en oeuvre les compétences en algorithme et en programmation orientée objet apprises à Ingésup.  Ce stage m'a aussi permis de découvrir l'OpenData, de mieux maîtriser Excel et découvrir le VBA avec les macros.



Sur le plan professionnel, ce stage était ma première expérience. J'ai découvert le travail en équipe sur le développement d'un gros projet, mais aussi le concept des méthodes agiles avec la méthode Scrum. J'ai également vu ce qu'était la BI (Business Intelligence) à travers Biwee. De plus, les tâches comme la mise en place de Google Apps ou la collecte d'informations m'ont permises de prendre des responsabilités au sein de l'entreprise et de prendre des décisions en autonomie.




Mon stage m'aura également permis de découvrir la vie dans une petite entreprise comme Weenove et dans un OpenSpace. J'ai également participé à une soirée "AfterWork" avec d'autres entreprises de la pépinière.




Pour finir, ces deux mois chez Weenove auront plus que répondu à mes attentes, et je reste en contact avec eux pour éventuellement d'autres stages.




lundi 3 août 2015

Deux dernière semaines de stage



Malgré un nombre d'heures de retard sur l'objectif du sprint précédent assez conséquent, le bilan réalisé lors de la rétrospective a été bon et nous étions tous assez contents des tâches effectuées. Nous avons ensuite entamé une phase intermédiaire sans sprint, dans laquelle l'objectif était de stabiliser l'application et finir certaines fonctionnalités afin de livrer cette version aux clients de l'entreprise. En effet la version sur laquelle j'ai travaillé était en développement depuis plusieurs mois et intègre des changements majeurs par rapport à la version précédente de Biwee.



De ce fait, j'ai consacré la plupart de mon temps lors de ces deux dernières semaines de stage à corriger des bugs et fonctionnalités diverses et donc stabiliser un maximum l'application. Parmi ces tâches, il y avait par exemple un bug concernant les droits de partage d'un document, ou alors le fait que l'on puisse valider des changements sur l’application en appuyant sur la touche "Entrée", ou encore des problèmes sur les messages d'erreurs lorsque l'on modifiait une connexion ou une source de donnée.






En dehors du développement de Biwee, j'avais pour objectif de préparer et d'aider la société à utiliser Google Apps. En effet dans une optique de centralisation des données et des mails de l'entreprise, on m'a demandé de m'occuper de migrer les données des employés depuis leurs Google Drive personnels ainsi que leurs mails de l'entreprise sur un compte Google Apps afin que tout soit sur un même compte et que la direction puisse administrer tout cela. J'ai donc effectué des tests pour vérifier qu'aucune donnée ou mail ne seraient perdus.Une fois cela fini, j'ai validé la solution à la direction et fait la migration avec eux.

Cette tâche m'a permis de découvrir cet outil, de comprendre mieux le fonctionnement des serveurs mails ainsi que les DNS car j'ai dû modifier les enregistrements MX (enregistrement DNS permettant d'associer un nom de domaine par exemple "@monnomdedomaine.fr" à un serveur de messagerie) pour que les adresses emails des employés pointent vers les serveurs de Google. Cela m'a également permis de prendre des responsabilités dans l'entreprise.





Pour finir, une des dernière tâche que j'ai effectuée est le développement d'un crawler web (robot d'indexation).

Weenove voulant réaliser une campagne de mailing, les directeurs nous ont demandé de récupérer des informations sur des entreprises de l'informatique et du numérique.
Un autre stagiaire avait pour mission de trouver des sites contenant des informations pertinentes. A partir de ceux-ci, j'ai développé en C# un programme qui parcourt l'annuaire de ces sites, puis qui récupère les informations des entreprises, et enfin les écrit dans un fichier Excel. J'ai donc fait un programme assez général, puis à partir de celui-ci des spécifiques aux sites en fonction de l'architecture de leurs annuaires. Cette tâche était vraiment très agréable et m'a permise de m'améliorer en C#.

samedi 18 juillet 2015

Rétrospective du sprint et nouveau sprint

RétroSprint : 

     Le sprint précédent s’étant terminé le 19/06/15, nous avons fait une réunion le lundi 22 au matin. Cette réunion (rétrospective) a pour but d’évoquer les bonnes et les mauvaises choses du sprint précédent. Cette réunion a été animé par un des directeurs (extérieur au sprint), nous avons tous dit ce qui nous avait plu et déplu, afin d’améliorer le prochain sprint.

Suite à cette réunion, le responsable du développement et les dirigeants se sont réunis pour établir les tâches à réaliser au prochain sprint. Pendant ce temps, nous avons développé des petites fonctionnalités hors sprint.



Nouveau Sprint :

Le nouveau Sprint a ensuite démarré le mardi. Voici les tâches que j’ai faites :

Accessibilité : Pour le système de droits et partage, j’ai implémenté pour les tableaux de bord l’affichage des boutons « Publier » et « Dé-publier » si l’utilisateur en a les droits.
J’ai également implémenté dans toute l’application l’accès aux sources de données et connexions en fonction des droits de l’utilisateur.

Aperçu de table : Lors de la création d’une requête SQL sur une table, j’ai fait en sorte que l’on puisse en sélectionnant une table, afficher un aperçu (les 100 premières lignes) de ses données. Cette tâche m’a permis de découvrir comment créer une fenêtre en WinForm et de découvrir la fonctionnalité « top 100 » de SQL.





Monitorer l’application : Nous avons ensuite essayé de visualiser les performances de l’application afin de savoir qu’elles sont les fonctions qui prennent le plus de temps à être exécuté. Pour cela, nous avons d’abord utilisé les outils fournis par visual studio. Nous avons ensuite essayé des logiciels payants. Et la dernière option a été d’insérer des « StopWatch » (objets qui mesurent le temps) dans le code.




Connecteur Biwee : Un développeur a créé une API qui permet de récupérer des jeux de données sur l’activité des utilisateurs du logiciel. J’ai réalisé un connecteur permettant de se connecter à cette api avec une interface graphique dans le logiciel et de sélectionner les jeux de données que l’on veut. On peut ainsi créer des tableaux de bord à partir de ces données.

Correction de bugs : J’ai également passé du temps à tester l’application et corriger divers bugs.


Pour conclure, le sprint étant terminé, nous allons a nouveau faire une rétrospective de ce sprint puis en commencer un nouveau ayant pour but de livrer aux clients la nouvelle version que nous avons développé.

dimanche 28 juin 2015

Bilan des 3 premières semaines

Notre Sprint de 3 semaines se terminant, voilà un petit bilan de ce que j’ai réalisé :


- La Globalisation :
    Durant la première semaine, j’ai réalisé avec un autre stagiaire la globalisation du logiciel que Weenove développe (Biwee). En effet tous les textes visibles dans l’application étaient écrits directement dans le code à l’endroit où ils doivent s’afficher. La globalisation consiste à rassembler ces textes dans un fichier avec des clés pour chacun d’entre eux, ainsi cela permet de pouvoir appeler le même texte n’importe où dans le logiciel et de prévoir une éventuelle traduction de Biwee dans une autre langue. Pour cela nous avons créé une nouvelle « Classe » dans laquelle nous détectons la langue du système d’exploitation de l’utilisateur, lui imposons le français et créons une méthode permettant de récupérer un texte grâce à sa clé. Enfin nous avons remplacé tous les textes de l’application par un appel à la « Classe » créée avec la clé de celui-ci. 
Cette tâche nous a pris 4 jours et nous a permis de découvrir l’architecture du code.


- Les Tableaux de Bord :
    Dans l’optique de permettre aux commerciaux de réaliser des démonstrations adaptées aux besoins des clients nous avons collecté des jeux de données pour réaliser des tableaux de bord « type ». Pour cela nous avons utilisé des sites mettant à disposition des données libres (Open Data) comme par exemple https://www.data.gouv.fr/ ou http://open-data.europa.eu/fr/data/ . Nous avons ainsi récupéré des données du bâtiment, des milieux hospitaliers, de l’immobilier, des résultats du Baccalauréat… Une fois la collecte terminée, nous avons formaté ces données pour qu’elles soient facilement adaptables à Biwee. Ces données étant au format Excel, j’ai appris à mieux me servir de ce logiciel, et à utiliser les macros (en langage VBA) pour réaliser de grosses tâches en peu de temps. Une fois ceci terminé, nous avons créé des tableaux de bord Biwee (graphiques, cartes, filtres …) et j’ai ainsi découvert l’étendue de ses fonctionnalités. Toutes ces tâches ont été réalisées sous la surveillance et l’aide du directeur commercial et ont durée 5 jours.




- Tableaux de bord pour mobile :
    Mon objectif pour ce travail était d’adapter les tableaux de bord pour avoir un bon rendu sur smartphone. Après avoir discuté avec les autres développeurs, nous avons décidé qu’à l’enregistrement du tableau de bord dans la base de données, un deuxième adapté sur mobile serait également enregistré.
Pour cela, j’ai créé une méthode qui, si l’objet que nous enregistrons est un tableau de bord, récupère le layout (fichier au format XML contenant la configuration du tableau de bord) de celui-ci, déplace toutes les parties les unes en dessous des autres, et l’enregistre dans la base de données.
J’ai ensuite travaillé avec le développeur web pour appeler ce layout mobile et pas celui de base lorsqu’on est sur un mobile.
Cette tâche m’a pris 3 jours.

- Navigation :
    Dans la version de Biwee que nous développons, lorsque nous naviguons et que l’on quitte la page en cours, on revient toujours à l’accueil au lieu de repartir à la page précédente. J’ai résolu cela en modifiant toutes les méthodes de navigation et en y ajoutant un paramètre qui est la page d’où l'on vient. Pour modifier les méthodes, j’ai utilisé les Tuple (structure de données) me permettant d’adapter les méthodes au nombre de paramètre nécessaire. J’ai ensuite du sur chaque page réécrire les fonctions de retour pour ne pas revenir à l’accueil mais à la page d’où l’on vient. Cette tâche n’a pas été facile car le code de navigation existant était complexe. Ce travail m’a pris 2 jours.

Enfin, le dernier jour, j’ai participé à la correction de certains bugs dans l’application.

Pour finir, Lundi nous allons faire le bilan de ce Sprint, voir les problèmes que nous avons rencontrés et préparer le prochain Sprint.

dimanche 14 juin 2015

Présentation Weenove



Weenove est l'entreprise que j'ai choisie pour effectuer mon premier stage d'été à Ingésup.

Entreprise localisée près d'Ingésup Bordeaux (9 Rue André Darbon 33300 Bordeaux) elle développe un logiciel de Business Intelligence nommé Biwee.
Ce logiciel permet aux entreprises de visualiser facilement leurs données,
et créer à partir de celles-ci des graphiques et des rapports.



Pour ce stage, je voulais découvrir des choses et acquérir de nouvelles 
compétences, et ainsi chez Weenove, j'entre dans le monde de la 
Business Intelligence et découvre le langage C# dans lequel est développé 
Biwee.

Biwee se divise en 3 parties :

     - les connexions : ce sont les informations permettant de se connecter à une
       base de données.

     - les sources de données : ce sont des requêtes permettant de récupéré les 
        informations désirées sur une connexion

     - les documents : ce sont les documents faits à partir des sources de données
       ( tableaux de bord, grilles, rapports ...)





Nous travaillons à la Pépinière éco-créative des Chartrons, dans laquelle 
sont regroupées une quinzaine d'entreprise. Nos bureaux sont dans un 
Open Space avec ceux d'une autre entreprise. Nous sommes actuellement 
8 développeurs (y compris moi), 2 chargés de communication/marketing,
1 designer et les 3 fondateurs.




Nous faisons avancer le développement de Biwee en utilisant la méthode
de management agile "Scrum" dans laquelle nous divisons l'avancée 
en "Sprints" (3 semaines) avec des objectifs.

Chaque tâche à accomplir durant le "Sprint" a été définie par les directeurs 
et le responsable du développement, avec une estimation du temps nécessaire
pour la réaliser. 
Ainsi, lorsqu'une tâche est  finie, nous enlevons le temps 
de celle-ci au sprint et l'objectif est d'avoir tout terminé à la fin des 3 semaines.

Enfin, chaque soir, nous faisons une petite réunion de 15 minutes pour dire 
ce que l'on a fait dans la journée, les problèmes rencontrés, ce que l'on va faire 
le lendemain et faire un point sur l'avancée du sprint afin de corriger 
un éventuel retard.


Pour conclure, je compte sur ce stage pour m'apporter une expérience 
professionnelle utile pour l'avenir.