Bonnes Pratiques de Développement PHP. Pascal MARTIN SQLI Forum PHP 2009, Paris
|
|
|
- Ghislain Léger
- il y a 10 ans
- Total affichages :
Transcription
1 Bonnes Pratiques de Développement PHP Pascal MARTIN SQLI Forum PHP 2009, Paris
2 Quelques mots Environnement de travail Contrôle de source Développer [en PHP] Normes de codage Tests Automatisés Documentation Intégration continue Déploiement Encore un peu?
3 Bonnes pratiques de développement PHP Pascal MARTIN 3 A Propos de moi Pascal MARTIN Expert Technique PHP chez SQLI Membre de la Cellule Architecture PHP Capitalisation Veille Technologique Interventions au lancement de projets Blog Perso
4 Bonnes pratiques de développement PHP Pascal MARTIN 4 A Propos de vous? Développeurs PHP Curieux / Passionnés Voulant / pouvant améliorer les processus Vos / Nos Projets? Maintenables? Organisés? Documentés? Et si vous partez en vacances?
5 Bonnes pratiques de développement PHP Pascal MARTIN 5 A Propos de cette présentation Quelques notes Expérience pro / perso Retours d'autres projets Pas une vérité absolue! Ni un ensemble de solutions toute prêtes! Plein d'autres choses fantastiques à découvrir ;-)
6 Bonnes pratiques de développement PHP Pascal MARTIN 6 Plusieurs niveaux Bonnes pratiques : plusieurs niveaux Sur tout le projet Relation avec le client Configuration des serveurs Code PHP Processus de développement Environnement de travail
7 Environnement de travail
8 «Ton fichier PHP est pourri, notepad m'affiche tout sur une seule ligne!»
9 Bonnes pratiques de développement PHP Pascal MARTIN 9 Utiliser un IDE 1 J'admets Machine puissante Temps d'adaptation / prise en main «Trop» dans certains cas
10 Bonnes pratiques de développement PHP Pascal MARTIN 10 Utiliser un IDE 2 Mais Gros projet, en équipe Framework / bibliothèques Plein de code peu connu Quels IDE? Eclipse PDT / Zend Studio Netbeans Débugger intégré ;-)
11 Bonnes pratiques de développement PHP Pascal MARTIN 11 Linux 1 LAMP => Linux Serveurs de production Ligne de commande «Heu... Je clique où???» «WTF???» Différences de comportement de PHP!
12 Bonnes pratiques de développement PHP Pascal MARTIN 12 Linux «Heu??? Au secours!»
13 Bonnes pratiques de développement PHP Pascal MARTIN 13 Linux 3 Quelques notions Peut être salvateur Incident sur un serveur de production «Gars qui connait» absent? Mais aussi pour du développement Suivi logs Notions de configuration Solution possible : Virtualisation Développement sous Windows Serveur LAMP : machine virtuelle
14 Contrôle de source
15 «Quand quelqu'un veut commencer à modifier un fichier, il le «réserve» sur MSN»
16 Bonnes pratiques de développement PHP Pascal MARTIN 16 Contrôle de source Quelques questions Est-ce que quelqu'un a modifié quelque chose? Comment synchroniser entre développeurs? Comment obtenir la version du 14 avril 2008? Qu'est-ce qui a changé entre le 19 mai et le 23 juillet? Deux types de contrôles de source Centralisés Distribués
17 Bonnes pratiques de développement PHP Pascal MARTIN 17 VCS Centralisé Subversion SVN Principe Travail local sur checkout du repository Automatisations basées sur les commits Mais Serveur nécessaire! Peu de travail sans connexion Excellent support! Forte intégration
18 Bonnes pratiques de développement PHP Pascal MARTIN 18 VCS Décentralisé Git, Bazaar, Mercurial, Darcs, Principe Travail sur une branche / copie locale Partage des modifications entre repositories Quelques avantages Pas besoin de serveur centralisé Facilite le fork local Moins intégré? Moins répandu? Moins de processus d'automatisation?
19 Développer [en PHP]
20 «Votre citation, ici ;-)»
21 Bonnes pratiques de développement PHP Pascal MARTIN 21 Ne développez pas! Utilisez ce qui existe déjà Vous n'êtes pas le seul à vouloir une application qui fasse X, Y, et Z Applications entières CMS, CRM, E-Commerce, Libres? Adaptez Ne développez que des modules Là où vos besoins sont spécifiques
22 Bonnes pratiques de développement PHP Pascal MARTIN 22 Framework Grand sujet de débat Ne pas réinventer la roue Framework perso Zend Framework, symfony, Cake,... Bibliothèques Composants de Frameworks PEAR Ou pas?
23 Normes de codage
24 «Il est illisible, son code, je comprends rien!»
25 Bonnes pratiques de développement PHP Pascal MARTIN 25 Pourquoi une norme de codage? Uniformité Consistance Lisibilité Se concentrer sur le code Ne pas perdre du temps à le formater mentalement Facilite la collaboration
26 Bonnes pratiques de développement PHP Pascal MARTIN 26 Quoi? Comment? Indentation Position des parenthèses / accolades Retours à la ligne Nommage de variables / classes / méthodes Nommages / organisation des fichiers Longueurs de lignes Documentation...
27 Bonnes pratiques de développement PHP Pascal MARTIN 27 Quelques exemples 1 Classes MonNomDeClasse Méthodes, variables, propriétés monnomdemethode Propriétés privées / protégées _monnomdepropriete Constantes MA_CONSTANTE
28 Bonnes pratiques de développement PHP Pascal MARTIN 28 Quelques exemples 2 Fichiers et répertoires Classe Societe_Generateur_Document_Pdf Répertoires / Fichier Societe/Generateur/Document/Pdf.php Une classe par fichier Conversion des «_» en «/» Facilite l'autoload PHP 5.3 : Généralisable aux namespaces
29 Bonnes pratiques de développement PHP Pascal MARTIN 29 Quelques exemples 3 Indentation Espaces vs tabulations 2 ou 4 espaces Position des accolades? public static function delete($idaccount) { try { $db->begintransaction(); if (...) { throw new Exception("..."); } //... $db->commit(); } catch (Exception $e) { $db->rollback(); } } // delete
30 Bonnes pratiques de développement PHP Pascal MARTIN 30 Quelques plus qu'exemples Soyons raisonnables Classes : méthodes Méthodes : lignes Fichiers : pas lignes! Respect de la structuration MVC : ne pas mélanger les couches Pas de requête SQL dans les templates
31 Bonnes pratiques de développement PHP Pascal MARTIN 31 Standards connus et reconnus N'inventez pas votre propre standard Utilisez un standard connu, répandu, accepté Celui de votre Framework / Application Normes de codage PEAR Configurez votre IDE
32 Bonnes pratiques de développement PHP Pascal MARTIN 32 Moyen de contrôle? Une norme de codage C'est bien Qu'elle soit respectée C'est mieux! Toute l'équipe doit utiliser le même standard Moyen de contrôle nécessaire (semi) Automatisé
33 Bonnes pratiques de développement PHP Pascal MARTIN 33 PHP_CodeSniffer PHP_CodeSniffer Analyse d'un code source + rapport $ phpcs -s /path/to/code/myfile.php FILE: /path/to/code/myfile.php FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S) ERROR Missing file doc comment (PEAR.Commenting.FileComment) 20 ERROR PHP keywords must be lowercase; expected "false" but found "FALSE" (Generic.PHP.LowerCaseConstant) 47 ERROR Line not indented correctly; expected 4 spaces but found 1 (PEAR.WhiteSpace.ScopeIndent) 47 WARNING Equals sign not aligned with surrounding assignments (Generic.Formatting.MultipleStatementAlignment) 51 ERROR Missing function doc comment (PEAR.Commenting.FunctionComment) 88 ERROR Line not indented correctly; expected 9 spaces but found 6 (PEAR.WhiteSpace.ScopeIndent)
34 Bonnes pratiques de développement PHP Pascal MARTIN 34 Mise en place Dès le début du projet Sinon : énormément de travail Accepté / reconnu Par toute l'équipe Y compris le management Qualité! Et si le code est horrible?
35 Tests Automatisés
36 «On a testé il y a 6 mois, quand on a mis en prod ; depuis, on n'a pas le temps» «Des fois, ça plante»
37 Bonnes pratiques de développement PHP Pascal MARTIN 37 Fatal Error on line X Code peut casser Changement dans un fichier... Quel impact sur le reste de l'application? Nécessité de tester! «Pas le temps» Tester manuellement = long! Rarement fait Uniquement sur quelques pages Tests automatiques
38 Bonnes pratiques de développement PHP Pascal MARTIN 38 Tests Unitaires Tester une «unité» Un module / Une classe / Une méthode Indépendamment de tout le reste Tests Automatisés Détection de régressions Joués après chaque modification Rapides quelques secondes Code Coverage
39 Bonnes pratiques de développement PHP Pascal MARTIN 39 Tests Unitaires PHPUnit Framework de Tests Unitaires Difficultés? Temps / coût Code existant «non testable» Avantages Facilite le rework, les évolutions Confiance!
40 Bonnes pratiques de développement PHP Pascal MARTIN 40 Test Driven Development Écriture d'un test qui échoue Car implémentation non écrite Définit le comportement attendu Puis, écriture du code Qui passe le test Éventuellement Rework du code Sécurité : il est testé
41 Bonnes pratiques de développement PHP Pascal MARTIN 41 Tests d'intégration Tester Non plus des composants unitaires Mais l'assemblage des briques Voire toutes les couches de l'application Deux possibilités «Pseudo» requêtes HTTP Rapide, facile à mettre en place Utilisation d'un «vrai» navigateur Teste aussi l'interface utilisateur Support Javascript
42 Bonnes pratiques de développement PHP Pascal MARTIN 42 Zend_Test Classe Zend Framework Test via le MVC sans navigateur public function testlogginginshouldbeok() { $this->dispatch('/login/login'); $csrf = $this->_getloginformcsrf(); $this->resetresponse(); $this->request->setpost(array( 'login' => 'pmartin', 'password' => '123456', 'csrflogin' => $csrf, 'ok' => 'Login', )); $this->request->setmethod('post'); $this->dispatch('/login/login'); $this->assertredirectto('/'); $this->asserttrue(zend_auth::getinstance()->hasidentity()); }
43 Bonnes pratiques de développement PHP Pascal MARTIN 43 Selenium RC Pilotage d'un navigateur Intégré à PHPUnit! class functionnal_front_selenium_archivetest extends functionnal_testsutils_seleniumtestcase { public function testnavigationarchive() { $this->open("/"); $this- >click("//div[@id='archivewidget']/ul/li[1]/a/span[1]"); $this->waitforpagetoload("30000"); $this->assertequals("juin Mon premier blog", $this->gettitle()); $this->asserttrue($this->istextpresent("septième post")); $this- >click("//div[@id='archivewidget']/ul/li[2]/a/span[1]"); $this->waitforpagetoload("30000"); $this->asserttrue($this->iselementpresent("link=troisième post")); } }
44 Bonnes pratiques de développement PHP Pascal MARTIN 44 Quoi tester? Écrire des tests prend du temps Tout ne peut pas être testé Il n'est pas utile / indispensable de tout tester Ne pas (re-) tester le Framework! Tester Ce qui est important Ce qui risque de casser Ce qu'on modifie souvent? Ce que l'on va re-worker?
45 Bonnes pratiques de développement PHP Pascal MARTIN 45 Maintenir les Tests Suivre le déroulement des tests Tests non maintenus Inutiles Dangereux : «fausse sécurité» Maintenance Au fil de l'eau Quand modifications du comportement Requiert du temps
46 Documentation
47 «Comment ça marche?» «Heu...Vas voir dans le code»
48 Bonnes pratiques de développement PHP Pascal MARTIN 48 Plusieurs documentations Documentation d'api Technique : comment développer Classes, méthodes, paramètres, retours,... Documentation d'application Fonctionnel : comment utiliser l'application Scénarios d'utilisation, captures d'écrans,... Procédures Comment déployer en production Reprise sur incident
49 Bonnes pratiques de développement PHP Pascal MARTIN 49 Documentation d'api Docblocks Fichiers, Classes, Méthodes Quelques Génération PhpDocumentor Doxygen
50 Bonnes pratiques de développement PHP Pascal MARTIN 50 Exemple code /** * Some description here * Service Pascal MARTIN Use some real templating mecanism */ class Service_User { /** * Sends an to the user to inform him that his informations * have been created or updated * boolean $iscreate int $iduser string $password optionnal ; if not null, the new password of the user void */ public static function sendmailuserhasbeenmodified($iscreate, $iduser, $password=null) { //... } // sendmailuserhasbeenmodified }
51 Bonnes pratiques de développement PHP Pascal MARTIN 51 Exemple doc générée
52 Bonnes pratiques de développement PHP Pascal MARTIN 52 Pourquoi une doc d'api? Intégration IDE Documentation Technique Utilisable en PHP Mais N'empêche pas d'écrire du code «autodocumenté» Noms de méthodes / classes / variables clairs Significatifs Facilite la compréhension
53 Bonnes pratiques de développement PHP Pascal MARTIN 53 Doc d'api et IDE
54 Bonnes pratiques de développement PHP Pascal MARTIN 54 Documentation utilisateurs Pensez-y! Dépend Du type d'application Du public visé Comment est-ce que votre logiciel sera utilisé, sinon? Vous êtes aussi utilisateurs ;-)
55 Bonnes pratiques de développement PHP Pascal MARTIN 55 Doc utilisateur : Docbook Format XML Fréquemment utilisé pour les logiciels OSS Documentation de PHP! Plusieurs formats de sortie HTML, PDF, WYSIWYG XMLmind XML Editor Gratuit en version personnelle
56 Bonnes pratiques de développement PHP Pascal MARTIN 56 Docbook exemple <?xml version="1.0" encoding="utf-8"?> <chapter xml:id="language.functions" xmlns=" <title>les fonctions</title> <sect1 xml:id="functions.user-defined"> <title>les fonctions définies par l'utilisateur</title> <para> Une fonction peut être définie en utilisant la syntaxe suivante : </para> <para> <example> <title>pseudo code pour illustrer l'usage d'une fonction</title> <programlisting role="php"> <![CDATA[ <?php function foo($arg_1, $arg_2, /*..., */ $arg_n) { echo "Exemple de fonction.\n"; return $retval; }?> ]]> </programlisting> </example> </para>
57 Bonnes pratiques de développement PHP Pascal MARTIN 57 Procédures Documentation «technique» Procédure d'installation Procédure de mise à jour Doivent être Connues de tous Maintenues à jour! Quelle forme? Fiches wiki?
58 Intégration continue
59 «Ça fait une semaine qu'on essaye de scotcher les composants ensemble ; y'a rien qui marche ;-(»
60 Bonnes pratiques de développement PHP Pascal MARTIN 60 Intégration Continue? Intégration fréquente Du travail de tous les membres de l'équipe Au moins une fois par jour Build automatique Tests Automatisés Vérifications Normes de codage Construction Documentation Archives
61 Bonnes pratiques de développement PHP Pascal MARTIN 61 Pourquoi de l'ic? Environnement stable Savoir où en est le projet Qualité / Quantité Composants développés Diminution des risques liés à l'intégration Devient un «non-événement» Détection de régressions Facilitée par les Tests Automatisés
62 Bonnes pratiques de développement PHP Pascal MARTIN 62 Plateforme d'ic Outil réalisant le build Interface «user-friendly» Historisation De tous les builds Y compris documentation, rapports,... Reporting Via l'interface Par mails Pas besoin de «tout» mettre en place!
63 Bonnes pratiques de développement PHP Pascal MARTIN 63 phpundercontrol phpundercontrol Basé sur CruiseControl / Ant Intégration des outils communs en PHP SVN PHPUnit + Xdebug PhpDocumentor PHP_CodeSniffer
64 Bonnes pratiques de développement PHP Pascal MARTIN 64 phpuc screenshot
65 Bonnes pratiques de développement PHP Pascal MARTIN 65 phpuc screenshot
66 Bonnes pratiques de développement PHP Pascal MARTIN 66 phpuc screenshot
67 Bonnes pratiques de développement PHP Pascal MARTIN 67 phpuc screenshot
68 Bonnes pratiques de développement PHP Pascal MARTIN 68 PIC chez SQLI Un des projets présentés au Forum cette année Allez faire un tour sur le stand! Basée sur phpundercontrol Avec plus de fonctionnalités Intégration des rapports de Zend Platform Utilisée sur les projets au Forfait à Paris Et composants utilisés sur certains projets dans d'autres agences
69 Bonnes pratiques de développement PHP Pascal MARTIN 69 Autres solutions? Liberté de choix ;-) Xinc Hudson Sismo
70 Déploiement
71 «Pierre est en vacances ; on ne peut pas livrer, on ne sait pas comment il fait d'habitude»
72 Bonnes pratiques de développement PHP Pascal MARTIN 72 Avant de commencer Suivez une procédure de déploiement clairement définie Ne bossez pas directement en production! Utilisez un serveur de tests, proche de la production Mêmes versions de logiciels, Même OS. Gardez trace de ce que vous livrez Contrôle de sources : «tag»
73 Bonnes pratiques de développement PHP Pascal MARTIN 73 Exemple de processus Développements Tests interne sur serveur d'intégration Tests + Validation interne Tag «production» Déploiement sur serveur de tests client Tests + Validation client Déploiement sur serveur de production Tests
74 Bonnes pratiques de développement PHP Pascal MARTIN 74 Automatiser le déploiement Déploiement automatique Moins de risque d'erreur de manipulation Genre «oubli d'une étape» Réalisable par n'importe qui Évite d'être bloqué en cas d'absence Documenté! Tests Automatiques aussi! Simples, rapides mais nécessaires
75 Bonnes pratiques de développement PHP Pascal MARTIN 75 Outils? Simples shell-scripts Ant / phing Package pear.deb /.rpm Lien symbolique Qui pointe sur la version actuelle Objectif : retour arrière facilité Ne pas écraser l'ancienne version
76 Bonnes pratiques de développement PHP Pascal MARTIN 76 Et après? Application en production Mais ce n'est pas fini! Monitorer Les serveurs Le fonctionnement de l'application Les logs
77 Encore un peu?
78 «WTF???»
79 Bonnes pratiques de développement PHP Pascal MARTIN 79 Veille Techno / curiosité Nous ne sommes pas seuls au monde Suivre l'actualité De PHP Des composants / logiciels Internet = source de savoir Flux RSS Twitter Événements Participez!
80 Bonnes pratiques de développement PHP Pascal MARTIN 80 Formation / Explications Plein de bonnes pratique C'est bien! Expliquer comment / pourquoi C'est mieux! Malgré «la crise» Investissement Qualité des projets Gain à moyen / long terme
81 Bonnes pratiques de développement PHP Pascal MARTIN 81 A Vous! Qualité processus continu Mise en place : progressive! Quelques bases Puis d'autres Et encore d'autres Laisser le temps De se familiariser D'apprécier
82 Pascal MARTIN SQLI Merci!
COMPÉTENCES TECHNIQUES
André RIHANI, 43 ans DEUG A (MPM), 1993 Anglais courant 06.15.30.08.31 [email protected] DÉVELOPPEUR PHP ORANGE: Développeur LAMP (Linux, Apache, MySql, Php) durant 7 ans, tests unitaires et fonctionnels,
Architecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i
Modernisation IBM i Nouveautés 2014-2015 IBM Power Systems - IBM i 19 et 20 mai 2015 IBM Client Center, Bois-Colombes S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Mardi
Introduction MOSS 2007
Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas
Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.
Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience Profil Expert SYMFONY 2 / ZEND Etude et modélisation UML Montée en charge / Compétence Sécurité / Authentification
Joomla! Création et administration d'un site web - Version numérique
Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique
INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30
Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité
Environnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut [email protected] http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Serveur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS. 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage
STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage m invite à faire une étude sur les outils qui seraient utilisés. Sites
Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS
Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team
Outils de développement collaboratif
Outils de développement collaboratif Envol 2012 Olivier Thauvin 24 janvier 2013 Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 1 / 80 1 Avant Propos 2 Versionner 3 Communiquer 4 Documenter
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
Par l'exemple de. Laurent Destailleur
Bonnes pratiques Par l'exemple de Laurent Destailleur Objectifs et plan de la présentation Présenter les pratiques PHP et règles de l'art du développement PHP, avec retour d'expérience Principe de la présentation
Alfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: [email protected] Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn
1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse
Environnements de développement (intégrés)
Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut [email protected] http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience
N0033 INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O 30 ans - 6 ans d'expérience Expert ises mét iers : Langues : Editeur de logiciels, E- Commerce Vietnamien (Langue maternelle), Anglais (Débutant)
Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.
Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...
Projet de développement
Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application
Loïc Rossignol Ingénieur Consultant
FORMATION & DIPLOMES 2012 2013 3IL (Limoges) 2011 CS2I Bourgogne (Groupe 3IL) 2008 Lycée Raoul Follereau (Nevers) Master 2 Manager des systèmes d information et des infrastructures European Master of Science
Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.
Plan global Outils de développement et compilation Git : gestion de code source et versionnement Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 1 Historique 2 Git 3 Pour
Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s
Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN
Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement
Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons
TP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8
SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,
Construire un réseau social avec Symfony Xavier Lacot Clever Age. Symfony Live 11 et 12 juin 2009 Clever Age Xavier Lacot
Construire un réseau social avec Symfony Xavier Lacot Clever Age Plan de présentation 1. Qu'est-ce qu'un réseau social? 2. Pourquoi Symfony pour un réseau social? 3. Architecture et protocoles 4. Mise
La magie de SVN. Découverte & usage du logiciel
La magie de SVN Découverte & usage du logiciel Menu I) SVN, qu'est-ce que c'est? 2) Comment utiliser SVN? 3) Que faire en cas de problème avec SVN? I) SVN, Qu'est-ce? -Un projet impliquant plusieurs personnes
Les Bonnes PRATIQUES DU TEST LOGICIEL
Les Bonnes PRATIQUES DU TEST LOGICIEL SOMMAIRE Qu est-ce que le test logiciel? Pourquoi le test est-il un maillon crucial de l ingénierie logicielle? Quels sont les différents types de tests? Qu est-ce
RMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Mysql. Les requêtes préparées Prepared statements
Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX Network Shutdown Module
Reporting Services - Administration
Reporting Services - Administration Comment administrer SQL Server Reporting Services Cet article a pour but de présenter comment gérer le serveur depuis le "portail" de Reporting Services. Nous verrons
Systèmes de gestion de code source
Systèmes de gestion de code source Matthieu Herrb CNRS-LAAS Envol, 22 octobre 2008 http://www.laas.fr/~matthieu/talks/envol08-sgv.pdf Agenda 1 Introduction 2 Concepts d un système de gestion de version
TP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures
3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures Objectif global : A l issue de la formation, les stagiaires doivent être opérationnels dans la création d un site internet
Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality
Intervenants Thomas d'erceville Project Manager Christian NGUYEN Practice Manager IT Quality 2 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels 1. Contexte général des tests mobiles
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015
INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015 Question #1 Quelle technique de mise sous test devons-nous utiliser si nous voulons simuler le comportement d'une
Créer un rapport pour Reporting Services
Créer un rapport pour Reporting Services Comment créer des rapports pour SSRS Maintenant que nous avons vu que la version de SQL Server 2005 Express Edition with Advanced Services intègre SQL Server Reporting
SQL Server Installation Center et SQL Server Management Studio
SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server
BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais
BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3
Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2
Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons
Devenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Formation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Serveur de travail collaboratif Michaël Hoste -
Serveur de travail collaboratif Michaël Hoste - Table des matières 1. Qu'est ce qu'un serveur de travail collaboratif?...2 2. Pourquoi ce projet?...2 3. Possibilités d'utilisation dans le cadre de l'université...3
Auteur LARDOUX Guillaume Contact [email protected] Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA
Auteur LARDOUX Guillaume Contact [email protected] Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Sommaire 1. Introduction 2. Installation 3. Fonctionnement 4. Développement 5. Démonstration 2
Plateforme Applicative Zend PHP Cloud
Plateforme Applicative Zend PHP Cloud Kevin Schroeder Évangéliste Présenté par Maurice Kherlakian Consultant services professionnels À propos de Kevin Passé : Programmation/Admin. réseau Actuellement :
Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
OFFRES DE STAGE 2014 / 2015
OFFRES DE STAGE 2014 / 2015 Sommaire I. QUI SOMMES-NOUS?... 4 SQLI, un Groupe international créateur de valeurs... 4 L'expérience : NOTRE FIL ROUGE... 4 II. INNOVATION : L EXPERIENCE CREATIVE... 5 La recherche
PHP et le Cloud. All rights reserved. Zend Technologies, Inc.
PHP et le Cloud Les plateformes de cloud IAAS PAAS SAAS Applications Applications Applications Runtimes Sécurité et intégration Base de données Runtimes Sécurité et intégration Base de données Runtimes
Documentation technique
Documentation technique Documentation technique Destinataires : Direction EIP Nom du fichier : 2011_TD1_FR_Symbiosys.odt Promotion : 2011 (Epitech 5) Date de création : 10.04.2009 Chef de groupe : Manfred
Nouveautés joomla 3 1/14
Nouveautés joomla 3 1/14 Table des matières 1 Responsive... 1 2 Bootstrap... 1 3 LESS CSS intégré... 1 4. JUI (pour les développeurs d'extensions)... 1 5. Le Mambo days vs le Génial UX... 2 6. 7 étapes
Le stockage local de données en HTML5
Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,
L Intégration Continue & Agilité
L Intégration Continue & Agilité " des outils efficaces. " Agile NANTES - Mars 2010 17/03/2010 Agile Nantes Introduction Qui sommes nous? Fabian PIAU [email protected] Ingénieur développement chez
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Petite définition : Présentation :
Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise
Automatisation de l administration système
Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications
Paul FLYE SAINTE MARIE
Paul FLYE SAINTE MARIE ASSISTANT CHEF DE PROJET DANS LE DÉVELOPPEMENT INFORMATIQUE Domaines de compétences Conduite de projet (échange avec la maitrise d ouvrage, maitrise d œuvre, rédaction des spécifications
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,
Serveur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
les techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château
Rappel TP3 Intégration de pratiques agiles En direct-live du château 40 41 Scénario d intégration agile 1. User Stories (1) 1. Rédiger les User Stories (exigences) 2. Planifier les Itérations (quoi / quand)
1/15. Jean Bernard CRAMPES Daniel VIELLE
1/15 Jean Bernard CRAMPES Daniel VIELLE CaseOnCloud est un SaaS de gestion de projets de développement logiciel CaseOC est : Multi démarches : MACAO MACAO Agile SCRUM Suivi d'aucune démarche particulière
Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée
Hudson Serveur d Intégration Continue IR3 Ingénieurs2000, Université de Marne la Vallée Hudson 1. Qu est-ce que s est? 2. A quoi ça sert? 3. Comment ça fonctionne? 4. Comment s en sert-on? 5. Pour aller
Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration
Fonctions Synchronisation dynamique des fichiers : mise à jour automatique des documents sur tous les équipements Partage et collaboration : partage simple des fichiers entre employés, clients et partenaires
Corrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Expert technique J2EE
EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture
Catalogue Formation «Vanilla»
Catalogue Formation «Vanilla» Date : octobre 2009 Table des matières Liste des Formations...2 Contenu des formations...3 Vanilla FastTrack...3 Vanilla Architecture...5 Enterprise Services...6 BIPortail...7
Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur
Qu est ce que Visual Guard Authentification Vérifier l identité d un utilisateur Autorisation Qu est-ce qu un utilisateur peut faire dans l application Audits et rapports Fonctionnalités d Audit et de
CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1
CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table
Création d un service web avec NetBeans 5.5 et SJAS 9
Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...
Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS
Les tableaux de bord de pilotage de nouvelle génération Sommaire PRELYTIS en quelques mots LiveDashBoard : principes directeurs et positionnement La couverture fonctionnelle Démonstration Les packages
Tenrox. Guide d intégration Tenrox-Salesforce. Janvier 2012. 2012 Tenrox. Tous droits réservés.
Tenrox Guide d intégration Tenrox-Salesforce Janvier 2012 2012 Tenrox. Tous droits réservés. À propos de ce guide Le présent guide décrit les procédures nécessaires pour configurer les paramètres d intégration
Application web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Gestion du projet pour qu'il soit pérenne et collaboratif
Gestion du projet pour qu'il soit pérenne et collaboratif Franck Gabarrot Atelier projet Promise les 30 et 31 mars 2015 Paris IPSL CDS ESPRI Public visé dans nos réflexions d'organisation Tout le monde
<Insert Picture Here> La GRC en temps de crise, difficile équilibre entre sentiment de sécurité et réduction des coûts
La GRC en temps de crise, difficile équilibre entre sentiment de sécurité et réduction des coûts Christophe Bonenfant Cyril Gollain La GRC en période de croissance Gouvernance Gestion
Pratique et administration des systèmes
Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de
Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC
Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger
PHP 5.4 Développez un site web dynamique et interactif
Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................
PHP 5. avancé. 3 e édition. Eric Daspet. Cyril Pierre de Geyer. Préface de Damien Seguy
PHP 5 avancé 3 e édition Eric Daspet Cyril Pierre de Geyer Préface de Damien Seguy Annexe Ressources en ligne Une des grandes forces de PHP réside dans la multitude et la diversité des applications existantes.
Préconisations Techniques & Installation de Gestimum ERP
2015 Préconisations Techniques & Installation de Gestimum ERP 19/06/2015 1 / 30 Table des Matières Préambule... 4 Prérequis matériel (Recommandé)... 4 Configuration minimum requise du serveur (pour Gestimum
IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse
IFT287 Exploitation de base de données relationnelles et orientées objet Laboratoire Mon premier programme Java en Eclipse Comment faire? Nous allons utiliser l environnement de travail proposé par Eclipse
http://www.jdl68160.com/informatique/yawcam.htm
Date de publication: le 11/05/2013 Date de modification le : 19/05/2013-20:45 Edition de la version PDF le 20/05/2013 Yawcam est un petit logiciel gratuit, mais très complet, permettant de diffuser/d'enregistrer
Installation et prise en main
TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications
1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7
Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application
Service Déposant: Procédure d installation. Page 1. Service déposant. Procédure d installation Version 2.3
Page 1 Service déposant Procédure d installation Version 2.3 Bourse de Luxembourg juillet 2013 1 Page 2 Sommaire 1. Introduction... 3 2. Pré-requis... 4 2.1. Configuration réseau... 4 2.2. Configuration
Java pour le Web. Cours Java - F. Michel
Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX 3 Network Shutdown Module Network
Méthodes et outils employés pour développer des logiciels libres
Méthodes et outils employés pour développer des logiciels libres Étude basée sur le cas du projet Debian Par Raphaël Hertzog Gérant de Freexian SARL Développeur Debian Présentation du projet Debian Objectif
F. Barthélemy. 17 mai 2005
Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft Virtual Server 2005 R2 Network Shutdown Module Système Principal (hôte) Virtual Server
as Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Documentation CAS à destination des éditeurs
Documentation CAS à destination des éditeurs Sommaire Préambule... 1 Présentation de CAS...2 Intérêt... 2 Fonctionnement de base...2 Synoptique des échanges (1ère connexion)... 2 Synoptique des échanges
CASE-LINUX MAIL - ROUNDCUBE
1 CASE-LINUX MAIL - ROUNDCUBE Introduction Roundcube est un MUA de type webmail. C'est un client IMAP multilingue avec une interface graphique simple et bien organisée. Celle-ci est personnalisable (via
