<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://arts-numeriques.codedrops.net/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Arts num&#233;riques</title>
	<link>https://arts-numeriques.codedrops.net/</link>
	<description>artsnumeriques est le support des cours de St&#233;phane Noel, professeur &#224; l'&#233;cole de recherche graphique.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://arts-numeriques.codedrops.net/spip.php?id_mot=23&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>&#034;%20location&#034;, jodi, 1995</title>
		<link>https://arts-numeriques.codedrops.net/20location-jodi-1995</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/20location-jodi-1995</guid>
		<dc:date>2010-08-30T17:38:30Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Ascii art</dc:subject>
		<dc:subject>Art du code</dc:subject>
		<dc:subject>Net art</dc:subject>
		<dc:subject>(X)html</dc:subject>
		<dc:subject>Jodi</dc:subject>

		<description>&lt;p&gt;%location est donc, c&#244;t&#233; public, une page noire au caract&#232;res verts clignotants. C&#244;t&#233; code, on y d&#233;couvre le plan de la deuxi&#232;me et troisi&#232;me bombes atomiques, celles qui sont tomb&#233;es sur Hiroshima et Nagasaki, et une illustration de la fission nucl&#233;aire.&lt;/p&gt;

-
&lt;a href="https://arts-numeriques.codedrops.net/-Catalogue-virtuel-" rel="directory"&gt;Catalogue virtuel&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-Ascii-art-+" rel="tag"&gt;Ascii art&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Art-du-code-+" rel="tag"&gt;Art du code&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Net-art-+" rel="tag"&gt;Net art&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-X-html-+" rel="tag"&gt;(X)html&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Jodi-+" rel="tag"&gt;Jodi&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH88/arton236-cd9f7.png?1726838351' class='spip_logo spip_logo_right' width='150' height='88' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;%location est donc, c&#244;t&#233; public, une page noire au caract&#232;res verts clignotants. C&#244;t&#233; code, on y d&#233;couvre le plan de la deuxi&#232;me et troisi&#232;me bombes atomiques, celles qui sont tomb&#233;es sur Hiroshima et Nagasaki, et une illustration de la fission nucl&#233;aire.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Lorsque Joan Heemskerk et Dirk Paesmans abordent le net art au milieu des ann&#233;es 90, ils ont un background de photographe et de vid&#233;aste. Personne n'a d'ailleurs de background en web : le medium &#034;net&#034; existe depuis quelques ann&#233;es et son acc&#232;s au priv&#233; est tr&#232;s r&#233;cent. Se gardant bien d'une approche technicienne du html, ils apprendront chaque fois ce qu'il faut pour bricoler des projets d'une esth&#233;tique minimaliste, brutale, faite de couleurs primaires, de gifs anim&#233;s criards et de times new roman. Alors que le web cherche son ergonomie, le duo s'int&#233;resse &#224; l'esth&#233;tique de l'erreur, du mauvais affichage, qu'en tant qu'internaute des d&#233;buts du net ils rencontrent sans cesse et que le reste du monde combat : les webmestres, les pourvoyeur d'acc&#232;s, tous vantent le web comme le media fiable et omniscient du 21eme si&#232;cle.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_330 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH314/jodi-scratch-8a85f.png?1735800599' width='500' height='314' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Les Jodi, et avec eux les net artistes (Lialina, Shulgin, Cosik,...), s'int&#233;ressent &#224; l'interface cass&#233;e, ses codes esth&#233;tiques, la mani&#232;re dont elle affecte l'internaute. Olia Lialina, pionni&#232;re russe, commence &#224; cette &#233;poque une collection de banni&#232;res anim&#233;es sur le th&#232;me du &#034;site en travaux&#034;. Dans le fond, les promesses de partage son bel et bien respect&#233;es : les net artistes des ann&#233;es 90' sont les archivistes et moines copistes du &#034;bad coding&#034;, &#034;bad drawing&#034;, &#034;bad taste&#034; de l'&#233;poque, que le web 2.0 a jet&#233; aux oubliettes.&lt;/p&gt;
&lt;p&gt;C'est que le web est un m&#233;dium pauvre et tout le milieu de l'art des ann&#233;es 90' crie sa laideur. Les &#233;crans sont petits, les r&#233;solutions minables, les couleurs limit&#233;es. Or, une des vieilles r&#232;gles de la modernit&#233; est que lorsque tout le monde est d'accord pour dire que quelque chose est laid, alors c'est qu'il s'y passe quelque chose d'int&#233;ressant. En cela, les Jodi sont proche de Dada, de Fluxus, des artistes pop dans leur utilisation du mat&#233;riau le plus disponible de leur temps, de Duchamp et ses ready-made, objets choisis parce que personne ne leur accorde de cr&#233;dit esth&#233;tique.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://wwwwwww.jodi.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;%20location&lt;/a&gt; fait partie d'une s&#233;rie de travaux li&#233;s &#224; l'ascii art. Basiquement, &lt;a href=&#034;http://fr.wikipedia.org/wiki/Art_ASCII&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;l'ascii art&lt;/a&gt; consiste &#224; dessiner avec des signes (lettres, chiffres, num&#233;ros et autre glyphes disponibles sur un clavier). La pratique n'est pas nouvelle, il existait &#224; la grande &#233;poque de la machine &#224; &#233;crire un &#034;typewriter art&#034; (ou &#034;keyboard art&#034;). Mais cette pratique a &#233;t&#233; relanc&#233;e par le web car les images sont peu disponibles et les vitesses de connexion trop lentes.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_328 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH839/flag-f4708.jpg?1735800600' width='500' height='839' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Joan Heemskerk et Dirk Paesmans vont collecter un grand nombre de ces dessins et les placer directement dans le code de pages web. Le html poss&#232;de en effet deux faces : le &#034;code source&#034; qui le contenu re&#231;u par le navigateur, et la &#034;page&#034;, qui est le r&#233;sultat de l'analyse de ce code. &lt;br class='autobr' /&gt;
La quasi-totalit&#233; des langages de programmation rendent quasi-impossible - et ill&#233;gal - la lecture de leur code source, mais pas le web : le code source d'une page web est visible pour le visiteur sur simple clic.&lt;/p&gt;
&lt;p&gt;Le code source et la page n'ont pas le m&#234;me comportement visuel : couleurs, typographies, retours &#224; la ligne suivent des r&#232;gles diff&#233;rentes : d'une part des &#233;l&#233;ments d&#233;crits pour une machine, de l'autre une interface pour l'utilisateur. Les Jodi brise le lien logique en donnant des images &#224; lire comme code source, ce qui fait apparaitre au lecteur un ensemble de signes incompr&#233;hensibles. Le dessin devient donc un secret cach&#233; dans le code, que seuls quelques curieux peuvent d&#233;couvrir.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_329 spip_documents spip_documents_center'&gt; &lt;a href=&#034;http://wwwwwww.jodi.org/&#034; class=&#034;spip_out&#034;&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH414/jodi-page-location-5a434.png?1735800600' width='500' height='414' alt=&#034;&#034; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://wwwwwww.jodi.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;%20location&lt;/a&gt; est donc, c&#244;t&#233; public, une page noire au caract&#232;res verts clignotants. C&#244;t&#233; code, on y d&#233;couvre le plan de la deuxi&#232;me et troisi&#232;me bombes atomiques, celles qui sont tomb&#233;es sur Hiroshima et Nagasaki, et une illustration de la fission nucl&#233;aire.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_327 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH525/jodi-code-77f01.png?1735800600' width='500' height='525' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Le travail du duo Jodi explore de mani&#232;re g&#233;n&#233;rale les failles techniques sp&#233;cifiques aux outils num&#233;riques usuels. CD-Rom, operatings systems, interfaces webs... Ils nous apprennent que les erreurs, les malfonctionnements, sont souvent ce qu'il y a de plus sp&#233;cifique aux objets techniques, ce qui au fond fait leur identit&#233;, leur histoire. Que ce soit &lt;a href=&#034;http://maxpaynecheatsonly.jodi.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;les erreurs du moteur 3D du jeu &#034;Max Payne&#034;&lt;/a&gt; ou les gadgets embarqu&#233;s dans Mac os X, leurs exp&#233;rimentations s'attachent &#224; des logiciels pr&#233;cis, dont ils ne deviennent pas les sp&#233;cialistes mais les utilisateurs les plus malicieux. Leurs oeuvres sont donc difficilement archivables : les versions de logiciels se succ&#232;dent, corrigeant des bugs, en cr&#233;ant de nouveaux. &#034;%location&#034; est une des rares pi&#232;ces encore consultables &#034;en conditions r&#233;elles&#034;, m&#234;me si son code est consid&#233;r&#233; comme obsol&#232;te par les navigateurs contemporains.&lt;/p&gt;
&lt;p&gt;Lire aussi mon article sur le blog codedrops &lt;a href=&#034;http://codedrops.net/blog/?p=153&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&#034;Jodi : contre l'interface&#034;&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Ecrire des graffittis avec jquery, php et mysql</title>
		<link>https://arts-numeriques.codedrops.net/Plus-ecrire-des-graffittis-avec</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/Plus-ecrire-des-graffittis-avec</guid>
		<dc:date>2008-12-08T23:27:33Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Javascript</dc:subject>
		<dc:subject>(X)html</dc:subject>
		<dc:subject>Php</dc:subject>
		<dc:subject>CSS</dc:subject>
		<dc:subject>Ajax</dc:subject>

		<description>
&lt;p&gt;Un exemple simple et complet : intervenir sur une page en cliquant dessus, sauvegarder le r&#195;&#169;sultat dans une base de donn&#195;&#169;e pour pouvoir les afficher au rechargement de la page. &lt;br class='autobr' /&gt; Ce code est perfectible : on peut imaginer pouvoir demander une image au lieu d'&#195;&#169;crire du texte, de fabriquer une texte en image avec gd2, de choisir une couleur, de naviguer dans la profondeur des messages, de recharger r&#195;&#169;guli&#195;&#168;rement la page en ajax pour en faire un esp&#195;&#168;ce de chat... &lt;br class='autobr' /&gt;
1) La page (&#8230;)&lt;/p&gt;


-
&lt;a href="https://arts-numeriques.codedrops.net/-Exemples-67-" rel="directory"&gt;Exemples&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-Javascript-+" rel="tag"&gt;Javascript&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-X-html-+" rel="tag"&gt;(X)html&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Php-+" rel="tag"&gt;Php&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-CSS-+" rel="tag"&gt;CSS&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Ajax-+" rel="tag"&gt;Ajax&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Un exemple simple et complet : intervenir sur une page en cliquant dessus, sauvegarder le r&#195;&#169;sultat dans une base de donn&#195;&#169;e pour pouvoir les afficher au rechargement de la page.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Ce code est perfectible : on peut imaginer pouvoir demander une image au lieu d'&#195;&#169;crire du texte, de fabriquer une texte en image avec gd2, de choisir une couleur, de naviguer dans la profondeur des messages, de recharger r&#195;&#169;guli&#195;&#168;rement la page en ajax pour en faire un esp&#195;&#168;ce de chat...&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;1) La page d'initialisation de la base de donn&#195;&#169;e&lt;/h2&gt;
&lt;p&gt;On externalise cette part du code pour la r&#195;&#169;employer 2 fois.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;?php // ouverture de la connexion - ici pour mamp - $hote=&#034;localhost&#034;; $utilisateur=&#034;root&#034;; $password=&#034;root&#034;; // ouverture de la connexion $connexion = mysql_connect($hote,$utilisateur,$password); // ici il faudrait pour &#195;&#170;tre complet tester que la base existe, au besoin la creer // si vous utilisez ce script, vous devez donc cr&#195;&#169;er manuellement la table mysql_tests dans phpmyadmin mysql_select_db('mysql_page',$connexion); // on teste pour voir si la base existe $requete=&#034;SELECT * FROM elements;&#034;; $requete=mysql_query($requete,$connexion); // si la table n'existe pas, la cr&#195;&#169;er if (!$requete){ // contient un id auto-incrementiel, $requete=&#034;CREATE TABLE elements (id int(7) NOT NULL auto_increment, type varchar(255), contenu TEXT, style varchar(255), date datetime, PRIMARY KEY (id))&#034;; mysql_query($requete,$connexion); } ?&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;2) La page elle-m&#195;&#170;me&lt;/h2&gt;
&lt;p&gt;Contient les fonctions qui cr&#195;&#169;e le formulaire et fait la requ&#195;&#170;te ajax, plus le listage des messages d&#195;&#169;j&#195; &#195;&#169;crit au chargement.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;!DOCTYPE html PUBLIC &#034;-//W3C//DTD XHTML 1.0 Transitional//EN&#034; &#034;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#034;&gt; &lt;html xmlns=&#034;http://www.w3.org/1999/xhtml&#034;&gt; &lt;head&gt; &lt;meta http-equiv=&#034;Content-Type&#034; content=&#034;text/html;charset=utf-8&#034; /&gt; &lt;title&gt;Add your comment on the metawall&lt;/title&gt; &lt;link rel=&#034;stylesheet&#034; type=&#034;text/css&#034; href=&#034;style.css&#034; /&gt; &lt;script type=&#034;text/javascript&#034; src=&#034;jquery.js&#034;&gt;&lt;/script&gt; &lt;script type=&#034;text/javascript&#034;&gt; $(document).ready(function(){ $(&#034;html&#034;).click(function(coordonees){ $(&#034;.clicform&#034;).remove(); $(&#034;body&#034;).append(&#034;&lt;div class='clicform contenu' style='top:&#034; + coordonees.pageY + &#034;px;left:&#034; + coordonees.pageX + &#034;px'&gt;&lt;textarea id='letexte'&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;div class='validbutton' onClick='javascript:soumettexte();'&gt;Envoyer&lt;/div&gt;&lt;/div&gt;&#034;); $(&#034;.clicform textarea&#034;).focus(); $(&#034;body .clicform&#034;).click(function(){ return false; }); }); }); function soumettexte(){ var contenu=$(&#034;.clicform textarea&#034;).attr(&#034;value&#034;); if(contenu !=&#034;&#034;){ style=$(&#034;.clicform&#034;).attr(&#034;style&#034;); $.ajax({ type: &#034;POST&#034;, url: &#034;update_page.php&#034;, data: &#034;style=&#034; + style + &#034;&amp;entrer=oui&amp;contenu=&#034; + contenu, success: function(msg){ //alert( &#034;Data Saved: &#034; + msg ); } }); } $(&#034;.clicform&#034;).each(function(){ $(this).html(contenu); $(this).removeClass(&#034;clicform&#034;); }); return false; } &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;?php include('init_base.php'); $larequete=&#034;SELECT * FROM elements&#034;; $requete = mysql_query($larequete,$connexion); $total = mysql_num_rows($requete); if ($total) { while($row = mysql_fetch_array($requete)) { // ecriture les elements depuis la db echo &#034;&lt;div class=\&#034;contenu\&#034; style=\&#034;&#034;.$row['style'].&#034;\&#034; &gt;&#034;.stripslashes($row['contenu']).&#034;&lt;/div&gt;\n&#034;; } } ?&gt; &lt;/body&gt; &lt;/html&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;3) La page qui entre les message dans la db&lt;/h2&gt;
&lt;p&gt;Cette page est appell&#195;&#169;e par jquery. Ce code de d&#195;&#169;mo n'est pas d&#195;&#169;gradable. Son activation par cliquer-pointer est trop appuy&#195;&#169; sur le javascript pour l'&#195;&#170;tre...&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;?php include('init_base.php'); // initialiser la variable message $message=&#034;&#034;; // tester que post contient ce qui nous interesse, c'est &#195; dire au moins une array associative &#034;entrer&#034; // traiter ce qui a &#195;&#169;t&#195;&#169; envoy&#195;&#169; par le formulaire if(isset($_POST['entrer'])){ // on s&#195;&#169;curise le contenu avec addslashes $contenu=addslashes($_POST['contenu']); $style=addslashes($_POST['style']); // on pr&#195;&#169;pare une date $date = date(&#034;Y-m-d H:m:s&#034;); // on ins&#195;&#168;re $requete=&#034;INSERT INTO elements ( type,contenu,style,date ) VALUES ('texte','$contenu', '$style', '$date')&#034;; $envoi=mysql_query($requete,$connexion); // si c'est reussi, le dire dans le message if($envoi){ echo &#034;Nouveau contenu entr&#195;&#169;&#034;; } } ?&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;4) Les styles css&lt;/h2&gt;
&lt;p&gt;Dans le fichier style.css, quelques lignes.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;body { font-family:arial, sans-serif; font-size:11px; } .clicform { background-color:#fff; border:1px solid #ccc; } .clicform textarea{ heigth:4em; } .contenu { position:absolute; } .clicform textarea, .contenu { font-size:21px; font-weight:bold; color: #666; width:200px; } .validbutton { font-size:12px; }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ajouter &#195; ceci &#195;&#169;videmment la librairie &lt;a href='https://arts-numeriques.codedrops.net/jQuery'&gt;http://jquery.com&lt;/a&gt;...&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://arts-numeriques.codedrops.net/IMG/zip/infinite_grafitti_wall.zip" length="19813" type="application/zip" />
		

	</item>
<item xml:lang="fr">
		<title>Un navigateur automatique avec opendir et jquery</title>
		<link>https://arts-numeriques.codedrops.net/Plus-un-navigateur-automatique</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/Plus-un-navigateur-automatique</guid>
		<dc:date>2008-11-26T00:11:35Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Javascript</dc:subject>
		<dc:subject>(X)html</dc:subject>
		<dc:subject>Php</dc:subject>
		<dc:subject>Ajax</dc:subject>

		<description>&lt;p&gt;Une application simple, melant php et jquery, permettant avec un seul fichier de naviguer dans les pages html d'un dossier. Ce script fabrique un menu d&#195;&#169;roulant comprenant toutes les pages html trouv&#195;&#169;es dans le dossier o&#195;&#185; il est d&#195;&#169;pos&#195;&#169; avec php, et permet d'afficher le contenu de ces pages sans rechargement gr&#195;&#162;ce &#195; jquery.&lt;/p&gt;

-
&lt;a href="https://arts-numeriques.codedrops.net/-Exemples-67-" rel="directory"&gt;Exemples&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-Javascript-+" rel="tag"&gt;Javascript&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-X-html-+" rel="tag"&gt;(X)html&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Php-+" rel="tag"&gt;Php&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Ajax-+" rel="tag"&gt;Ajax&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Une application simple, melant php et jquery, permettant avec un seul fichier de naviguer dans les pages html d'un dossier. Ce script fabrique un menu d&#195;&#169;roulant comprenant toutes les pages html trouv&#195;&#169;es dans le dossier o&#195;&#185; il est d&#195;&#169;pos&#195;&#169; avec php, et permet d'afficher le contenu de ces pages sans rechargement gr&#195;&#162;ce &#195; jquery.&lt;br class='manualbr' /&gt;Ce code a &#195;&#169;t&#195;&#169; produit pour un besoin personnel, il n'est pas d&#195;&#169;gradable.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Voici le code php/html/javascript complet. Pour le faire fonctionner, il faut placer le fichier de la librairie jquery avec comme nom &#034;jquery.js&#034; dans un dossier &#034;includes&#034;. Ceci pour clairement s&#195;&#169;parer dans le dossier les pages html des autres &#195;&#169;l&#195;&#169;ments. Le script php ne s&#195;&#169;lection que les pages html, mais tout de m&#195;&#170;me, c'est plus propre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le dossier zipp&#195;&#169; reprend tout &#195;&#167;a.&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;!DOCTYPE html PUBLIC &#034;-//W3C//DTD XHTML 1.0 Transitional//EN&#034; &#034;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#034;&gt;
&lt;html xmlns=&#034;http://www.w3.org/1999/xhtml&#034;&gt;
&lt;head&gt;
&lt;meta http-equiv=&#034;Content-Type&#034; content=&#034;text/html;charset=utf-8&#034;/&gt;
&lt;title&gt;Presentation technique et technologie - St&#195;&#169;phane No&#195;&#171;l&lt;/title&gt;
&lt;script type=&#034;text/javascript&#034; src=&#034;include/jquery.js&#034;&gt;&lt;/script&gt;
&lt;link rel=&#034;stylesheet&#034; type=&#034;text/css&#034; href=&#034;include/styles.css&#034;/&gt;
&lt;script type=&#034;text/javascript&#034;&gt;
$(document).ready(function(){ // quand la page est entierement chargee // on ajoute un script qui se d&#195;&#169;clenche lorsque l'on change la valeur du selecteur $(&#034;#selecteur&#034;).change(function(){ var lien=$(&#034;#selecteur option:selected&#034;).attr(&#034;value&#034;); pompe(lien); }); // au d&#195;&#169;marrage de la page rien n'est charge, // alors on s&#195;&#169;lectionne le premier element du menu deroulant var lien=$(&#034;#selecteur option:first&#034;).attr(&#034;value&#034;); pompe(lien); }); function pompe(lien){ // requete ajax $.ajax({ url: lien, cache: false, success: function(html){ // si c'est reussi, la page est dans la variable html // recupere le titre avec la fonction split et une expression reguliere var stitre = new RegExp('&lt;title[^&gt;]*&gt;|&lt;/title&gt;', 'gi'); var titre = html.split(stitre); document.title = titre[1]; // recupere le contenu de body avec la fonction split et une expression reguliere var regcorps=new RegExp('&lt;body[^&gt;]*&gt;|&lt;/body&gt;', 'gi'); var corps=html.split(regcorps); $(&#034;#visualisateur&#034;).html(corps[1]); // place le selecteur au bon endroit $('#selecteur option:selected').selected=false; $(&#034;#selecteur option[@value='&#034; + lien + &#034;']&#034;).attr(&#034;selected&#034;,&#034;selected&#034;); } });
} function next() { // prend dans le selecteur la valeur de l'option suivant var lien=$(&#034;#selecteur option:selected&#034;).next().attr(&#034;value&#034;); if(lien){ pompe(lien); } } function prec() { // prend dans le selecteur la valeur de l'option precedent var lien=$(&#034;#selecteur option:selected&#034;).prev().attr(&#034;value&#034;); if(lien){ pompe(lien); } }
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&#034;headselection&#034;&gt;
&lt;?php // read all html file in the current directory if ($dh = opendir('./')) { $files = array(); while (($file = readdir($dh)) !== false) { if (substr($file, strlen($file) - 5) == '.html') { array_push($files, $file); } } closedir($dh); } // on trie les fichiers sort($files); // on affiche le menu echo &#034;&lt;select name='selecteur' id='selecteur'&gt;\n&#034;; foreach ($files as $file) { $title = Title($file); // on liste un lien par option en filtrant le nom a afficher echo &#034;&lt;option value=\&#034;$file\&#034;&gt;$title&lt;/option&gt;\n&#034;; } echo &#034;&lt;/select&gt;\n&#034;; // Function to get a human readable title from the filename function Title($filename) { $title = substr($filename, 0, strlen($filename) - 5); $title = str_replace('-', ' ', $title); $title = str_replace('_', ' ', $title); $title = ucwords($title); return $title; }
?&gt; &lt;a href=&#034;javascript:prec();&#034;&gt;Pr&#195;&#169;c&#195;&#169;dent&lt;/a&gt; - &lt;a href=&#034;javascript:next();&#034;&gt;Suivant&lt;/a&gt;
&lt;/div&gt; &lt;div id=&#034;visualisateur&#034;&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://arts-numeriques.codedrops.net/IMG/zip/navigateur_html.zip" length="19409" type="application/zip" />
		

	</item>
<item xml:lang="fr">
		<title>Principales balises en html</title>
		<link>https://arts-numeriques.codedrops.net/Principales-balises-en-html</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/Principales-balises-en-html</guid>
		<dc:date>2008-08-17T21:46:43Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>(X)html</dc:subject>

		<description>&lt;p&gt;Il existe beaucoup de balises html, mais on peut faire ici la liste courte des principales balises employ&#195;&#169;es.&lt;/p&gt;

-
&lt;a href="https://arts-numeriques.codedrops.net/-Le-langage-HTML-" rel="directory"&gt;Le langage HTML&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-X-html-+" rel="tag"&gt;(X)html&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH96/arton82-31a74.png?1726857231' class='spip_logo spip_logo_right' width='150' height='96' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Il existe beaucoup de balises html, mais on peut faire ici la liste courte des principales balises employ&#195;&#169;es.&lt;/p&gt;
&lt;p&gt;Une &lt;a href=&#034;http://www.siteduzero.com/tutoriel-3-13661-liste-des-balises-xhtml.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;liste compl&#195;&#168;te des balises sur le site &#034;le site du zero&#034;&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;En-t&#195;&#170;te de la page&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;meta&lt;/strong&gt; : balise permettant de d&#195;&#169;clarer au navigateur et aux moteurs de recherche des informations importantes : langue, mots-cl&#195;&#169;s, description, auteur, charset (codage du texte).&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;meta http-equiv=&#034;Content-Type&#034; content=&#034;text/html;charset=utf-8&#034;/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;script&lt;/strong&gt; : permet de placer du code (javascript souvent) directement ou dans un fichier attach&#195;&#169;.&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;script src='javascript-public.js' type='text/javascript' language='javascript'&gt;&lt;/script&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;link&lt;/strong&gt; : permet de lier des pages externes : feuilles de style css ou fichiers backend.&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;link href='bloc-video.css' rel='stylesheet' type='text/css' media='screen' /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;style&lt;/strong&gt; : permet de d&#195;&#169;clarer des comportements css directement dans le head.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;style type='text/css'&gt; #bandeau { background-image: url(./IMG/bandeau/bandeau.png); } &lt;/style&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Corps de la page, &#195;&#169;l&#195;&#169;ments de type bloc&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;h1, h2,... h6&lt;/strong&gt; : permettent de d&#195;&#169;clarer des titres, 6 niveaux disponibles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;p&lt;/strong&gt; permet de cr&#195;&#169;er un paragraphe.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ul et li&lt;/strong&gt; permettent de structurer des listes d'&#195;&#169;l&#195;&#169;ment, typiquement la navigation par exemple. Se code comme ceci :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;ul&gt; &lt;li&gt;un element&lt;/li&gt; &lt;li&gt;un autre&lt;/li&gt; &lt;/ul&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ul signifie &#034;unsorted list&#034;, liste non-ordonn&#195;&#169;e. Il existe le couple ol-li pour les listes ordonn&#195;&#169;es (avec des chiffre g&#195;&#169;n&#195;&#169;r&#195;&#169;s automatiquements, ou des lettres). Mais aussi le trio &lt;strong&gt;dl-dd-dt&lt;/strong&gt;. S&#195;&#169;mantiquement, c'est une &lt;i&gt;d&#195;&#169;finition list&lt;/i&gt;, une liste de termes et de leur d&#195;&#169;finition. On code comme &#195;&#167;a :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;dl&gt; &lt;dd&gt;Un terme&lt;/dd&gt; &lt;dt&gt;La d&#195;&#169;finition de ce terme&lt;/dt&gt; &lt;dd&gt;Un deuxi&#195;&#168;me terme&lt;/dd&gt; &lt;dt&gt;La d&#195;&#169;finition de ce deuxi&#195;&#168;me terme&lt;/dt&gt; &lt;/dl&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;div&lt;/strong&gt; est un element de type bloc sans valeur s&#195;&#169;mantique. Il signifie seulement &#034;division&#034;. Il est beaucoup utilis&#195;&#169;, notamment pour structurer les grandes sections de la page (tete de page, navigation, corps et footer).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;table&lt;/strong&gt; permet de structurer un tableau. Trop utilis&#195;&#169; au bon vieux temps du html 4, il est pourtant parfait pour d&#195;&#169;crire de l'info en ligne et colonne. Une table est un objet complexe, avec des ent&#195;&#170;te, des lignes et des colonnes. Voici un exemple de structure simple :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;table&gt; &lt;tr&gt; &lt;!-- Table Row, un rang--&gt; &lt;!-- puis des Table Division &#195; l'interieur (des cellules) --&gt; &lt;td&gt;Un&lt;/td&gt;&lt;td&gt;element&lt;/td&gt;&lt;td&gt;et&lt;/td&gt;&lt;td&gt;un&lt;/td&gt;&lt;td&gt;autre&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;!-- un autre rang--&gt; &lt;td&gt;Un&lt;/td&gt;&lt;td&gt;element&lt;/td&gt;&lt;td&gt;et&lt;/td&gt;&lt;td&gt;un&lt;/td&gt;&lt;td&gt;autre&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Voir ici un &lt;a href=&#034;http://www.siteduzero.com/tutoriel-3-13582-un-tableau-structure.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;article plus complet sur le site du zero&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;form&lt;/strong&gt; permet de d&#195;&#169;finir un formulaire.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;quote&lt;/strong&gt; : s&#195;&#169;mantiquement, une citation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;br&gt;&lt;/code&gt;&lt;/strong&gt; : un retour chariot.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;HTML5 et de nouveaux tags de type &#034;bloc&#034;&lt;/h2&gt;
&lt;p&gt;La norme HTML5 a introduit un certain nombre de nouvelles balises, qui correspondent &#195; des usages r&#195;&#169;currents dans la construction de page web. Ces tags permettent d'&#195;&#169;viter l'emploi du tag &#034;div&#034; qui n'a aucune valeur s&#195;&#169;mantique.&lt;br class='autobr' /&gt;
&lt;strong&gt;section&lt;/strong&gt; permet de rassembler des &#195;&#169;l&#195;&#169;ments connect&#195;&#169;s &#195; m&#195;&#170;me contenu. Par exemple une galerie d'image avec son titre, descriptif et une s&#195;&#169;rie d'image ou un ensemble d'articles dans un blog.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;article&lt;/strong&gt; est vou&#195;&#169; &#195; rassembler un ensemble d'informations reli&#195;&#169;es par un contenu th&#195;&#169;matique commun : par exemple un titre, sous-titre, nom d'auteur, texte et pi&#195;&#168;ces jointes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;header&lt;/strong&gt; est destin&#195;&#169; &#195; contenir un ent&#195;&#170;te soit de toute une page web, soit d'une sous-partie. Un tag &#034;article&#034; peut poss&#195;&#169;der par exemple son tag &#034;header&#034;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nav&lt;/strong&gt; est destin&#195;&#169; &#195; identifier une navigation&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;figure&lt;/strong&gt; est pr&#195;&#169;vu pour contenir une image et un descriptif associ&#195;&#169;, plac&#195;&#169; dans une balise &#034;figcaption&#034;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;footer&lt;/strong&gt; est destin&#195;&#169; &#195; recevoir l'information de base de page, mais comme header il peut s'agir du bas d'un contenu comme un article.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Corps de la page, &#195;&#169;l&#195;&#169;ments de type &#034;inline&#034;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;img&lt;/strong&gt; : &#195; l'affichage, l'&#195;&#169;l&#195;&#169;ment est remplac&#195;&#169; par l'image que pointe son attribut src. &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;img src=&#034;monimage.gif&#034; /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;a&lt;/strong&gt; : d&#195;&#169;finit un lien. Contient un attribut href qui donne l'adresse vers laquelle pointe le lien. &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;a href=&#034;lien.html&gt;texte du lien&lt;/a&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;em&lt;/strong&gt; : s&#195;&#169;mantiquement une emphase. Met en italique une portion de texte dans un texte normal et en normal dans un texte en italique. Remplace la balise &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;i&gt;&lt;/code&gt; d&#195;&#169;pr&#195;&#169;ci&#195;&#169;e.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;strong&lt;/strong&gt; : met en gras une portion de texte. Remplace la balise &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;b&gt;&lt;/code&gt; d&#195;&#169;pr&#195;&#169;ci&#195;&#169;e.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;span&lt;/strong&gt; : &#195;&#169;quivalent de div car s&#195;&#169;mantiquement neutre.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Le html</title>
		<link>https://arts-numeriques.codedrops.net/Le-html-73</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/Le-html-73</guid>
		<dc:date>2008-08-17T19:22:18Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>(X)html</dc:subject>

		<description>&lt;p&gt;Le html est un langage de description (et pas un langage de programmation), ce qui signifie qu'il d&#195;&#169;crit un contenu &#195; un logiciel (le navigateur) charg&#195;&#169; de l'afficher.&lt;/p&gt;

-
&lt;a href="https://arts-numeriques.codedrops.net/-Le-langage-HTML-" rel="directory"&gt;Le langage HTML&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-X-html-+" rel="tag"&gt;(X)html&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH102/arton73-b20d5.png?1726857231' class='spip_logo spip_logo_right' width='150' height='102' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Le html est un langage de description (et pas un langage de programmation), ce qui signifie qu'il d&#195;&#169;crit un contenu &#195; un logiciel (le navigateur) charg&#195;&#169; de l'afficher.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Html, un format brut&lt;/h2&gt;
&lt;p&gt;Une page web un simple fichier texte, proche du format .txt pour le texte. Contrairement &#195; d'autres fichiers comme le format .doc ou le format .rtf, qui sont d'autres formats de texte plus complexe, il y a tr&#195;&#168;s peu d'informations d'en-t&#195;&#170;te ou de formatage invisibles &#195; l'utilisateur. A part quelques informations sur l'encodage, la date de cr&#195;&#169;ation par exemple, tout le reste sera affich&#195;&#169; si on ouvre le fichier avec un simple &#195;&#169;diteur. Contrairement &#195; d'autres format comme le .pdf de Adobe, il ne contient que des donn&#195;&#169;es de type &#034;texte&#034;, et ne contient pas d'images matricielles ou de polices de caract&#195;&#168;re.&lt;br class='autobr' /&gt;
Enfin, le html est une norme ouverte, ce qui signifie que la cr&#195;&#169;ation d'un fichier html ne demande pas un logiciel payant ou un accord de licence.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Le html est s&#195;&#169;mantique&lt;/h2&gt;
&lt;p&gt;Le html est un langage de description. Il entoure un contenu textuel et des liens vers des images ou d'autres pages, qu'il d&#195;&#169;crit s&#195;&#169;mantiquement.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;La s&#195;&#169;mantique est une branche de la linguistique qui &#195;&#169;tudie les signifi&#195;&#169;s, ce dont on parle, ce que l'on veut &#195;&#169;noncer.&lt;/i&gt; (&lt;a href=&#034;https://fr.wikipedia.org/wiki/S%C3%A9mantique&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Wikipedia&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;En tant qu'humains, nous identifions la plupart du temps le sens d'un texte : face &#195; une affiche, nous identifions qu'il s'agit d'une publicit&#195;&#169; et pas d'un mode d'emploi. Nous identifions qu'il s'agit d'une pi&#195;&#168;ce de th&#195;&#169;&#195;&#162;tre, ensuite nous pouvons identifier le titre d'un spectacle, ses acteurs, le lieu de sa pr&#195;&#169;sentation, le prix d'entr&#195;&#169;e, etc. Les navigateurs web ne peuvent faire ce travail : il lisent les textes comme un ensemble continu de caract&#195;&#168;res. Pour pouvoir traiter et afficher les documents, les scientifiques qui ont travaill&#195;&#169; &#195; son d&#195;&#169;veloppement ont invent&#195;&#169; le principe de balisage. Par exemple, ce texte :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;Comprendre le balisage Aidez votre navigateur en associant des balises &#195; votre texte brut.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Est une succession de lettres que nous pouvons identifier mais qu'un navigateur ne peux pas hi&#195;&#169;rarchiser.&lt;br class='autobr' /&gt;
Le code html d&#195;&#169;crit pour les machines la hi&#195;&#169;rarchie du texte, et accompagne sa signification.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;h1&gt;Comprendre le balisage&lt;/h1&gt; &lt;p&gt; Aidez votre navigateur en associant des balises &#195; votre texte brut. &lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En pla&#195;&#167;ant le texte entre une balise ouvrante &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;h1&gt;&lt;/code&gt; et une balise fermante &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;/h1&gt;&lt;/code&gt; on signifie pour le logiciel -navigateur, lecteur braille, analyseur de texte- que le r&#195;&#180;le de cette portion de texte est d'&#195;&#170;tre le titre principal du document. de la m&#195;&#170;me mani&#195;&#168;re, p entoure un paragraphe, c'est &#195; dire une portion coh&#195;&#169;rence de texte. Ce balisage permet un meilleur traitement automatique par les machine (un lecteur sonore fera une courte pause dans la lecture entre deux paragraphe, par exemple, ou le navigateur cr&#195;&#169;era une s&#195;&#169;paration visuelle ).&lt;/p&gt;
&lt;p&gt;Ce balisage a donc aussi un but visuel : il permet au navigateur de l'afficher automatiquement de mani&#195;&#168;re appropri&#195;&#169;e. Ceci &#195;&#169;tait particuli&#195;&#168;rement important aux d&#195;&#169;but du web : les pages &#195;&#169;taient &#195;&#169;crites par des scientifiques pour des scientifiques, et peu d'entre eux avaient envie de travailler le look des pages, mais ils &#195;&#169;taient int&#195;&#169;ress&#195;&#169; &#195; pourvoir y structurer l'information pour une compr&#195;&#169;hension optimale de leurs textes par d'autres scientifiques.&lt;/p&gt;
&lt;p&gt;La base est celle-ci :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;html&gt; &lt;head&gt;&lt;/head&gt; &lt;body&gt;contenu visible de la page&lt;/body&gt; &lt;/html&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On a ici la structure minimale : le fichier commence par dire &#034;ici commence du html&#034; et se termine par &#034;ici s'arr&#195;&#170;te le html&#034;. On fabrique une balise juste en enserrant un mot entre &#034;&lt;&#034; et &#034;&gt;&#034;. En html, le mot doit figurer dans la syntaxe html. &#034;head&#034;, par exemple, signifie que l'on va d&#195;&#169;crire se qui se trouve dans l'ent&#195;&#170;te de la page, qui est une partie cach&#195;&#169;e au visiteur mais qui contiendra des informations utiles pour le navigateur. &#034;body&#034;, quant &#195; lui, contiendra ce qui va &#195;&#170;tre affich&#195;&#169; au visiteur, ici un simple texte.&lt;/p&gt;
&lt;p&gt;Certaines balises, cependant, sont uniques : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;br /&gt;&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;img src=&#034;monimage.gif&#034; /&gt;&lt;/code&gt; par exemple, ne sont pas cod&#195;&#169;es en deux &#195;&#169;l&#195;&#169;ments mais s'ouvrent et se ferment tout de suite, comme le montre le &#034;/&gt;&#034; qui les ferme.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Tout ce qui s'ouvre se ferme&lt;/h2&gt;
&lt;p&gt;Les balises s'ouvrent puis se ferment, il est important de ne pas l'oublier sans quoi vous risquez d'avoir des comportement bizarre : en cas d'erreur, le navigateur va tenter de corriger, et chaque navigateur &#195; son id&#195;&#169;e de comment corriger.&lt;br class='autobr' /&gt;
Il ne faut pas, bien s&#195; &#187;r, oublier de fermer une balise, comme ceci :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;h1&gt;mon titre &lt;p&gt;voici une paragraphe &lt;h2&gt;et un intertitre &lt;p&gt;puis un second paragraphe&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le plus souvent, le navigateur va comprendre qu'il s'agit d'une erreur de code et la corriger. Mais comme chaque navigateur a sa propre interpr&#195;&#169;tation des erreurs, cela donnera un r&#195;&#169;sultat diff&#195;&#169;rent &#195; chaque fois.&lt;/p&gt;
&lt;p&gt;Il faut aussi veiller &#195; fermer les balises dans le bon ordre. Pas comme &#195;&#167;a :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;h1&gt;mon titre &lt;p&gt;mon paragraphe&lt;/h1&gt;&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;mais comme ceci :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;h1&gt;mon titre&lt;/h1&gt; &lt;p&gt;mon paragraphe&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour aller un peu plus loin, nous allons cr&#195;&#169;er d'autre balises dans ce fichier html basique :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;html&gt; &lt;head&gt; &lt;title&gt;Titre en haut de la page&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;ceci est un titre&lt;/h1&gt; &lt;p&gt;Ceci est un paragraphe&lt;/p&gt; &lt;/body&gt; &lt;/html&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ce code plus complet comporte des balises dans des balises. Dans une page compl&#195;&#168;te, on peut avoir beaucoup de niveaux d'imbrication de code. La page est alors comme un arbre, comportant des &#195;&#169;l&#195;&#169;ments se subdivisant en parties plus petites de nombreuses fois.&lt;/p&gt;
&lt;p&gt;On parle aussi d'une structure avec parents et enfants, et m&#195;&#170;me des anc&#195;&#170;tres.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Commenter son code&lt;/h2&gt;
&lt;p&gt;A ce stade, on peut introduire une balise un peu sp&#195;&#169;ciale : la balise de commentaire.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;html&gt; &lt;!-- commencement du head --&gt; &lt;head&gt; &lt;title&gt;Titre en haut de la page&lt;/title&gt; &lt;/head&gt; &lt;!-- fin du head, debut du body --&gt; &lt;body&gt; &lt;h1&gt;ceci est un titre&lt;/h1&gt; &lt;p&gt;Ceci est un paragraphe&lt;/p&gt; &lt;!-- fin du body --&gt; &lt;/body&gt; &lt;/html&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cette balise est ignor&#195;&#169;e par le navigateur lors de l'affichage, on peut donc y mettre ce qu'on veut g&#195;&#169;n&#195;&#169;ralement des informations que l'on s'adresse &#195; soi-m&#195;&#170;me dans le futur, lorsqu'on aura oubli&#195;&#169; l'une ou l'autre subtilit&#195;&#169; de la construction de page. Commentez votre code, c'est un conseil... Les &#195;&#169;diteurs de code donnent une couleur sp&#195;&#169;cifique pour les commentaires, ce qui permet de les reconnaitre rapidement &#195; la lecture du code.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;El&#195;&#169;ments &#034;blocs&#034; et &#034;en ligne&#034;&lt;/h2&gt;
&lt;p&gt;Il faut maintenant introduire une distinction entre les deux grands types d'&#195;&#169;l&#195;&#169;ments d'une page web : les &#195;&#169;l&#195;&#169;ments en ligne et les &#195;&#169;l&#195;&#169;ments de type bloc. Tous les tags contenus dans le body appartiennent &#195; un de ces deux groupes. Ils seront particuli&#195;&#168;rement importants au moment d'aborder l'habillage css.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Les caract&#195;&#169;ristiques des &#195;&#169;l&#195;&#169;ments de type block&lt;/h2&gt;
&lt;p&gt;Commence toujours sur une nouvelle ligne. &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Les attributs height, line-height, top et bottom, margins peuvent &#195;&#170;tre modifi&#195;&#169;s &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; La largeur est par d&#195;&#169;faut fix&#195;&#169;e &#195; 100% de leur &#195;&#169;l&#195;&#169;ment conteneur, si une autre largeur n&#226;&#8364;&#8482;est pas sp&#195;&#169;cifi&#195;&#169;e.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Les caract&#195;&#169;ristiques des &#195;&#169;l&#195;&#169;ments Inline&lt;/h2&gt;
&lt;p&gt;Commence sur la m&#195;&#170;me ligne que l&#226;&#8364;&#8482;&#195;&#169;l&#195;&#169;ment pr&#195;&#169;c&#195;&#169;dent. &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Height, line-height, top et bottom, margins ne pourront &#195;&#170;tre chang&#195;&#169;es &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; La longueur est d&#195;&#169;termin&#195;&#169;e par le contenu et ne peut &#195;&#170;tre modifi&#195;&#169;e.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; l'&#195;&#169;l&#195;&#169;ment remplit la largeur de gauche &#195; droite (en langue europ&#195;&#169;enne) jusqu'&#195; rencontrer la largeur maximale de son parent, ensuite va &#195; la ligne.&lt;/p&gt;
&lt;table class=&#034;comparatif&#034;&gt;
&lt;thead&gt;
&lt;td&gt;&lt;/td&gt;&lt;td&gt;Type &#034;block&#034;&lt;/td&gt;&lt;td&gt;Type &#034;inline&#034;&lt;/td&gt;
&lt;/thead&gt;
&lt;tr&gt;
&lt;td&gt;Exemples de tag&lt;/td&gt;&lt;td&gt;h1, ul, li, p, div, header, footer, article, section&lt;/td&gt;&lt;td&gt;a, img, em, b, strong, em, i, input&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Largeur&lt;/td&gt;&lt;td&gt;100% de son parent&lt;/td&gt;&lt;td&gt;D&#195;&#169;pendante de sa largeur.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Empilement&lt;/td&gt;&lt;td&gt;Se positionne sous l'&#195;&#169;l&#195;&#169;ment pr&#195;&#169;c&#195;&#169;dent&lt;/td&gt;&lt;td&gt;Se positionne &#195; c&#195;&#180;t&#195;&#169; des &#195;&#169;l&#195;&#169;ments inline pr&#195;&#169;c&#195;&#169;dents, dans le sens de lecture, comme un caract&#195;&#168;re dans un texte.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Positionnement&lt;/td&gt;&lt;td&gt;Peut &#195;&#170;tre positionn&#195;&#169;&lt;/td&gt;&lt;td&gt;Ne peut pas &#195;&#170;tre positionn&#195;&#169;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Modifications&lt;/td&gt;&lt;td&gt;Margin et padding peuvent &#195;&#170;tre modifi&#195;&#169;s. &lt;br&gt;Largeur et hauteur peuvent &#195;&#170;tre modifi&#195;&#169;s&lt;/td&gt;&lt;td&gt;Seul le padding peut &#195;&#170;tre modifi&#195;&#169;, pas le margin ni la largeur et hauteur&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;h2 class=&#034;spip&#034;&gt;Hierarchie des &#195;&#169;l&#195;&#169;ments inline et bloc&lt;/h2&gt;
&lt;p&gt;Il est important de retenir que &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; on peut imbriquer des &#195;&#169;l&#195;&#169;ments de type bloc dans des &#195;&#169;l&#195;&#169;ments de type bloc.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;div&gt; &lt;h1&gt;titre&lt;/h1&gt; &lt;div&gt;&lt;p&gt;mon paragraphe&lt;/p&gt;&lt;/div&gt; &lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br class='manualbr' /&gt;Attention cependant, la balise p (paragraphe) supporte mal de recevoir d'autres balises bloc. Elle est destin&#195;&#169;e &#195; recevoir du texte (et des balises inline comme a, em et strong) et pas des div. Cela produit parfois des erreurs d'affichages.&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; on &#195;&#169;vite de mettre des balises de type &#034;bloc&#034; dans des balises de type &#034;inline&#034;.&lt;br class='autobr' /&gt;
par exemple :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;a href=&#034;monlien.html&#034;&gt;&lt;h2&gt;Clic&lt;/h2&gt;&lt;/a&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ce code &#195;&#169;tait interdit en html 4 et Xhtml, mais est de nouveau autoris&#195;&#169; en Html5. En effet, Html5 autorise explicitement l'utilisation indiff&#195;&#169;rente de balise inline et bloc dans la structuration d'une page. &lt;br class='autobr' /&gt;
Il est cependant g&#195;&#169;n&#195;&#169;ralement recommand&#195;&#169; d'utiliser les balises de type &#034;bloc&#034; pour les &#195;&#169;l&#195;&#169;ments importants du site et des balise inline pour l'int&#195;&#169;rieur des textes, qui est leur destinationn d'origine.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://arts-numeriques.codedrops.net/IMG/pdf/slides_day1.pdf" length="105243" type="application/pdf" />
		

	</item>
<item xml:lang="fr">
		<title>Flat earth : communication entre internet, processing et arduino</title>
		<link>https://arts-numeriques.codedrops.net/Flat-earth-communication-entre</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/Flat-earth-communication-entre</guid>
		<dc:date>2008-05-28T17:11:51Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Installation</dc:subject>
		<dc:subject>Robotique</dc:subject>
		<dc:subject>(X)html</dc:subject>
		<dc:subject>Php</dc:subject>
		<dc:subject>Open Source</dc:subject>
		<dc:subject>Processing</dc:subject>
		<dc:subject>Arduino</dc:subject>

		<description>
&lt;p&gt;Mon projet lors du workshop &#034;Hybrid scrapyard&#034; mettait en jeu la connection entre un formulaire sur le web et le micro-contr&#195;&#180;leur arduino, &#195; travers un script de processing, qui ne servait qu'&#195; passer l'info. Trois portions de code donc, pr&#195;&#169;sent&#195;&#169;es de mani&#195;&#168;re brute ici. &lt;br class='autobr' /&gt;
1. La page web Cette page pr&#195;&#169;sente un formulaire et en r&#195;&#169;colte apr&#195;&#168;s postage l'information pour la traiter. Le script php &#195;&#169;crit ensuite l'information dans un simple fichier texte. Il r&#195;&#169;colte aussi l'image d'une (&#8230;)&lt;/p&gt;


-
&lt;a href="https://arts-numeriques.codedrops.net/-Plus-" rel="directory"&gt;Plus&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-Installation-+" rel="tag"&gt;Installation&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Robotique-+" rel="tag"&gt;Robotique&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-X-html-+" rel="tag"&gt;(X)html&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Php-+" rel="tag"&gt;Php&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Open-Source-+" rel="tag"&gt;Open Source&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Processing-+" rel="tag"&gt;Processing&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Arduino-+" rel="tag"&gt;Arduino&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L113xH150/arton49-04a25.jpg?1757838258' class='spip_logo spip_logo_right' width='113' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Mon projet lors du workshop &lt;a href=&#034;http://www.imal.org/NewBraveWorld/NBW2/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&#034;Hybrid scrapyard&#034;&lt;/a&gt; mettait en jeu la connection entre un formulaire sur le web et le micro-contr&#195;&#180;leur arduino, &#195; travers un script de processing, qui ne servait qu'&#195; passer l'info. Trois portions de code donc, pr&#195;&#169;sent&#195;&#169;es de mani&#195;&#168;re brute ici.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;span class='spip_document_43 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH375/2530336257_aeaa116518-3cb25.jpg?1726880067' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;1. La page web&lt;/h2&gt;
&lt;p&gt;Cette page pr&#195;&#169;sente un formulaire et en r&#195;&#169;colte apr&#195;&#168;s postage l'information pour la traiter. Le script php &#195;&#169;crit ensuite l'information dans un simple fichier texte. Il r&#195;&#169;colte aussi l'image d'une webcam mais ceci a &#195;&#169;t&#195;&#169; abandonn&#195;&#169; lors de la pr&#195;&#169;sentation.&lt;br class='manualbr' /&gt;Le fichier html n&#195;&#169;cessite la librairie jquery, et le fichier a &#195;&#169;crire &#034;donnees.txt&#034;, ainsi qu'une css qui habille le tout.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;!DOCTYPE html PUBLIC &#034;-//W3C//DTD XHTML 1.0 Transitional//EN&#034; &#034;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#034;&gt; &lt;html xmlns=&#034;http://www.w3.org/1999/xhtml&#034;&gt; &lt;head&gt; &lt;meta http-equiv=&#034;Content-Type&#034; content=&#034;text/html;charset=utf-8&#034;/&gt; &lt;title&gt;Move the world&lt;/title&gt; &lt;link rel=&#034;shortcut icon&#034; href=&#034;favicon.ico&#034; type=&#034;image/x-icon&#034;/&gt; &lt;link rel=&#034;stylesheet&#034; type=&#034;text/css&#034; href=&#034;move.css&#034;/&gt; &lt;script type=&#034;text/javascript&#034; src=&#034;jquery.js&#034;&gt;&lt;/script&gt; &lt;script type=&#034;text/javascript&#034;&gt; $(document).ready(function(){ $(&#034;#message&#034;).fadeOut(2000); lawebcam=window.setInterval(&#034;webcam()&#034;,30000); }); } function webcam(){ chiffrealea=(Math.random())*1000000 + &#034;&#034;; $(&#034;#ima&#034;).attr(&#034;src&#034;,&#034;webcam.jpg?&#034; + chiffrealea); } &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div id=&#034;general&#034;&gt; &lt;h1&gt;Petite terre carr&#195;&#169;e&lt;/h1&gt; &lt;?php if(isset($_POST['action'])){ $move=addslashes($_POST['dieu']); $chemin_fichier=&#034;donnees.txt&#034;; // ecriture du fichier if(!$fichier = fopen($chemin_fichier, &#034;r+&#034;)) { echo &#034;&lt;div style='color:red'&gt;lecture du fichier &#034;. $requete . &#034;impossible&lt;/div&gt;&#034;; } else { $recup=&#034;&#034;; while (!feof($fichier)) { $buffer = fgets($fichier, 4096); $recup .=$buffer; } fclose ($fichier); } // recuperer le compteur $lignes=split(&#034;/n&#034;,$recup); $compteur=intval($lignes[0]); $compteur++; echo &#034;&lt;span style='color:#fff'&gt;compteur &#034;.$compteur.&#034;&lt;/span&gt;&#034;; $lehtml=$compteur.&#034; \n&#034;.$move; if(!$fichier = fopen($chemin_fichier, &#034;w+&#034;)) { echo &#034;&lt;div style='color:red'&gt;lecture du fichier &#034;. $requete . &#034;impossible&lt;/div&gt;&#034;; } else { fputs($fichier, $lehtml); fclose ($fichier); echo &#034;&lt;div id='message'&gt;Ainsi Soit-il.&lt;/div&gt;&#034;; } } ?&gt; &lt;form action=&#034;index.php&#034; method=&#034;post&#034;&gt; &lt;img src=&#034;god.jpg&#034; /&gt; &lt;div id=&#034;introduction&#034;&gt; &lt;/div&gt; &lt;div id=&#034;imgwebcam&#034;&gt; &lt;img id=&#034;ima&#034; src=&#034;webcam.jpg&#034; /&gt; &lt;/div&gt; &lt;div id=&#034;formulaire&#034;&gt; &lt;h2&gt;Je veux...&lt;/h2&gt; &lt;select name=&#034;dieu&#034; id=&#034;dieu&#034;&gt; &lt;option value=&#034;X&#034;&gt;laisser faire...&lt;/option&gt; &lt;option value=&#034;a&#034;&gt;un feu de camp, et une guitare&lt;/option&gt; &lt;option value=&#034;b&#034;&gt;un centre-ville anim&#195;&#169;&lt;/option&gt; &lt;option value=&#034;c&#034;&gt;une bonne guerre&lt;/option&gt; &lt;option value=&#034;d&#034;&gt;une tremblement de terre&lt;/option&gt; &lt;option value=&#034;e&#034;&gt;Donner un coup de boost&lt;/option&gt; &lt;option value=&#034;f&#034;&gt;Ralentir un peu le cours des choses&lt;/option&gt; &lt;/select&gt; &lt;input type=&#034;hidden&#034; name=&#034;action&#034; value=&#034;avance&#034; /&gt; &lt;div class=&#034;lesubmit&#034;&gt; &lt;input type=&#034;submit&#034; value=&#034;Maintenant&#034; /&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class=&#034;clearer&#034;&gt;&lt;/div&gt; &lt;/form&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&#034;http://www.workplace.lescorsaires.be/active_world/index.php&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;La page est ici et active&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;2. Le code processing&lt;/h2&gt;
&lt;p&gt;Le code processing lit le fichier &#034;donnees.txt&#034; et en lit la premi&#195;&#168;re ligne. C'est un compteur. Si le chiffre a chang&#195;&#169;, il prend le caract&#195;&#168;re &#195;&#169;crit en deuxi&#195;&#168;me ligne et l'envoie au micro-contr&#195;&#180;leur par le port s&#195;&#169;rie. Ici, le Xbee fait la connection.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/* charge le fichier du web donne l'info &#195; arduino par le port s&#195;&#169;rie */ import processing.serial.*; int compteurprecedent=0; int value=0; Serial port; // Create object from Serial class char actuel; void setup() { size(600, 140); PFont fontA = loadFont(&#034;TradeGothic-BoldCondTwenty-32.vlw&#034;); textFont(fontA, 32); smooth(); background(30); println(Serial.list()); frameRate(10); // Open the port that the board is connected to and use the same speed (9600 bps) port = new Serial(this, Serial.list()[0], 9600); } void draw() { fill(255); text(&#034;Just reading a file on the web&#034;, 10, 40); text(&#034;and pass the information to arduino&#034;, 10, 100); String lines[] = loadStrings(&#034;http://www.workplace.lescorsaires.be/active_world/donnees.txt&#034;); int compteuractuel=int(trim(lines[0])); // envoyer, un caract&#195;&#168;re par ligne dans le fichier texte pomp&#195;&#169;... if(compteurprecedent !=compteuractuel){ println(&#034;compteur : &#034; + compteuractuel); for(int li=1; li&lt;lines.length;li++){ actuel = lines[li].charAt(0); if (actuel != 88){ println(&#034;on envoie -&#034; + actuel + &#034;-&#034;); port.write(actuel); } } compteurprecedent=compteuractuel; } // retour d'info de arduino while (port.available() &gt; 0) { int inByte = port.read(); println(&#034;re&#195;&#167;u &#034; + char(inByte)); } } void keyPressed() { if(key == 'z' &amp;&amp; value==0) { value = 1; port.write(90); } else { value = 0; } }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;3. Le code embarqu&#195;&#169; sur Arduino&lt;/h2&gt;
&lt;p&gt;Le code d&#195;&#169;marre de mani&#195;&#168;re autonome et pr&#195;&#169;voit des &#195;&#169;v&#195;&#169;nements dans le futur en fonction de param&#195;&#168;tres : temps avant l'&#195;&#169;v&#195;&#169;nement, dur&#195;&#169;e de l'&#195;&#169;v&#195;&#169;nement, a quel contact envoyer le signal. Il &#195;&#169;coute ensuite le port s&#195;&#169;rie pour y recevoir les informations envoy&#195;&#169;e par processing.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;// Flat earth par S. Noel // definit les prochains evenements int next[] = { 10,20,30,40,50 }; int average[] = { 420,340,320,200,180 }; int action[] = { 0,0,0,0,0 }; // move : 7 shake : 12, war : 11, fete : 6, campfire : 7, autre : 10 int sortie[] = { 12,7,11,9,6 }; int delai= 500; int nbeve = 5; void setup() { // dans le setup Serial.begin(9600); // declare toutes les sorties for(int u=0; u&lt;nbeve; u++){ pinMode(sortie[u], OUTPUT); } pinMode(13, OUTPUT); } void loop(){ // decroit les evenements, verifie s'ils sont arrives &#195; zero for(int u=0; u&lt;nbeve; u++){ next[u]--; if (next[u]&lt;1){ // declenche une action, met le compteur de l'evenement if (u == 0) { action[u]=16; } if (u == 1) { action[u]=8; } if (u == 2) { action[u]=60; } if (u == 3) { action[u]=36; } if (u == 4) { action[u]=70; } next[u]=random(50,average[u]); Serial.print(sortie[u]); } if(action[u] &gt; 0){ action[u]--; // active l'action digitalWrite(sortie[u], HIGH); } else { digitalWrite(sortie[u], LOW); } } if (Serial.available() &gt; 0) { char valeur = Serial.read(); switch(valeur) { case 'a': // feu de camp, - deville, + de shake, + de war next[3]=1; // feu de camp average[4]=average[4]+20; // moins de fetes average[0]=average[0]-20; // plus de shake average[2]=average[2]-20; // plus de war break; case 'b': // concert -ville : ville, - de feu de camp, - de war, + de shake next[4]=1; // feu de camp average[3]=average[3]+20; // moins de fetes average[0]=average[0]-20; // plus de shake average[2]=average[2]+20; // moins de war break; case 'c': // guerre next[2]=1; // guerre average[3]=average[3]+20; // moins de ville average[4]=average[4]-20; // plus de campfire average[0]=average[0]-20; // plus de shake break; case 'd': // tremblement : - de ville + campfire - shake, +guerre next[0]=1; // tremblement average[3]=average[3]+20; // moins de ville average[4]=average[4]-20; // plus de campfire average[0]=average[0]+20; // moins de shake average[2]=average[2]-20; // plus de guerre break; case 'e': // moins de delay delai=delai-30; // tremblement if(delai &lt; 100) { delai=100; } average[1]=average[1]-20; // plus de move break; case 'f': // augmente le delay delai=delai+30; // tremblement average[1]=average[1]+20; // moins de move break; case 'Z': // teste tout Serial.print(valeur); for(int u=0; u&lt;nbeve; u++){ digitalWrite(sortie[u], HIGH); } delay(2000); for(int u=0; u&lt;nbeve; u++){ digitalWrite(sortie[u], LOW); } break; } // verifie les limites basses for(int u=0; u&lt;nbeve; u++){ if(average[u] &lt; 50) { average[u]=50; } } Serial.print(valeur); } delay(delai); // toutes les demi secondes par d&#195;&#169;faut }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le programme est bas&#195;&#169; sur 5 relais, donc 5 p&#195;&#169;riph&#195;&#169;riques que l'on active ou d&#195;&#169;sactive. Dans mon cas, 2 moteurs et 3 ensembles de diodes et lampes aliment&#195;&#169;s en 3 et 6 volts.&lt;/p&gt;
&lt;p&gt;Le code n'est pas des plus propres, mais il a &#195;&#169;t&#195;&#169; produit int&#195;&#169;gralement pendant la dur&#195;&#169;e du workshop.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_42 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH375/2530336355_37dbdf263d-9dc0d.jpg?1726880067' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Elements inline et block</title>
		<link>https://arts-numeriques.codedrops.net/Elements-inline-et-block</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/Elements-inline-et-block</guid>
		<dc:date>2007-11-26T08:45:09Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>(X)html</dc:subject>

		<description>&lt;p&gt;Tous les &#195;&#169;l&#195;&#169;ments pr&#195;&#169;sents dans le body, d'une page ont un comportement &#034;en ligne&#034; ou &#034;bloc&#034;. Cette diff&#195;&#169;rence est d&#195;&#169;terminante dans l'&#195;&#169;criture de votre code : les &#195;&#169;l&#195;&#169;ments inline et bloc n'ont pas le m&#195;&#170;me comportement visuel. Petit rappel.&lt;/p&gt;

-
&lt;a href="https://arts-numeriques.codedrops.net/-Le-langage-CSS-" rel="directory"&gt;Le langage CSS&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-X-html-+" rel="tag"&gt;(X)html&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH76/arton24-c74d3.png?1726857230' class='spip_logo spip_logo_right' width='150' height='76' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Tous les &#195;&#169;l&#195;&#169;ments pr&#195;&#169;sents dans le body, d'une page ont un comportement &#034;en ligne&#034; ou &#034;bloc&#034;. Cette diff&#195;&#169;rence est d&#195;&#169;terminante dans l'&#195;&#169;criture de votre code : les &#195;&#169;l&#195;&#169;ments inline et bloc n'ont pas le m&#195;&#170;me comportement visuel. Petit rappel.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;a href=&#034;http://www.codedrops.net/exemples/inline-block/&#034;&gt;Vous trouverez ici&lt;/a&gt; une page de test (r&#195;&#169;alis&#195;&#169;e avec jQuery et interface) qui permet de d&#195;&#169;terminer les deux types de comportement pour les principaux &#195;&#169;l&#195;&#169;ments.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Les caract&#195;&#169;ristiques des &#195;&#169;l&#195;&#169;ments de type block&lt;/h2&gt;
&lt;p&gt;Commence toujours sur une nouvelle ligne ( voila pourquoi parfois vous n&#226;&#8364;&#8482;arrivez pas &#195; placer un bloc a droite d&#226;&#8364;&#8482;un autre bloc ;) &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Les attributs height, line-height, margin, padding peuvent &#195;&#170;tre modifi&#195;&#169;s &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; La largeur est par d&#195;&#169;faut fix&#195;&#169;e &#195; 100% de leur &#195;&#169;l&#195;&#169;ment conteneur, si une autre largeur n&#226;&#8364;&#8482;est pas sp&#195;&#169;cifi&#195;&#169;e.&lt;br class='manualbr' /&gt;On peut forcer la taille des &#195;&#169;l&#195;&#169;ments de type bloc, en pixel, en pourcentage, en em, en points. Leur taille totale est l'addtion de du padding, du border, du margin et la largeur (width).&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_170 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH270/box-model-bd17a.png?1757838258' width='500' height='270' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Principaux &#195;&#169;l&#195;&#169;ments de type block&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;&lt;div&gt;&lt;/strong&gt; : balise multi-usage. Cette balise est souvent utilis&#195;&#169;e pour positionner un contenu dans la page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;h1&gt; ... &lt;h6&gt;&lt;/strong&gt; : encadre un titre ou un sous-titre.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;p&gt;&lt;/strong&gt; : paragraphe.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;ul&gt;, &lt;ol&gt;,&lt;dl&gt;&lt;/strong&gt; : listes (non ordonn&#195;&#169;e, ordonn&#195;&#169;e ou avec d&#195;&#169;finition).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;li&gt;, &lt;dt&gt;,&lt;dd&gt;&lt;/strong&gt; : &#195;&#169;l&#195;&#169;ment de liste, d&#195;&#169;finition, et titre de d&#195;&#169;finition.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;table&gt;&lt;/strong&gt; : tableau.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;blockquote&gt;&lt;/strong&gt; : paragraphe indent&#195;&#169; (d&#195;&#169;cal&#195;&#169; &#195; droite) normalement utilis&#195;&#169; pour pr&#195;&#169;senter une citation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;pre&gt;&lt;/strong&gt; : bloc de code pr&#195;&#169;format&#195;&#169;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;form&gt;&lt;/strong&gt; : formulaire de saisie.&lt;/li&gt;
&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Les caract&#195;&#169;ristiques des &#195;&#169;l&#195;&#169;ments Inline&lt;/h2&gt;
&lt;p&gt;Un &#195;&#169;l&#195;&#169;ment inline se comporte comme des caract&#195;&#168;res dans une phrase : il continue sur la m&#195;&#170;me ligne que l&#226;&#8364;&#8482;&#195;&#169;l&#195;&#169;ment pr&#195;&#169;c&#195;&#169;dent sauf si celui-ci est un &#195;&#169;l&#195;&#169;ment de type bloc, &#195;&#169;videmment. &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; height, line-height, marges top et bottom ne pourront &#195;&#170;tre chang&#195;&#169;es &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; La hauteur est d&#195;&#169;termin&#195;&#169;e par le contenu de l'&#195;&#169;l&#195;&#169;ment et ne peut &#195;&#170;tre modifi&#195;&#169;e.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Liste des principaux &#195;&#169;l&#195;&#169;ments inline&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;span&gt;&lt;/strong&gt; : balise multi-usage, tr&#195;&#169;s pratique pour appliquer un style &lt;a href=&#034;http://www.standard-du-web.com/feuilles_de_style_en_cascade.php&#034; target=&#034;_blank&#034;&gt;CSS&lt;/a&gt; &#195; une portion de texte, par exemple.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a&gt;&lt;/strong&gt; : ancre, permet de cr&#195;&#169;er un lien sortant ou permet de sp&#195;&#169;cifier un point pr&#195;&#169;cis de la page vers lequel on veut diriger un lien.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;strong&gt;&lt;/strong&gt; : utilis&#195;&#169; pour marquer l'importance particuli&#195;&#168;re d'une portion de texte. Tous les navigateurs actuels afficheront cette portion en gras. &lt;em&gt;NOTE : l'ancienne balise &lt;b&gt; (bold) &#195;&#169;tait obsol&#195;&#168;te en xhtml mais peut de nouveau &#195;&#170;tre utilis&#195;&#169;e en html5.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;&lt;/strong&gt; : utilis&#195;&#169; pour accentuer l'importance d'une portion de texte (de fa&#195;&#167;on moins forte que &lt;strong&gt;). Tous les navigateurs actuels afficheront cette portion en italique. &lt;em&gt;NOTE : l'ancienne&lt;br class='autobr' /&gt;
balise &lt;i&gt; (italic) &#195;&#169;tait obsol&#195;&#168;te en xhtml mais peut &#195;&#170;tre utilis&#195;&#169;e de nouveau en HTML5.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;img&gt;&lt;/strong&gt; : image, permet de placer une image au milieu du flux de texte.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt; : saut de ligne. Voil&#195; un cas tout &#195; fait particulier d'&#195;&#169;l&#195;&#169;ment en-ligne, qui provoque un saut de ligne. Malgr&#195;&#169; cette particularit&#195;&#169;, &lt;br&gt; n'est d&#195;&#169;finitivement pas un bloc et doit &#195;&#170;tre class&#195;&#169;&lt;br class='autobr' /&gt;
comme &#195;&#169;l&#195;&#169;ment en-ligne.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;input&gt;&lt;/strong&gt; : champs de saisie dans un formulaire, tel que &lt;input name=&#034;textfield&#034; value=&#034;texte&#034; size=&#034;8&#034; maxlength=&#034;8&#034; type=&#034;text&#034;&gt; ou &lt;input name=&#034;bouton&#034; id=&#034;bouton&#034; value=&#034;Bouton&#034; type=&#034;button&#034;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;&lt;abbr title=&#034;abbreviation&#034;&gt;abbr&lt;/abbr&gt;&gt;&lt;/strong&gt; : signale une abbr&#195;&#169;viation (placez votre curseur dessus pour voir le&lt;br class='autobr' /&gt;
fonctionnement). &lt;em&gt;Note : Internet Explorer ne g&#195;&#168;re&lt;br class='autobr' /&gt;
pas cette balise dans ses versions ant&#195;&#169;rieures &#195; la version 7&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Changer un &#195;&#169;l&#195;&#169;ment inline en bloc avec CSS&lt;/h2&gt;
&lt;p&gt;Il est possible de changer le type d'un &#195;&#169;l&#195;&#169;ment avec une d&#195;&#169;claration CSS.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;a { display:block; height:200px; width:200px; }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ici, les liens sont transform&#195;&#169;s en &#195;&#169;l&#195;&#169;ments de type bloc gr&#195;&#162;ce &#195; la d&#195;&#169;claration css &#034;display:block&#034;. On utilise ce type de d&#195;&#169;claration pour pouvoir b&#195;&#169;n&#195;&#169;ficier des avantages de types de bloc : par exemple, pour pouvoir fixer la taille des &#195;&#169;l&#195;&#169;ments ou pour pouvoir les positionner.&lt;br class='autobr' /&gt;
L'inverse est possible avec la d&#195;&#169;claration &#034;display:inline&#034;.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;li { display:inline; }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Pr&#233;paration au cours : logiciels et documentation</title>
		<link>https://arts-numeriques.codedrops.net/Preparation-au-cours-logiciels-et-documentation</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/Preparation-au-cours-logiciels-et-documentation</guid>
		<dc:date>2007-10-17T08:29:14Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>(X)html</dc:subject>

		<description>&lt;p&gt;Dans le cours Arts num&#233;rique 1, on code &#224; la main. Si on travaille avec une structure Xhtml respectueuse des normes, c'est aussi rapide qu'avec un &#233;diteur Wysiwyg comme Dreamweaver.&lt;/p&gt;

-
&lt;a href="https://arts-numeriques.codedrops.net/-Le-langage-HTML-" rel="directory"&gt;Le langage HTML&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-X-html-+" rel="tag"&gt;(X)html&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH132/arton10-3d10d.jpg?1726857230' class='spip_logo spip_logo_right' width='150' height='132' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans le cours Arts num&#233;rique 1, on code &#224; la main. Si on travaille avec une structure Xhtml respectueuse des normes, c'est aussi rapide qu'avec un &#233;diteur Wysiwyg comme Dreamweaver.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Navigateur web&lt;/h2&gt;
&lt;p&gt;C'est l'&#233;vidence, mais un navigateur web n'est pas l'autre. Mac et pc sont fournis avec un navigateur (Explorer et Safari) mais le &lt;strong&gt;navigateur Firefox&lt;/strong&gt; est un bon compl&#233;ment : tester d'autres navigateurs est important, mais de plus Firefox est open source, et permet l'adjonction de plugin tr&#232;s int&#233;ressants. Les indispensables au cours sont pr&#233;sent&#233;s ci-apr&#232;s.&lt;br class='manualbr' /&gt;&lt;a href=&#034;http://www.mozilla-europe.org/fr/products/firefox/&#034;&gt; &gt;&gt; T&#233;l&#233;charger Firefox&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dummy lipsum&lt;/strong&gt;&lt;br class='manualbr' /&gt;Remplir un article, un champ avec du faux texte, est un besoin courant et ce plugin fait &#231;a, rien de plus, rien de moins.&lt;br class='manualbr' /&gt;&lt;a href=&#034;https://addons.mozilla.org/fr/firefox/addon/2064&#034;&gt; &gt;&gt; Le t&#233;l&#233;charger ici&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Editeur de code&lt;/h2&gt;
&lt;p&gt;&lt;i&gt;Un &#233;diteur de code est un outil simple, permettant de cr&#233;er et de modifier des fichiers en html, php, javascript, c++, etc. Il est un outil de base de tout d&#233;veloppeur.&lt;/p&gt;
&lt;p&gt;L'&#233;diteur de code comporte des outils comme :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; La coloration syntaxique. Les types de code sont reconnus dans la page, et color&#233;. C'est une aide intuitive &#224; la lecture du code, et permet de reconnaitre certaines erreurs de syntaxe.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Le moteur rechercher/remplacer, qui permet de remplacer du code dans plusieurs documents, parfois faire des rechercher dans des dossiers de document, et d'uitliser les &#034;expressions r&#233;guli&#232;res&#034;, c'est &#224; dire des structures pr&#233;cises de code plut&#244;t des cha&#238;nes pr&#233;cises de code.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; La num&#233;rotation des lignes
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Des aides au codage, dont les templates html-Xhtml
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Des outils de conversion, en entit&#233;s html notamment.&lt;br class='autobr' /&gt;
&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Brackets&lt;/strong&gt; est un logiciel d&#233;velopp&#233; en open source. Pour Mac, PC et Linux.&lt;br class='manualbr' /&gt;&lt;a href=&#034;http://brackets.io&#034; target=&#034;_blank&#034;&gt;T&#233;l&#233;charger ici&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PsPad&lt;/strong&gt; est un &#233;diteur de code pour PC. Gratuit. Tr&#232;s complet et puissant. Parfois un peu trop riche, mais il couvre un nombre impressionnant de langages.&lt;br class='manualbr' /&gt;&lt;a href=&#034;http://www.pspad.com/fr/&#034;&gt; &gt;&gt; T&#233;l&#233;charger ici&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notepad++&lt;/strong&gt; est un autre &#233;diteur simple pour PC, lui aussi complet et puissant.&lt;br class='manualbr' /&gt;&lt;a href=&#034;http://notepad-plus.sourceforge.net/fr/site.htm&#034;&gt; &gt;&gt; T&#233;l&#233;charger ici&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pour une liste plus exhaustive d'&#233;diteurs de code, mac, pc, linux, &lt;a href=&#034;http://php.developpez.com/comparatifs/editeurs/&#034; target=&#034;_blank&#034;&gt;voyez ici&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Client FTP&lt;/h2&gt;
&lt;p&gt;&lt;i&gt;Derri&#232;re ce mot un peu technique, un outil simple qui permet de transf&#233;rer des fichiers depuis votre ordinateur vers un serveur distant. Incontournable donc pour pouvoir mettre sur le web vos fichiers html, php, gros documents.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FileZilla&lt;/strong&gt; est un client FTP pour Mac, PC et Linux, gratuit, open source et maintenu par une grosse communaut&#233; de d&#233;velopeur. &lt;br class='manualbr' /&gt;&lt;a href=&#034;http://www.filezilla.fr/&#034;&gt; &gt;&gt; Le t&#233;l&#233;charger ici&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cyberduck&lt;/strong&gt; est un client FTP pour mac, gratuit et open source.&lt;br class='manualbr' /&gt;&lt;a href=&#034;http://cyberduck.ch/&#034;&gt; &gt;&gt; T&#233;l&#233;charger ici&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Extra : Pense-b&#195;&#170;te html-css-javascript</title>
		<link>https://arts-numeriques.codedrops.net/Extra-Pense-bete-html-css</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/Extra-Pense-bete-html-css</guid>
		<dc:date>2007-09-21T20:31:17Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Javascript</dc:subject>
		<dc:subject>(X)html</dc:subject>
		<dc:subject>CSS</dc:subject>

		<description>
&lt;p&gt;Les codes qu&#226;&#8364;&#8482;on oublie toujours en tant que jeune codeur. &lt;br class='autobr' /&gt; Code pour inclure une css distante, g&#195;&#169;n&#195;&#169;ralement plac&#195;&#169; dans le head de la page &lt;br class='autobr' /&gt;
Code pour inclure des css directement dans la page &lt;br class='autobr' /&gt; /* declaration du comportement visule d'un id */ #un_id &lt;br class='autobr' /&gt;
/* declaration du comportement visuel d'une classe */ .une_classe &lt;br class='autobr' /&gt;
/* definition du comportement visuel d'un tag */ p &lt;br class='autobr' /&gt;
Charger un fichier javascript externe &lt;br class='autobr' /&gt;
Ins&#195;&#169;rer du code javascript directement dans la page // votre code ici - (&#8230;)&lt;/p&gt;


-
&lt;a href="https://arts-numeriques.codedrops.net/-Code-HTML-et-CSS-" rel="directory"&gt;Code : HTML et CSS&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-Javascript-+" rel="tag"&gt;Javascript&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-X-html-+" rel="tag"&gt;(X)html&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-CSS-+" rel="tag"&gt;CSS&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Les codes qu&#226;&#8364;&#8482;on oublie toujours en tant que jeune codeur.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Code pour inclure une css distante, g&#195;&#169;n&#195;&#169;ralement plac&#195;&#169; dans le head de la page&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;link href=&#034;macss.css&#034; rel=&#034;stylesheet&#034; type=&#034;text/css&#034; /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Code pour inclure des css directement dans la page&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;style type=&#034;text/css&#034;&gt;
/* declaration du comportement visule d'un id */
#un_id { } /* declaration du comportement visuel d'une classe */
.une_classe { } /* definition du comportement visuel d'un tag */
p { }
&lt;/style&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Charger un fichier javascript externe&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;script type=&#034;text/javascript&#034; src=&#034;monjavasc.js&#034;&gt;&lt;/script&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Ins&#195;&#169;rer du code javascript directement dans la page&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;script type=&#034;text/javascript&#034;&gt;
// votre code ici - le double slashe permet un commentaire
&lt;/script&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Code de base d'une page xhtml transitionnelle&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; &lt;!DOCTYPE html PUBLIC &#034;-//W3C//DTD XHTML 1.0 Transitional//EN&#034; &#034;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#034;&gt;
&lt;html xmlns=&#034;http://www.w3.org/1999/xhtml&#034;&gt;
&lt;head&gt;
&lt;meta http-equiv=&#034;Content-Type&#034; content=&#034;text/html;charset=utf-8&#034; /&gt;
&lt;title&gt;&lt;/title&gt;
&lt;link rel=&#034;shortcut icon&#034; href=&#034;favicon.ico&#034; type=&#034;image/x-icon&#034;&gt;
&lt;link rel=&#034;stylesheet&#034; type=&#034;text/css&#034; href=&#034;style.css&#034; /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
