| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 | <!doctype html><html lang="en">	<head>		<meta charset="utf-8">		<title>reveal.js - The HTML Presentation Framework</title>		<meta name="description" content="A framework for easily creating beautiful presentations using HTML">		<meta name="author" content="Hakim El Hattab" />		<meta name="apple-mobile-web-app-capable" content="yes" />		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />		<link rel="stylesheet" href="css/reveal.min.css">		<link rel="stylesheet" href="css/theme/osi.css" id="theme">		<!-- For syntax highlighting -->		<link rel="stylesheet" href="lib/css/zenburn.css" />		<!-- If the query includes 'print-pdf', use the PDF print sheet -->		<script>			document.write( '<link rel="stylesheet" href="css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );		</script>		<!--[if lt IE 9]>		<script src="lib/js/html5shiv.js"></script>		<![endif]-->	</head>	<body>		<div class="reveal">			<!-- Any section element inside of this container is displayed as a slide -->			<div class="slides">								<section>					<img src="osinet.png"  class="cover-img" style="height: 150px;" />					<div class="cover-osi">					<h1>Drupal en production</h1>					<p></p>					</div>				</section>								<section>				  <section>				    <h2>Hosting</h2>				    				    <h4 class="left">Besoins spécifiques de Drupal</h4>			            <ul class="left">				      <li>PHP : APC cache d'opcodes, mémoire, ligne de commande</li>				      <li>SGBD : charge, serveurs supportés, master/slave vs multi-master, backup</li>				      <li>Accès fichier : Web servers, SGBD</li>				      <li>Caches : Varnish, Memcached, APC User, CDN</li>				      <li>Serveurs additionnels : recherche (SOLR et autres), NoSQL (MongoDB / Redis)</li>			            </ul>				  </section>				  <section>			            <h3>Hosting</h3>			            <h4 class="left">Besoins liés au professionnel</h4>			            <ul class="left">				      <li>Poste Dév</li>				      <li>Intégration</li>				      <li>Préproduction</li>				      <li>Production</li>				      <li>Instance volatiles (tests)</li>			            </ul>				  </section>				  				  <section>			            <h3>Hosting</h3>			            			            <h4 class="left">Typologie</h4>			            <ul class="left">				      <li>Low-cost : mutualisé, VPS</li>				      <li>Cloud public : IaaS (AWS, Rackspace, Heroku), PaaS (Acquia Drupal, Pantheon)</li>				      <li>Professionnel : dédié, cloud privé, cloud hybride, infra propre</li>			            </ul>			            <h4 class="left">Prestataires pro</h4>			            <ul class="left">				      <li>Hébérgeur : MIPS connecté, transit (redondance), climatisation, électricité</li>				      <li>Infogérant : bon fonctionnement, support middleware</li>				      <li>CDN</li>			            </ul>				  </section>				</section>				<section>				  <section>				    <h2>Garantie ou maintenance</h2>				    <h4 class="left">Garantie</h4>			            <ul class="left">				      <li>Généralement incluse			                <ul>					  <li>CAPEX</li>					  <li>Pas obligatoire entre pros</li>					  <li>Couramment 30–90 jours</li>					</ul>				      </li>				      <li>Contenu :			                <ul>					  <li>Corrections anomalies</li>					  <li>Compatibilité MAJ mineures core + contrib</li>					  <li>N'inclut pas les MAJ core + contrib</li>					</ul>				      </li>			            </ul>				  </section>				  <section>			            <h3>Garantie ou maintenance</h3>				    <h4 class="left">Maintenance</h4>			            <ul class="left">				      <li>Optionnelle : OPEX, récurrent</li>				      <li>Contenu			                <ul>					  <li>Réactif : minimum les MÀJ de sécurité et comptabilité, courant toutes les MÀJ mineures</li>					  <li>Proactif : monitoring (baseline, quantitatif, projectif)</li>					  <li>Évolutif : MÀJ majeures (7.x → 8.x), branches n+1, refactoring</li>					</ul>				      </li>				      <li>Réassurance			                <ul>					  <li>Contact du marché</li>					  <li>Formalisation</li>					  <li>Entretien des sources</li>					  <li>Entretien de la doc</li>					</ul>				      </li>			            </ul>				  </section>				</section>				<section>					  <section>				    <h2>Après la V1</h2>				    <h4 class="left">Les MÀJ Drupal</h4>			            <ul class="left">				      <li>Security Advisories</li>				      <li>Releases ordinaires D7</li>				      <li>Contributions (Dev en dév, stable en prod)</li>				      <li>D7 → D8</li>			            </ul>				  </section>				  				  <section>			            <h3>Après la V1</h3>			            <h4 class="left">Suivi</h4>			            <ul class="left">				      <li>Intégrité : fingerprinting</li>				      <li>Métriques techniques : baseline, alertes</li>				      <li>SEO : Analytics				        <ul>				          <li>Vanity Metrics !</li>				          <li>Conversions, CA ...</li>				          <li>Tiers</li>				        </ul>				      </li>			            </ul>				  </section>				  <section>			            <h3>Après la V1</h3>			            <h4 class="left">Changer</h4>			            <ul class="left">				      <li>Révolution</li>				      <li>Incrémental</li>				      <li>A/B</li>				      <li>Feature flip</li>				      <li>Git à la rescousse</li>			            </ul>				  </section>				</section>								<section>					<img src="osinet.png"  class="cover-img" style="height: 150px;" />					<div class="cover-osi">					<h3>Merci !</h3>					<img src="images/druplicon-glow.png" class="cover-img" style="height: 200px;" />					</div>				</section>								<section>										<h2 class="people" style="text-align: center; margin-bottom: 0.8em;">L'équipe OSInet</h2>										<table class="people">					  <tr class="blue">					    <td>Frédéric G. Marand</td>					    <td class="td-middle">Outi Munter</td>					    <td>Brigitte Taïeb</td>					  </tr>					  <tr>					    <td><img src="images/fgm-dublin.jpg"  class="cover-img"></td>					    <td class="td-middle"><img src="images/outi-2.jpg"  class="cover-img"></td>					    <td><img src="images/brigitte.jpg"  class="cover-img"></td>					  </tr>					  <tr style="font-size: 0.78em; opacity: 0.8;">					    <td>Cofondateur et gérant – et spécialiste en programmation système et réseau</td>					    <td class="td-middle">Chef de projet, graphiste et thémeuse</td>					    <td>Directrice commerciale</td>					  </tr>					</table>										<p style="text-align: center;"><a href="http://www.osinet.fr" style="font-size: 1.05em; margin-left: 0;">www.osinet.fr</a></p>									</section>																<!-- DEFAULT SLIDE -->				<section>				  <section>				    <h2></h2>			            <ul>				      <li></li>				      <li></li>				      <li>			                <ul>					  <li></li>					  <li></li>					  <li></li>					</ul>				      </li>			              <li></li>			            </ul>				  </section>				  <section>			            <h3></h3>			            <ul>				      <li></li>				      <li></li>				      <li>			                <ul>					  <li></li>					  <li></li>					  <li></li>					</ul>				      </li>			              <li></li>			            </ul>				  </section>				  <section>			            <h3></h3>			            <ul>				      <li></li>				      <li></li>				      <li>			                <ul>					  <li></li>					  <li></li>					  <li></li>					</ul>				      </li>			              <li></li>			            </ul>				  </section>				</section>																<!-- ################################### END LATEST SLIDE ################################### -->											</div>							<div class="footer"><img src="osinet.png" alt="logo" class="logo" height="70"><span class="footnote">Drupal en production / DGTD / © 2013 OSInet / Licence CC-BY-SA 2.0 France</span></div>		</div>		<script src="lib/js/head.min.js"></script>		<script src="js/reveal.min.js"></script>		<script>			// Full list of configuration options available here:			// https://github.com/hakimel/reveal.js#configuration			Reveal.initialize({				controls: true,				progress: true,				history: true,				center: false,				theme: Reveal.getQueryHash().theme, // available themes are in /css/theme				transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none				// Optional libraries used to extend on reveal.js				dependencies: [					{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },					{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },					{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },					{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },					{ src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },					{ src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }				]			});		</script>	</body></html>
 |