MyECP Development. let s get to it!



Documents pareils
Tutoriel Création d une source Cydia et compilation des packages sous Linux

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

VAGRANT POUR LES DÉVELOPPEURS

e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365

Développeur - Conseiller - Formateur web

Gérer ses environnements de développement avec Vagrant RMLL 2012

Devenez un véritable développeur web en 3 mois!

Les systèmes de gestion de version

Gestion de configuration

Automatisation de l administration système

LiveUSB clefisn. Meilland jean claude et Kbida Abdellatif. 16 septembre 2012

Le système de gestion de version Git et GitHub

Stéphane DERACO, DSI CNRS l Argos Devops : de l hyperviseur aux conteneurs l 11/12/2014 DOCKER

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Outils de développement collaboratif

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

SSH. Romain Vimont. 7 juin Ubuntu-Party

Projet Administration Réseaux

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

Tutoriel git. Régis Briant, Youngseob Kim & Dmitry Khvorostyanov. Table des matières. 1 Configurer git 2

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

Livrer chaque jour ce qui est prêt! Points clés du développement d un produit avec une livrasion par jour.

Les logiciels de gestion de version exemple de GIT et application avec SmartGIT

Un serveur web, difficile?

Accès aux ressources informatiques de l ENSEEIHT à distance

Programme ASI Développeur

1 Démarrage de Marionnet

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

TP4 : Installer configurer un contrôleur de domaine

Aperçu rapide de PC BSD 1.2.

A Libre Ouvert. Médiathèque Jacques Ellul. le

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Gestion du projet pour qu'il soit pérenne et collaboratif

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

TP Git. Author : Cedric Dumoulin Date : 2 déc Rev : 9 Dec. 2014

PHP et le Cloud. All rights reserved. Zend Technologies, Inc.

Travailler à l'ensimag avec son matériel personnel

Reproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application"

Les outils collaboratifs : bonnes pratiques, bons réflexes. Christine LOURDELET et Hélène TELLITOCCI

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

Installation d'un serveur sftp avec connexion par login et clé rsa.

FOG : Free Open-Source Ghost. Solution libre de clonage et de déploiement de systèmes d'exploitation.

Prototyper un site web avec Awestruct et Boostrap

Contenu. Cocher : Network Policy and Access Services > Next > Next. Cocher : Network Policy Server > Next > Install

L'automatisation open source pour SI complexes

Drupal un CMS orienté mé2er. Romain JARRAUD Mathieu GROS

Mettre Linux sur une clé USB bootable et virtualisable

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

FusionInventory. I-Détails et explication de l installation de l agent FusionInventory

TD séance n 2c Mise à jour des Systèmes

SÉCURITÉ POUR CTO DE STARTUP

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Des millions de visiteurs avec France Télévisions

Environnement de Développement Outils Open-Source d'integration Continue. Exemple de Mise en Oeuvre

Les différents parcours en S4

Systèmes informatiques

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

les techniques d'extraction, les formulaires et intégration dans un site WEB

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

INGÉNIEUR - DÉVELOPPEUR SENIOR PHP. 28 ans - 8 ans d'expérience

Installation software

Enoncé du TP 8 Système

Ges$on des clients du réseau pédagogique. Stéphan Cammarata - DANE Strasbourg - Version 10/2013

Web service AREA Manuel d installation et d utilisation du mode déconnecté. Version du 18 mars 2011

WGW PBX. Guide de démarrage rapide

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

N importe qui possédant un code MS valide peut initier la rencontre. Néanmoins, il serait préférable de laisser cette

Pour les futurs développeurs Sommaire

Anas Abou El Kalam Sécurité SSH SSH

Backuppc, retour d expérience

Cloner un disque dur

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

1/15. Jean Bernard CRAMPES Daniel VIELLE

Rapport de stage Clément MOYSAN

Première édition en format électronique. Parallels Desktop 7 pour Mac OS X.

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

PROGRAMME DE MESSAGERIE INSTANTANEE RAPPORT FINAL. Généralités Structure du code Détail de scénarios Précisions de fonctionnement

K?ellaWeb Saisie des absences, retards et sanctions APLON en mode Web

Travailler à l'ensimag avec son matériel personnel

Systèmes de gestion de code source

Sextant. RFS Consultants Décembre 2008

Léa Dumas Développeuse front-end Intégratrice //

Pro Git. Scott Chacon*

Ingénieur d étude Web & Lead testeur QA

Point sur les solutions de développement d apps pour les périphériques mobiles

JOSY VIRTUALISATION 9 ET 10 JUIN 2011 POSTE DE TRAVAIL ET VIRTUALISATION. Sébastien Geiger IPHC

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience

Sauvegarde de postes clients avec BackupPC

Raspberry pi : Développer une petite application web sur Raspberry

Installation du transfert de fichier sécurisé sur le serveur orphanet

Mode d emploi de la clef USB de l I.P.I. Philosophie de la clef USB

Introduction MOSS 2007

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

Transcription:

MyECP Development let s get to it!

Plan 1.Git et Gitlab 2.Installation du projet 3.Fonctionnement (workflow) 4.Techno & architecture du code

Git et Gitlab In Git we trust

Git : le travail à plusieurs Git est un gestionnaire de version. Installation : Pour Windows : http://git-scm.com/download/win, puis lancer Git Bash Pour Linux : sudo apt-get install git Configuration (dans votre terminal ou Git Bash): git config --global user.email "email@student.ecp.fr" git config --global user.name "Votre Nom" git config --global push.default simple git config --global color.ui true

Gitlab : késaco? https://gitlab.my.ecp.fr Plein de fonctionnalités : git, wiki, issues tracker, Le code de MyECP est hébergé dessus Pour pouvoir développer, vous devez être rajoutés en tant que développeur sur le projet MyECP/MyECP

Gitlab : Configuration Pour pouvoir développer avec Gitlab, il faut créer une clef SSH sur son ordi mkdir.ssh ssh-keygen t rsa C "adresse@student.ecp.fr" (laisser les paramètres par défaut) Envoyer cette clef sur Gitlab (Profile Settings > SSH Keys > add SSH key) : Windows : notepad.exe.ssh/id_rsa.pub Linux : cat.ssh/id_rsa.pub Copier/coller le résultat dans Gitlab

Importation du code Just izi as ABC! git clone git@gitlab.my.ecp.fr:myecp/myecp.git

Gitlab : bien s'en servir Modification des infos persos La timeline du projet Souriez, vos modifs sont enregistrées Une idée? Un bug? C'est par là Là où on valide le code avant de le déployer

Git : koman sa march lol? Git, c'est surpuissant Mais peut-être un peu ardu à première vue Fort fortuitement, il existe une formation VIA sur Git : http://www.via.ecp.fr/viaform/2013-14/2014%20-%20formation%20git.pdf (faite par des gens biens, m'a-t-on dit)

Installer un environnement de dev Ou «Comment éviter les modifs en prod»

Installation du projet Vagrant : digitalité, agilité, portabilité, uniformité Un dépôt Git propre : MyECP-Provisioning avec toute la conf nécessaire pour la machine virtuelle. 1) Installer Vagrant (et Cygwin sous Windows) 2) Installer VirtualBox [ ] (cf ReadMe de MyECP-provisioning sur Gitlab) cd myecp-provisioning && vagrant up

Pour développer : Des éditeurs cool, multi plateformes et gratuits : Sublime Text & PHPStorm Léger Pour n importe quel langage Modules à installer : Package Control, Twig, Git Cf. http://wasil.org/sublime-text-2- perfect-php-development-set-up Réservé au web Intégration native de Git, Vagrant, shell, déploiement automatique sur la MV (sur Windows) Autocomplétion très performante Modules à installer : PHP Extensions, Symfony2 https://www.jetbrains.com/estore/students/

Architecture du code C koi un projet SF2 lol?

Techno & Architecture du code Symfony2 : Framework PHP POO Interception par web/app{_dev}.php Renvoi à la bonne méthode du bon contrôleur en fonction du routing Affichage de la page par le contrôleur Décomposition en bundles, internes (dans src/) ou externes (librairies, dans vendor/) Configuration dans app/config, liste des bundles chargés dans app/appkernel.php

Structure type d un bundle

Fonctionnement (workflow) Attention, on est des nazis

Les branches git Principe : une nouvelle fonctionnalité/hotfix, une branche git. Exemple : je veux ajouter un salon de discussion sur MyECP. Je pars de la branche master et je crée une nouvelle branche (git checkout -b chatroom) Je code, en commitant régulièrement mon travail (git add <file1> <file2> ; git commit m "Mon message de commit") Envoyer le résultat sur Gitlab. Bien vérifier qu'on est sur la bonne branche! git push origin chatroom Quand la fonctionnalité est prête, créer sur Gitlab une Merge Request sur la branche dev

Le code review Quand la merge request est créée Permet de détecter des erreurs, améliorer la qualité du code Une fois la MR validée, elle est mergée par les autorités compétentes

Déploiement et capifony Avantages de capifony : Digital Une commande à lancer, il fait tout Possibilité de rollback Utilisation, sur son pc perso : installer ruby 1.9.*, puis gem install capifony, puis cap {env} deploy (avant, copier sa clé publique dans /var/www/.ssh/authorized_keys) Environnements : Dev :!dev sur https://dev.my.ecp.fr : test avant mise en prod Preprod :!master sur https://preprod.my.ecp.fr : mise en prod de test (environnement différent, etc.) Production:!master sur https://my.ecp.fr : la vraie mise en prod

Conventions pour MyECP Principes : imiter le code existant (notamment des bundles récents : Info, Oauth, Rooming) ne pas utiliser les méthodes dépreciées (PHPStorm vous prévient) Pour la config, utiliser si possible des annotations, sinon un fichier YAML