<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Astuces d&#039;Absolacom &#187; developpement</title>
	<atom:link href="http://astuces.absolacom.com/category/developpement/feed/" rel="self" type="application/rss+xml" />
	<link>http://astuces.absolacom.com</link>
	<description>La voie est libre mais pleine d&#039;achoppements</description>
	<lastBuildDate>Wed, 01 Feb 2012 17:59:43 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Superviser vos serveurs avec FTPupinfo</title>
		<link>http://astuces.absolacom.com/ubuntu/superviser-vos-serveurs-avec-ftpupinfo/</link>
		<comments>http://astuces.absolacom.com/ubuntu/superviser-vos-serveurs-avec-ftpupinfo/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 14:09:52 +0000</pubDate>
		<dc:creator>manuberro</dc:creator>
				<category><![CDATA[developpement]]></category>
		<category><![CDATA[logiciel]]></category>
		<category><![CDATA[Matériel]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[supervision]]></category>
		<category><![CDATA[système]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://astuces.absolacom.com/?p=480</guid>
		<description><![CDATA[Il est toujours pratique d&#8217;avoir un oeuil sur les ordinateurs dont on a la charge. Ne serait-ce que pour prévenir avant de guérir. Quand je dis serveurs, c&#8217;est tout type de machine linux. Or, s&#8217;il faut se connecter à chacun pour avoir des infos, cela devient vite pénible. Il existe une pléthore de logiciels dédiés [...]]]></description>
			<content:encoded><![CDATA[<p>Il est toujours pratique d&#8217;avoir un oeuil sur les ordinateurs dont on a la charge. Ne serait-ce que pour prévenir avant de guérir. Quand je dis serveurs, c&#8217;est tout type de machine linux.</p>
<p>Or, s&#8217;il faut se connecter à chacun pour avoir des infos, cela devient vite pénible.</p>
<p>Il existe une <a href="http://www.linternaute.com/dictionnaire/fr/definition/plethore/" target="_blank">pléthore</a> de logiciels dédiés à cet usage. Des simples, comme <a href="http://www.system-linux.eu/index.php?post/2009/04/26/Installation-et-Configuration-de-Phpsysinfo" target="_blank">phpsysinfo</a>, et des poids lourds comme <a href="http://blog.nicolargo.com/nagios-tutoriels-et-documentations" target="_blank">Nagios</a>, <a href="http://www.zabbix.con" target="_blank">zabbix</a>, &#8230;</p>
<p>Les logiciels simples peuvent correspondre à un besoin ponctuel, mais manquent souvent des éléments dont on aurait besoin spécifiquement. Les poids lourds du genre sont cauchemardesques à configurer, et c&#8217;est souvent sortir le bazooka pour tuer une mouche&#8230; Sans compter les failles de sécurités régulières.</p>
<p>J&#8217;ai développé un logiciel nommé FTPupinfo destiné, à la base, à mon usage personnel, pour superviser mes serveurs. Puis il a évolué avec le temps pour devenir une application à part entière, située entre les deux catégories dont on a parlé.</p>
<p>Voici un rapide aperçu:</p>
<p style="text-align: center;"><img class="aligncenter" title="FTPupinfo" src="http://ftpupinfo.absolacom.com/wp-content/uploads/2009/11/site1-274x300.png" alt="Capture 1" width="274" height="300" /></p>
<h4>Avantages:</h4>
<ul>
<li>Facile à installer (paquet dans les dépôts absolacom)</li>
<li>C&#8217;est le client qui uploade vers le serveur, pas le serveur qui interroge le client (pas d&#8217;ouverture de ports, pas de faille). Pas besoin de se connecter à la machine à surveiller (pas d&#8217;ouverture de ports, pas de faille).</li>
<li>Paramétrable avec un simple fichier de configuration texte</li>
<li>Upload sur le serveur en mode FTP ou rsync (si upload activé, non obligatoire)</li>
<li>Copie en local possible des rapports générés</li>
<li>Rapide et léger</li>
<li>Possibilité d&#8217;activer/désactiver chacune des fonctions</li>
<li>Personnalisable par skins (que vous pouvez créer/ajouter)</li>
<li>Ajout de modules possibles (par exemple pour prendre en charge <a href="http://fr.wikipedia.org/wiki/Simple_network_management_protocol" target="_blank">SNMP</a>)</li>
<li>Pensé pour être sécuritaire</li>
<li>Possibilité d&#8217;exécuter des programmes avant, pendant, après le fonctionnement du logiciel (alertes par mail, nettoyages, &#8230;)</li>
<li>Possibilité de garder le dernier rapport, un par jour, tous&#8230;</li>
<li>Le dernier rapport est accessible même si le serveur ne l&#8217;est pas</li>
<li>Fonctionne sur Debian (et dérivées), Mandriva, Suse (depuis les sources)</li>
<li>&#8230;</li>
</ul>
<h4>Inconvénients:</h4>
<ul>
<li>Ne fonctionne pas encore pour Windows (et ce n&#8217;est pas une priorité). Fonctionne au strict minimum avec Cygwin avec une version modifiée du programme (contactez moi si vous êtes intéressé).</li>
<li>Visualisation en mode décalé. Pas de consultation en direct (le programme est lancé avec une granularité d&#8217;une minute).</li>
<li><span style="text-decoration: line-through;">Sans doute</span> Certainement améliorable au niveau du code</li>
<li>Disponible uniquement en deb ou en source (si vous voulez packager pour votre distrib, soit vous vous en chargez, soit vous me dites comment faire)</li>
<li>Les skins sont moches (si,si. Je sais. Je ne suis pas graphiste, je le reconnais), mais c&#8217;est du full CSS (sauf scories) facilement modifiable.¹</li>
<li>En anglais pour l&#8217;instant (même si c&#8217;est peu gênant, le vocabulaire informatique utilisé étant souvent anglais). L&#8217;adaptation pour permettre la localisation est en projet.</li>
<li>&#8230;heu&#8230;</li>
</ul>
<div id="attachment_483" class="wp-caption aligncenter" style="width: 160px"><a href="http://astuces.absolacom.com/wp-content/uploads/2010/01/ftpupinfo-stats.png"><img class="size-thumbnail wp-image-483" title="ftpupinfo-stats" src="http://astuces.absolacom.com/wp-content/uploads/2010/01/ftpupinfo-stats-150x150.png" alt="Page de statistiques" width="150" height="150" /></a><p class="wp-caption-text">Page de statistiques</p></div>
<p>Toutes les infos se trouvent sur le<a href="http://ftpupinfo.absolacom.com/" target="_blank"> site du projet</a> et vous pouvez voir des exemples sur le <a href="http://demoftpupinfo.absolacom.com/" target="_blank">site de démo</a>.</p>
<p>Dernière précision, c&#8217;est entièrement du <a href="http://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_GNU" target="_blank">GPL</a> gratuit pour la partie cliente (le programme qui tourne sur les ordinateurs). Seule la partie serveur de supervision (optionnelle) est payante.</p>
<p>Il est actuellement utilisé professionnellement par ma société pour superviser les clients, quelques sociétés partenaires et les écoles du département des Pyrénées Orientales équipées de serveurs <a href="http://diff-eole.ac-dijon.fr/diff/rubrique.php3?id_rubrique=34" target="_blank">Eclair</a> (dont j&#8217;ai été le <a href="http://pole.poste-agent.orion.education.fr/devwiki/doku.php/start" target="_blank">développeur initial</a> pour le<a href="http://www.google.fr/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;ved=0CAcQFjAA&amp;url=http%3A%2F%2Fnicolas.barcet.com%2Fdrupal%2Ffiles%2Factive%2F0%2FPatrickBenazet-Eclair.pdf&amp;rct=j&amp;q=serveur+eclair+pyr%C3%A9n%C3%A9es+orientales&amp;ei=1gpPS5HsBI_D4gb54vCgCQ&amp;usg=AFQjCNFfIlOX1gxECa-cPArP4OCDSFobyw" target="_blank"> pôle de compétences de Perpignan</a>) ou Zeli.</p>
<p>Les suggestions, remarques, rapports de bugs sont les bienvenus.</p>
<p>1. message subliminal très subtil <img src='http://astuces.absolacom.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  : si vous savez fairedes skins potables, envoyez les moi et je les intègrerais au programme avec vos crédits.</p>
]]></content:encoded>
			<wfw:commentRss>http://astuces.absolacom.com/ubuntu/superviser-vos-serveurs-avec-ftpupinfo/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Recevoir les logs par mail</title>
		<link>http://astuces.absolacom.com/ubuntu/recevoir-les-logs-par-mail/</link>
		<comments>http://astuces.absolacom.com/ubuntu/recevoir-les-logs-par-mail/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 16:00:08 +0000</pubDate>
		<dc:creator>manuberro</dc:creator>
				<category><![CDATA[developpement]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[logiciel]]></category>
		<category><![CDATA[messagerie]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[système]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://astuces.absolacom.com/?p=447</guid>
		<description><![CDATA[Il peut être intéressant de recevoir les logs de vos ordinateurs par mail pour plusieurs raisons: pour penser à les regarder, pour recevoir les logs de vos serveurs, pour garder un historique des logs et pouvoir remonter dans le temps, générer des statistiques à partir des logs sans se connecter aux serveurs (ce qui est [...]]]></description>
			<content:encoded><![CDATA[<p>Il peut être intéressant de recevoir les logs de vos ordinateurs par mail pour plusieurs raisons:</p>
<ul>
<li> pour penser à les regarder,</li>
<li>pour recevoir les logs de vos serveurs,</li>
<li>pour garder un historique des logs et pouvoir remonter dans le temps,</li>
<li>générer des statistiques à partir des logs sans se connecter aux serveurs (ce qui est utilisé par exemple pour générer la liste des <a href="http://astuces.absolacom.com/serveur/identifiants-deconseilles-de-novembre/" target="_blank">identifiants déconseillés</a>)</li>
<li>&#8230;</li>
</ul>
<p>Pour cela, je vous propose d&#8217;installer un utilitaire en python développé par mes soins.</p>
<p>ATTENTION: ce programme fonctionne pour Hardy et Jaunty. Il n&#8217;a pas été développé ou testé sur Karmic mais sera disponible pour toutes les version X.04 d&#8217;Ubuntu.</p>
<p>ATTENTION2: ce programme ne peut fonctionner simplement avec Orange. Pour ce FAI, il faut installer postfix et le paramétrer avec l&#8217;authentification sasl. Cela fera l&#8217;objet d&#8217;un prochain article. Pas de problème chez Free, Alice et SFR.</p>
<h1>Zeli-sendlog</h1>
<p>zeli-sendlog est un programme python qui va créer une archive des logs de l&#8217;ordinateur sur lequel il est installé et va automatiquement l&#8217;envoyer par mail aux adresses paramétrées.</p>
<p>Une fois installé, ce programme ne nécessite aucun réglage.</p>
<h2>Installation</h2>
<p>Il vous faut tout d&#8217;abord ajouter les miroirs Absolacom à votre fichier de sources tel qu&#8217;indiqué sur <a href="http://docu.absolacom.com/doku.php/absolacom:utiliser_les_miroirs_absolacom" target="_blank">cette page</a>. Rechargez la liste des paquets et installez le paquet <strong>zeli-sendlog</strong> et ses dépendances.</p>
<h2>Paramétrage</h2>
<p>Pour envoyer un mail, il vous faut trois choses:</p>
<ol>
<li>un serveur SMTP,</li>
<li>une ou plusieurs adresses de destination,</li>
<li>un nom pleinement qualifié afin que vos mails soient acceptés sans être considérés comme du spam.</li>
</ol>
<h3>Serveur SMTP</h3>
<p>Il se règle dans le fichier <em>/etc/smtp_server</em>. Vous indiquez simplement le nom ou l&#8217;adresse de votre serveur SMTP. Par exemple, pour free, indiquez simplement <em>smtp.free.fr</em>.</p>
<h3>Adresses de destination</h3>
<p>Les adresses où seront envoyés les mails s&#8217;indiquent dans le fichier <em>/etc/mail_secu.txt</em>. Indiquez sur une ligne les adresses séparées par des virgules.</p>
<p>Si vous n&#8217;indiquez qu&#8217;une seule adresse, inutile d&#8217;ajouter une virgule.</p>
<h3>Nom FQDN</h3>
<p>Votre machine ne peut envoyer des mails que vers un serveur qui l&#8217;autorise. Pour cela, il faut qu&#8217;elle soit identifiée, et c&#8217;est son nom d&#8217;expéditeur qui est utilisé.</p>
<p>Si vous possédez un nom de domaine, éditez le fichier <em>/etc/mailname</em> et indiquez le nom de votre ordinateur ainsi: <em>machine.mondomaine.org</em>.</p>
<p>Identifiez correctement votre ordinateur, ce nom apparaît dans les courriers qui vous sont envoyés et vous permettront de vous y retrouver si vous recevez les logs de plusieurs serveurs.</p>
<h3>Lancement en console</h3>
<p>Vous pouvez lancer manuellement le programme pour envoyer les logs immédiatement ou pour vérifier son fonctionnement. En cas de problème, celui ci vous est affiché (en anglais) et vous permettra de rechercher une solution.</p>
<p>Dans un terminal, entrez: <em>sudo sendlog</em></p>
<p>(le programme doit être lancé en root pour pouvoir accéder aux fichiers de log)<em><br />
</em></p>
<h2>Programmation</h2>
<p>A l&#8217;installation, le programme a paramétré le cron de root afin de lancer l&#8217;envoi de mail tous les jours à minuit. Pas avant, sinon il vous manquerait du contenu dans les logs du jour, pas après, sinon ce serait les logs du lendemain.</p>
<p>Faites quelques essais, mais n&#8217;envoyez pas beaucoup de mails en peu de temps, cela risquerait de vous faire mettre en quarantaine par votre FAI.</p>
<p>Une fois le logiciel paramétré, il n&#8217;y a plus à y toucher.</p>
<p><strong>Servez vous, c&#8217;est GPL!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://astuces.absolacom.com/ubuntu/recevoir-les-logs-par-mail/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Installer un serveur LAMP avec Ubuntu</title>
		<link>http://astuces.absolacom.com/ubuntu/installer-un-serveur-lamp-avec-ubuntu/</link>
		<comments>http://astuces.absolacom.com/ubuntu/installer-un-serveur-lamp-avec-ubuntu/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 08:33:40 +0000</pubDate>
		<dc:creator>manuberro</dc:creator>
				<category><![CDATA[developpement]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[logiciel]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[système]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://astuces.absolacom.com/?p=357</guid>
		<description><![CDATA[Un serveur LAMP signifie Linux Apache Mysql Php. Il est possible d&#8217;installer et configurer chacun des services manuellement, mais il existe une autre façon plus simple et moins connue de faire tout ceci en une seule fois. Dans un terminal, entrez ceci: sudo tasksel install lamp-server Et c&#8217;est tout! Ou alors: sudo tasksel Et sélectionnez [...]]]></description>
			<content:encoded><![CDATA[<p>Un serveur LAMP signifie <strong>L</strong>inux <strong>A</strong>pache <strong>M</strong>ysql <strong>P</strong>hp. Il est possible d&#8217;installer et configurer chacun des services manuellement, mais il existe une autre façon plus simple et moins connue de faire tout ceci en une seule fois.</p>
<p>Dans un terminal, entrez ceci:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> tasksel <span style="color: #c20cb9; font-weight: bold;">install</span> lamp-server</pre></div></div>

<p>Et c&#8217;est tout!</p>
<p>Ou alors:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> tasksel</pre></div></div>

<p><a href="http://astuces.absolacom.com/wp-content/uploads/2009/12/tasksel.png"><img class="aligncenter size-thumbnail wp-image-358" title="tasksel" src="http://astuces.absolacom.com/wp-content/uploads/2009/12/tasksel-150x150.png" alt="tasksel" width="150" height="150" /></a></p>
<p>Et sélectionnez LAMP server, ou tout autre service que vous désirez installer.</p>
]]></content:encoded>
			<wfw:commentRss>http://astuces.absolacom.com/ubuntu/installer-un-serveur-lamp-avec-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Modifier un fichier PPD</title>
		<link>http://astuces.absolacom.com/systeme/modifier-un-fichier-ppd/</link>
		<comments>http://astuces.absolacom.com/systeme/modifier-un-fichier-ppd/#comments</comments>
		<pubDate>Tue, 19 May 2009 11:34:30 +0000</pubDate>
		<dc:creator>manuberro</dc:creator>
				<category><![CDATA[developpement]]></category>
		<category><![CDATA[logiciel]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[système]]></category>
		<category><![CDATA[tuning]]></category>
		<category><![CDATA[impression]]></category>
		<category><![CDATA[programmation]]></category>

		<guid isPermaLink="false">http://astuces.absolacom.com/?p=257</guid>
		<description><![CDATA[Il est parfois nécessaire de pouvoir modifier un driver d&#8217;imprimante pour ajuster son comportement. Ayant eu à le faire récemment, je vous livre mes observations pour vous éviter mes galères: Le fichier utilisé pour contrôler l&#8217;imprimante se trouve dans /etc/cups/ppd Il porte le nom que vous avez donné à l&#8217;imprimante lors de son installation (exemple: [...]]]></description>
			<content:encoded><![CDATA[<p>Il est parfois nécessaire de pouvoir modifier un driver d&#8217;imprimante pour ajuster son comportement. Ayant eu à le faire récemment, je vous livre mes observations pour vous éviter mes galères:</p>
<ul>
<li>Le fichier utilisé pour contrôler l&#8217;imprimante se trouve dans <em>/etc/cups/ppd</em></li>
<li>Il porte le nom que vous avez donné à l&#8217;imprimante lors de son installation (exemple: <em>copieur.ppd</em> si vous avez nommé votre imprimante <em>copieur</em>)</li>
<li>Lors de l&#8217;installation, ou en passant par le gestionnaire des imprimante (<em>Système /Administration/ Impression</em> ou <em>system-config-printer</em>), les options sélectionnées (bacs, format, couleur/gris, &#8230;) sont directement écrites dans le fichier ppd de l&#8217;imprimante</li>
<li>Après modification manuelle du fichier ppd, vous devez redémarrer cups (<em>/etc/init.d/cupsys restart</em>)</li>
<li>En cas d&#8217;erreur de syntaxe dans le fichier ppd, l&#8217;onglet correspondant à la section n&#8217;apparaît plus dans les options lors de l&#8217;impression</li>
<li>Si la commande est trop longue pour tenir sur une seule ligne, le reste de la commande est sur la ligne suivante, et la ligne suivante doit comporter <strong>*End </strong>pour clore la commande<strong>.<br />
</strong></li>
<li>exemple:

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">*</span>OpenUI <span style="color: #000000; font-weight: bold;">*</span>Fold<span style="color: #000000; font-weight: bold;">/</span>Pliage: PickOne
<span style="color: #000000; font-weight: bold;">*</span>OrderDependency: <span style="color: #000000;">3</span> AnySetup <span style="color: #000000; font-weight: bold;">*</span>Fold
<span style="color: #000000; font-weight: bold;">*</span>DefaultFold: None
<span style="color: #000000; font-weight: bold;">*</span>Fold None<span style="color: #000000; font-weight: bold;">/</span>Non:  <span style="color: #ff0000;">&quot;&amp;lt;&amp;lt; /FoldType (Off) &amp;gt;&amp;gt; /KMOptions /ProcSet findresource /setKMoptions get exec&quot;</span>
<span style="color: #000000; font-weight: bold;">*</span>Fold Stitch<span style="color: #000000; font-weight: bold;">/</span>Pliage et Agrafage centre:  <span style="color: #ff0000;">&quot;&amp;lt;&amp;lt; /Collate true &amp;gt;&amp;gt; setpagedevice
 &amp;lt;&amp;lt; /FoldType (CenterFoldIn) /StitchType true &amp;gt;&amp;gt; /KMOptions /ProcSet findresource /setKMoptions get exec&quot;</span>
<span style="color: #000000; font-weight: bold;">*</span>End
<span style="color: #000000; font-weight: bold;">*</span>Fold HalfFold<span style="color: #000000; font-weight: bold;">/</span>Pliage en deux:  <span style="color: #ff0000;">&quot;&amp;lt;&amp;lt; /Collate true &amp;gt;&amp;gt; setpagedevice
 &amp;lt;&amp;lt; /FoldType (CenterFoldIn) /StitchType false &amp;gt;&amp;gt; /KMOptions /ProcSet findresource /setKMoptions get exec&quot;</span>
<span style="color: #000000; font-weight: bold;">*</span>End
<span style="color: #000000; font-weight: bold;">*</span>Fold Stapling<span style="color: #000000; font-weight: bold;">/</span>Agrafage au milieu:  <span style="color: #ff0000;">&quot;&amp;lt;&amp;lt; /Collate true &amp;gt;&amp;gt; setpagedevice
 &amp;lt;&amp;lt; /Finish 1 &amp;gt;&amp;gt; /KMOptions /ProcSet findresource /setKMoptions get exec&quot;</span>
<span style="color: #000000; font-weight: bold;">*</span>End
<span style="color: #000000; font-weight: bold;">*</span>CloseUI: <span style="color: #000000; font-weight: bold;">*</span>Fold</pre></div></div>

</li>
<li>Pour commenter une ligne, elle doit commencer par <strong>*%.</strong> Pour commenter une commande sur 2 lignes,  supprimer le saut de ligne et commenter la ligne.</li>
<li>Faire attention au codage du fichier (en particulier pour les accents dans les labels). Un mauvais codage et le ppd ne fonctionne plus! Il est normalement (si le ppd est bien écrit) déclaré en haut de fichier:<em>*LanguageVersion: French</em> et <em>*LanguageEncoding: ISOLatin1</em></li>
<li>Toujours avoir une copie du ppd avant de le modifier. En cas d&#8217;erreur, il est parfois plus facile de tout recommencer au lieu de chercher quel caractère pose problème.</li>
<li>Éditez le code en root avec un éditeur de textes. Après enregistrement de vos modification, vous pourrez tester immédiatement un lancement d&#8217;impression pour aller vérifier les options que vous avez modifié<em>.</em></li>
<li>Avancez étape par étape. En cas de problème, vous saurez que cela vient de votre dernière modification.<em><br />
</em></li>
</ul>
<p>Grâce à cela, j&#8217;ai supprimé (mis en commentaire) les options qui apparaissaient dans les onglet lors de l&#8217;impression et qui perturbaient mes utilisateurs. J&#8217;ai aussi changé des labels pour les rendre plus explicites (1 face -&gt; Recto, 2 Faces -&gt; Recto Verso).</p>
<p>Une fois le ppd modifié et paramétré avec les options voulues par défaut, il suffit de le copier dans le dossier <em>/etc/cups/ppd</em> de chaque ordinateur en ayant besoin sous le nom de l&#8217;imprimante paramétrée et de relancer cups.</p>
]]></content:encoded>
			<wfw:commentRss>http://astuces.absolacom.com/systeme/modifier-un-fichier-ppd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilisation de Bazaar</title>
		<link>http://astuces.absolacom.com/ubuntu/utilisation-de-bazaar/</link>
		<comments>http://astuces.absolacom.com/ubuntu/utilisation-de-bazaar/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 15:00:00 +0000</pubDate>
		<dc:creator>manuberro</dc:creator>
				<category><![CDATA[developpement]]></category>
		<category><![CDATA[logiciel]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[memo]]></category>
		<category><![CDATA[programmation]]></category>

		<guid isPermaLink="false">http://astuces.absolacom.com/?p=98</guid>
		<description><![CDATA[Bazaar est un gestionnaire de version. L&#8217;un de ses avantages est qu&#8217;il permet d&#8217;utiliser les protocoles ssh ou ftp, ce qui signifie qu&#8217;il n&#8217;est pas nécessaire de monter un &#171;&#160;serveur&#160;&#187; bazaar pour l&#8217;utiliser; il suffit d&#8217;un serveur où vous pouvez vous connecter en ssh. Classement des dossiers L&#8217;organisation des dossiers est laissée à votre goût, [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Bazaar" href="http://doc.ubuntu-fr.org/bazaar" target="_blank">Bazaar</a> est un gestionnaire de version. L&#8217;un de ses avantages est qu&#8217;il permet d&#8217;utiliser les protocoles ssh ou ftp, ce qui signifie qu&#8217;il n&#8217;est pas nécessaire de monter un &laquo;&nbsp;serveur&nbsp;&raquo; bazaar pour l&#8217;utiliser; il suffit d&#8217;un serveur où vous pouvez vous connecter en ssh.</p>
<h2>Classement des dossiers</h2>
<p>L&#8217;organisation des dossiers est laissée à votre goût, mais pour simplifier les explications, voici l&#8217;organisation que nous allons adopter sur le serveur:</p>
<ul>
<li>Un dossier à la racine nommé <em>bzr</em> qui contiendra les divers projets à versionner</li>
<li>Un dossier par projet dans le dossier /bzr (<em>projet1</em> et <em>projet2</em> )</li>
<li>Les droits en lecture/écriture pour les membres du groupe <em>projet</em>s sur le dossier /bzr (récursivement)</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">addgroup projets              <span style="color: #666666; font-style: italic;"># ajout d'un groupe projets</span>
adduser manu projets        <span style="color: #666666; font-style: italic;"># ajout de l'utilisateur au groupe projets</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">/</span>bzr<span style="color: #000000; font-weight: bold;">/</span>projet1         <span style="color: #666666; font-style: italic;"># création du dossier du premier projet</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">/</span>bzr<span style="color: #000000; font-weight: bold;">/</span>projet2         <span style="color: #666666; font-style: italic;"># création du dossier du deuxième projet</span>
<span style="color: #c20cb9; font-weight: bold;">chgrp</span> <span style="color: #660033;">-R</span> projets <span style="color: #000000; font-weight: bold;">/</span>bzr         <span style="color: #666666; font-style: italic;"># attribution du groupe projet à tous les fichiers du répertoire /bzr</span>
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #660033;">-R</span> g+rw <span style="color: #000000; font-weight: bold;">/</span>bzr          <span style="color: #666666; font-style: italic;"># attribution des droits en lecture/écriture à tous les fichiers pour les membres du groupe projets</span></pre></div></div>

<p>Il n&#8217;est pas nécessaire d&#8217;installer bazaar sur le serveur, mais il est nécessaire que l&#8217;accès par ssh fonctionne, avec ou <a title="Identification ssh sans mot de passe" href="http://astuces.absolacom.com/?p=80" target="_blank">sans mot de passe</a>.</p>
<h2>Sur les clients</h2>
<h3>Mise en place du projet sur le serveur</h3>
<p>Ce sont les clients (qui vont modifier le code des projets) qui doivent installer le logiciel bazaar</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> bzr python-paramiko</pre></div></div>

<p>Les préférences de bazaar (limitées) se trouvent dans <em>Système/Préférences/Bazaar preferences</em></p>
<p>Ce sont eux, aussi, qui vont initier le versionning, à l&#8217;endroit qui leur va bien:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> ~<span style="color: #000000; font-weight: bold;">/</span>projets
<span style="color: #c20cb9; font-weight: bold;">mv</span> ~<span style="color: #000000; font-weight: bold;">/</span>Bureau<span style="color: #000000; font-weight: bold;">/</span>monprojet ~<span style="color: #000000; font-weight: bold;">/</span>projets <span style="color: #666666; font-style: italic;"># déplacement des fichiers du prototype dans les projets</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>projets<span style="color: #000000; font-weight: bold;">/</span>monprojet
bzr init                        <span style="color: #666666; font-style: italic;"># initialisation du versionning du projet</span>
bzr add <span style="color: #000000; font-weight: bold;">*</span>                    <span style="color: #666666; font-style: italic;"># ajout de tous les fichiers (récursif) au versionning</span>
bzr commit <span style="color: #660033;">-m</span> <span style="color: #ff0000;">&quot;Création&quot;</span> <span style="color: #666666; font-style: italic;"># prise en compte des modifications avec le commentaire &quot;Création&quot;</span>
bzr push sftp:<span style="color: #000000; font-weight: bold;">//</span>manu<span style="color: #000000; font-weight: bold;">@</span>server<span style="color: #000000; font-weight: bold;">/</span>bzr<span style="color: #000000; font-weight: bold;">/</span>projet1 <span style="color: #660033;">--use-existing-dir</span> <span style="color: #666666; font-style: italic;"># envoi de la version du projet sur le serveur en utilisant les répertoires créés plus haut.</span></pre></div></div>

<h3>Récupération des fichiers sur un autre client</h3>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> ~<span style="color: #000000; font-weight: bold;">/</span>beauprojet     <span style="color: #666666; font-style: italic;"># création du dossier qui va accueillir le projet</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>beauprojet
bzr init                     <span style="color: #666666; font-style: italic;"># initialisation du dossier au versionning</span>
bzr merge sftp:<span style="color: #000000; font-weight: bold;">//</span>toto<span style="color: #000000; font-weight: bold;">@</span>server<span style="color: #000000; font-weight: bold;">/</span>bzr<span style="color: #000000; font-weight: bold;">/</span>projet1<span style="color: #000000; font-weight: bold;">/</span>  <span style="color: #666666; font-style: italic;"># intégration des fichiers de &quot;monprojet&quot; dans le dossier &quot;beauprojet&quot; dans lequel on se trouve</span></pre></div></div>

<p>Chacun des clients possède maintenant les fichiers sur lesquels effectuer les développements</p>
<h3>Codage!</h3>
<p>Les clients vont effectuer les modifications sur les documents. Après chaque modification (enfin, chaque fin de bloc de modification) ou avant l&#8217;envoi des fichiers modifiés, il faudra effectuer la commande suivante (qu&#8217;ils aient décidé ou non d&#8217;envoyer les fichiers sur le serveur. Les commit peuvent être fait hors connexion.):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">bzr commit <span style="color: #660033;">-m</span> <span style="color: #ff0000;">&quot;message&quot;</span></pre></div></div>

<p>qui permet de prendre en compte les modifications effectuées dans le versionning et, accessoirement, de revenir à une version antérieure.</p>
<p>Il suffit ensuite &laquo;&nbsp;d&#8217;assembler&nbsp;&raquo; les fichiers modifiés avec ceux du serveur, que ceux ci aient été modifiés ou non par une autre personne:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">bzr merge sftp:<span style="color: #000000; font-weight: bold;">//</span>toto<span style="color: #000000; font-weight: bold;">@</span>server<span style="color: #000000; font-weight: bold;">/</span>bzr<span style="color: #000000; font-weight: bold;">/</span>projet1<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>Enfin, les fichiers &laquo;&nbsp;finaux&nbsp;&raquo; sont envoyés sur le serveur afin d&#8217;être disponibles pour tous les développeurs:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">bzr push sftp:<span style="color: #000000; font-weight: bold;">//</span>toto<span style="color: #000000; font-weight: bold;">@</span>server<span style="color: #000000; font-weight: bold;">/</span>bzr<span style="color: #000000; font-weight: bold;">/</span>projet1<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<h2>A retenir</h2>
<ul>
<li>Il ne suffit pas d&#8217;ajouter un fichier/dossier au répertoire du projet pour qu&#8217;il soit pris en compte. Il faut le faire manuellement avec <strong>bzr add <em>lefichier</em></strong></li>
<li>Pour supprimer un fichier, il faut utiliser <strong>bzr remove <em>lefichier</em></strong></li>
<li>la commande <strong>bzr status</strong> permet de savoir l&#8217;état des fichier (plus exactement, du versionning)</li>
<li>La commande <strong>bzr log</strong> permet de voir le log des changements avec les commentaires</li>
<li>la commande <strong>bzr conflicts</strong> affiche les versions de fichiers en conflits</li>
<li>La commande <strong>bzr resolve</strong> <em><strong>lefichier</strong></em> permet de résoudre les conflits dans le fichier <em>lefichier</em></li>
<li>Le manuel de <strong>bzr</strong> donne plein d&#8217;informations et de commandes utilisables</li>
</ul>
<h2>Interface graphique</h2>
<p>Il existe une interface graphique pour bazaar nommée olive (paquet bzr-gtk) que je n&#8217;ai pas réussi à utiliser: impossible de comprendre les messages d&#8217;erreur (pas parlant) et pas trouvé de configuration à effectuer (ni dans le programme, ni dans les fichiers de configuration).</p>
<p>Pas grave, je suis un adepte de la ligne de commande.</p>
<h3>Autres sources:</h3>
<p><a title="Documentation Bazaar" href="http://bazaar-vcs.org/fr/IntroductionABzr" target="_blank">http://bazaar-vcs.org/fr/IntroductionABzr</a></p>
]]></content:encoded>
			<wfw:commentRss>http://astuces.absolacom.com/ubuntu/utilisation-de-bazaar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Identification SSH sans mot de passe</title>
		<link>http://astuces.absolacom.com/non-classe/identification-ssh-sans-mot-de-passe/</link>
		<comments>http://astuces.absolacom.com/non-classe/identification-ssh-sans-mot-de-passe/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 13:28:10 +0000</pubDate>
		<dc:creator>manuberro</dc:creator>
				<category><![CDATA[developpement]]></category>
		<category><![CDATA[logiciel]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[système]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[memo]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://astuces.absolacom.com/?p=80</guid>
		<description><![CDATA[Pour utiliser SSH (et dérivés tels que sftp) sans mot de passe, il faut ajouter votre clef sur le serveur. Nous aurons donc un ordinateur (manu-desktop) qui pourra se connecter à un serveur (server) par ssh sans avoir besoin de spécifier de mot de passe. Notez qu&#8217;il existe des outils graphiques pour réaliser ces opérations [...]]]></description>
			<content:encoded><![CDATA[<p>Pour utiliser SSH (et dérivés tels que sftp) sans mot de passe, il faut ajouter votre clef sur le serveur. Nous aurons donc un ordinateur (<em>manu-desktop</em>) qui pourra se connecter à un serveur (<em>server</em>) par ssh sans avoir besoin de spécifier de mot de passe.</p>
<p>Notez qu&#8217;il existe des outils graphiques pour réaliser ces opérations (par exemple seahorse sous Gnome), mais je n&#8217;en parlerais pas.</p>
<h2>Sur l&#8217;ordinateur client (<em>manu-desktop</em>)</h2>
<p>La première chose à faire, si vous n&#8217;avez pas de clef pour votre machine, est d&#8217;en générer une</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">manu<span style="color: #000000; font-weight: bold;">@</span>manu-desktop:~$ <span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span>
Generating public<span style="color: #000000; font-weight: bold;">/</span>private rsa key pair.
Enter <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #c20cb9; font-weight: bold;">which</span> to save the key <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>manu<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa<span style="color: #7a0874; font-weight: bold;">&#41;</span>:
Created directory <span style="color: #ff0000;">'/home/manu/.ssh'</span>.
Enter passphrase <span style="color: #7a0874; font-weight: bold;">&#40;</span>empty <span style="color: #000000; font-weight: bold;">for</span> no passphrase<span style="color: #7a0874; font-weight: bold;">&#41;</span>:
Enter same passphrase again:
Your identification has been saved <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>manu<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa.
Your public key has been saved <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>manu<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa.pub.
The key fingerprint is:
<span style="color: #7a0874; font-weight: bold;">cd</span>:9e:bb:0a:1e:<span style="color: #000000;">22</span>:<span style="color: #000000;">29</span>:fa:e3:<span style="color: #c20cb9; font-weight: bold;">dc</span>:<span style="color: #000000;">12</span>:<span style="color: #000000;">72</span>:8a:<span style="color: #000000;">15</span>:<span style="color: #000000;">13</span>:<span style="color: #000000;">58</span> manu<span style="color: #000000; font-weight: bold;">@</span>manu-desktop
manu<span style="color: #000000; font-weight: bold;">@</span>manu-desktop:~$ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> ~<span style="color: #000000; font-weight: bold;">/</span>.ssh
total <span style="color: #000000;">8</span>,0K
<span style="color: #000000;">3367418</span> <span style="color: #660033;">-rw-------</span> <span style="color: #000000;">1</span> manu manu <span style="color: #000000;">1</span>,7K <span style="color: #000000;">2009</span>-01-<span style="color: #000000;">15</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">26</span> id_rsa
<span style="color: #000000;">3367419</span> <span style="color: #660033;">-rw-r--r--</span> <span style="color: #000000;">1</span> manu manu  <span style="color: #000000;">399</span> <span style="color: #000000;">2009</span>-01-<span style="color: #000000;">15</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">26</span> id_rsa.pub
manu<span style="color: #000000; font-weight: bold;">@</span>manu-desktop:~$</pre></div></div>

<p>Ne mettez pas de passphrase et laisser les options par défaut pour la création de la clef. Il est aussi possible de spécifier les options via la ligne de commande:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span> <span style="color: #660033;">-qt</span> rsa <span style="color: #660033;">-b</span> <span style="color: #000000;">1024</span> <span style="color: #660033;">-C</span> manu <span style="color: #660033;">-f</span> ~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>manu<span style="color: #000000; font-weight: bold;">@</span>manu-desktop.rsa <span style="color: #660033;">-N</span> <span style="color: #ff0000;">&quot;&quot;</span></pre></div></div>

<p>La commande précédente crée une clef rsa (-t) avec le commentaire (-C) manu d&#8217;une longueur de 1024 bits (-b) dans le fichier ~/.ssh/manu@manu-desktop.rsa (-f) avec une passphrase (-N) vide.</p>
<h2>Sur le serveur (<em>server</em>)</h2>
<p>Le compte utilisateur de connexion doit exister. Il n&#8217;est pas obligé que ce soit le même identifiant que sur le client.  Par exemple, sur le serveur, mon compte est nommé <strong>zephir</strong>.</p>
<pre class="brush: python; title: ; notranslate">
[root@server]:# adduser zephir
Ajout de l'utilisateur « zephir »...
Ajout du nouveau groupe « zephir » (1002)...
Ajout du nouvel utilisateur « zephir » (1002) avec le groupe « zephir »...
Création du répertoire personnel « /home/zephir »...
Copie des fichiers depuis « /etc/skel »...
Entrez le nouveau mot de passe UNIX :
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succès
Modification des informations relatives à l'utilisateur zephir
Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée
Nom complet []:
N° de bureau []:
Téléphone professionnel []:
Téléphone personnel []:
Autre []:
Ces informations sont-elles correctes ? [o/N] o
[root@server]:#
</pre>
<h2>Sur l&#8217;ordinateur client (<em>manu-desktop</em>), fin des opérations</h2>
<p>Il ne reste plus au client qu&#8217;à envoyer sa clef d&#8217;identification au serveur simplement par la commande suivante:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">ssh-copy-id <span style="color: #660033;">-i</span> ~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa.pub zephir<span style="color: #000000; font-weight: bold;">@</span>server</pre></div></div>

<p>Acceptez l&#8217;identification du serveur, le mot de passe est demandé (puisque vous n&#8217;avez pas encore envoyé la clef) et la clef est copiée dans le fichier /home/zephir/.ssh/authorized_keys.<br />
Tentez la commande suivante (Ctrl+D pour sortir)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> zephir<span style="color: #000000; font-weight: bold;">@</span>server</pre></div></div>

<p>Vous ne devriez plus avoir de demande de mot de passe.</p>
<h2>Sur le serveur, fin des opérations</h2>
<p>Il est possible de sécuriser le serveur afin de n&#8217;accepter que les authentifications avec clef et sans demande de mot de passe (pour ssh. L&#8217;accès en local demandera toujours un mot de passe).<br />
Ainsi, les tentatives d&#8217;attaque par force brute sont vouées à l&#8217;échec. MAIS, soyez conscient que vous ne pourrez plus vous connecter depuis une autre machine que celle pour laquelle vous avez envoyé la clef, pas plus que vous ne pourrez envoyer d&#8217;autres clefs.<br />
Paramétrez le fichier /etc/ssh/sshd_config tel que ci dessous:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Authentication:</span>
LoginGraceTime <span style="color: #000000;">120</span>
PermitRootLogin <span style="color: #c20cb9; font-weight: bold;">yes</span>
StrictModes <span style="color: #c20cb9; font-weight: bold;">yes</span>
&nbsp;
RSAAuthentication <span style="color: #c20cb9; font-weight: bold;">yes</span>
PubkeyAuthentication <span style="color: #c20cb9; font-weight: bold;">yes</span>
AuthorizedKeysFile      <span style="color: #000000; font-weight: bold;">%</span>h<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>authorized_keys
&nbsp;
<span style="color: #666666; font-style: italic;"># Change to no to disable tunnelled clear text passwords</span>
PasswordAuthentication no</pre></div></div>

<p>Relancez ensuite le serveur ssh pour prendre en compte les modifications.</p>
<h3>Note sur la sécurité</h3>
<p>L&#8217;accès au serveur est possible sans authentification par l&#8217;utilisateur manu depuis l&#8217;ordinateur client <em>(manu-desktop</em>). Si cet ordinateur est un portable et qu&#8217;il se fait voler, celui qui arrivera à se connecter avec l&#8217;identité de manu arrivera sans demande de mot de passe à se connecter au serveur !<br />
Réfléchissez bien à l&#8217;utilisation de ce mode de fonctionnement avant de le mettre en place.<br />
En cas de vol, il suffira de supprimer le fichier /home/zephir/.ssh/authorized_keys pour que la clef volée avec le portable ne soit plus opérationnelle.<br />
Vous pouvez, de même, recréer et changer vos clefs d&#8217;identification lorsque vous le voulez en réutilisant les commandes données en début d&#8217;article.</p>
<p>Liens:</p>
<p><a title="gnugpg" href="http://doc.ubuntu-fr.org/gnupg" target="_blank">http://doc.ubuntu-fr.org/gnupg</a><br />
<a title="Documentation ssh sur Ubuntu" href="http://doc.ubuntu-fr.org/ssh" target="_blank">http://doc.ubuntu-fr.org/ssh</a></p>
]]></content:encoded>
			<wfw:commentRss>http://astuces.absolacom.com/non-classe/identification-ssh-sans-mot-de-passe/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Créer (compiler et packager) ses programmes en paquet .deb pour ubuntu ou debian</title>
		<link>http://astuces.absolacom.com/ubuntu/creer-compiler-et-packager-ses-programmes-en-paquet-deb-pour-ubuntu-ou-debian/</link>
		<comments>http://astuces.absolacom.com/ubuntu/creer-compiler-et-packager-ses-programmes-en-paquet-deb-pour-ubuntu-ou-debian/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 22:23:57 +0000</pubDate>
		<dc:creator>manuberro</dc:creator>
				<category><![CDATA[developpement]]></category>
		<category><![CDATA[logiciel]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[depot]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[paquet]]></category>

		<guid isPermaLink="false">http://astuces.absolacom.com/?p=24</guid>
		<description><![CDATA[Le programme Debdevel permet de créer facilement et rapidement des paquet deb pouvant être installés sur Ubuntu, mais aussi toutes les dérivées de debian utilisant le gestionnaire de paquets apt (knoppix, mepis, &#8230;), à partir de vos propres programmes ou à partir de sources d&#8217;autres programmes. Vous pourrez packager vos programmes, quel que soit le [...]]]></description>
			<content:encoded><![CDATA[<p>Le programme <strong>Debdevel</strong> permet de créer facilement et rapidement des paquet deb pouvant être installés sur Ubuntu, mais aussi toutes les dérivées de debian utilisant le gestionnaire de paquets apt (knoppix, mepis, &#8230;), à partir de vos propres programmes ou à partir de sources d&#8217;autres programmes.</p>
<p>Vous pourrez packager vos programmes, quel que soit le language de programmation (python, bash, C, &#8230;), voire même des documentations, fiches techniques, fichiers texte, &#8230; (bien que l&#8217;intérêt en soit limité, ça reste possible).</p>
<p>Mais ce logiciel (cette suite de logiciels, en fait), va plus loin, puisqu&#8217;elle vous permet aussi de:</p>
<ul>
<li>Générer automatiquement des squelettes de documentation qu&#8217;il ne reste plus qu&#8217;à remplir (il est possible de rajouter vos propres modèles de documentation, au format voulu),</li>
<li>Créer un dépôt personnel en local,</li>
<li>Gérer un dépôt public (local ou distant),</li>
<li>Gérer trois niveaux de développement (dev, beta et stable),</li>
<li>Publier seulement l&#8217;un ou plusieurs niveaux de développement, et garder les autres privés,</li>
<li>Gérer autant de paquets que désiré, dans chacun des niveaux de développement,</li>
<li>Gérer autant de dépôts que désiré,</li>
<li>Tout faire graphiquement, sans ligne de commande ,</li>
<li>Tout fonctionne avec le clic droit de nautilus (bientôt konqueror et dolphin pour les utilisateurs de KDE, mais les logiciels fonctionnent cependant en ligne de commande avec KDE) ,</li>
<li>Trouver facilement une dépendance dans l&#8217;ensemble de vos paquets,</li>
<li>Trouver facilement et rapidement un terme ou du code dans l&#8217;ensemble des scripts de vos paquets,</li>
<li>Et d&#8217;autres choses en cours de développement.</li>
</ul>
<p><img src="http://docu.absolacom.com/lib/exe/fetch.php/absolacom:developpements:debdevel:debdevel-tools_docskel_docuwiki_start.png" alt="Menu du clic droit" width="550" height="350" align="center" /></p>
<p>Bref, il faut 3 minutes sans connaissance particulière pour créer un dépôt, 3 minutes pour créer un paquet et y installer votre programme, 1 minute pour en faire un paquet deb et une minute pour le rendre public et accessible à vos utilisateurs par leur gestionnaire de paquet (apt-get, aptitude ou synaptic) qui les avertira automatiquement lorsqu&#8217;une mise à jour sera disponible. Et la mise à jour d&#8217;un paquet (en dehors du temps de correction de votre programme) prend moins d&#8217;une minute.</p>
<p>De quoi développer rapidement et facilement, sans se préoccuper de gérer les versions ou craindre de mélanger les programmes de dev avec les versions publiques, et éviter de passer du temps à se demander comment créer un paquet deb pour les publier!</p>
<p>Précisons quand même que ce programme <span style="text-decoration: underline;">ne développera pas de programmes à votre place</span> mais vous simplifiera le packaging et la distribution de ceux ci.</p>
<p>La documentation est accessible <a title="Documentation de debdevel" href="http://docu.absolacom.com/doku.php/absolacom:developpements:debdevel" target="_blank">ici</a> . Elle vous indique toutes les procédures, du téléchargement à l&#8217;utilisation.</p>
]]></content:encoded>
			<wfw:commentRss>http://astuces.absolacom.com/ubuntu/creer-compiler-et-packager-ses-programmes-en-paquet-deb-pour-ubuntu-ou-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Envoyer un mail avec pièces jointes en python</title>
		<link>http://astuces.absolacom.com/developpement/envoyer-un-mail-avec-pieces-jointes-en-python/</link>
		<comments>http://astuces.absolacom.com/developpement/envoyer-un-mail-avec-pieces-jointes-en-python/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 21:18:06 +0000</pubDate>
		<dc:creator>manuberro</dc:creator>
				<category><![CDATA[developpement]]></category>
		<category><![CDATA[messagerie]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[pièces jointes]]></category>
		<category><![CDATA[programmation]]></category>

		<guid isPermaLink="false">http://astuces.absolacom.com/?p=16</guid>
		<description><![CDATA[Envoyer un mail avec pièces jointes avec python est simple en utilisant le code ci dessous. C'est tout! Ah, si! N'utilisez pas ceci à tout va: il est facile de se faire blacklister avec l'étiquette "spammeur". Et il est très difficile de se faire dé-blacklister. Attention à la taille des pièces jointes. Si vous dépassez [...]]]></description>
			<content:encoded><![CDATA[<p>Envoyer un mail avec pièces jointes avec python est simple en utilisant le code ci dessous.<code>
<pre class="brush: python; title: ; notranslate">&lt;/code&gt;

import smtplib

import os
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encodersdef send_mail(send_from, send_to, subject, text, files=[], server=&quot;localhost&quot;):

assert type(send_to)==list
assert type(files)==list
msg = MIMEMultipart()
msg['From'] = send_from
msg['To'] = COMMASPACE.join(send_to)
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = subject
msg.attach( MIMEText(text) )

for f in files:
part = MIMEBase('application', &quot;octet-stream&quot;)
print f
part.set_payload( open(f,&quot;rb&quot;).read())
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename=&quot;%s&quot;' % os.path.basename(f))

msg.attach(part)

smtp = smtplib.SMTP(server)
smtp.sendmail(send_from, send_to, msg.as_string())
smtp.close()

retour = &quot;Une erreur s'est produite lors de l'envoi de mail&quot;
files = [ 'monfichier1.zip', '/tmp/le_fichier.pdf' ] # les pièces jointes avec leur chemin
destinataires = [ 'moi@monsite.com', 'moncopain@chez.lui' ]

try:
send_mail('expediteur@monsite.com', destinataires , &quot;Sujet du mail&quot;, &quot;Texte du message&quot;,files , 'smtp.free.fr')
except:
send_mail('expediteur@monsite.com', [ 'adresse@secours.fr'] , &quot; [ERROR ] Sujet du message&quot;, retour ,[] , 'smtp.free.fr')
</pre>
<p>C'est tout!</p>
<p>Ah, si!</p>
<ul>
<li>N'utilisez pas ceci à tout va: il est facile de se faire blacklister avec l'étiquette "spammeur". Et il est très difficile de se faire dé-blacklister.</li>
<li>Attention à la taille des pièces jointes. Si vous dépassez la taille limite de votre FAI (30Mo chez free), une erreur bloque le script avec un message du type:  <em>smtplib.SMTPSenderRefused: (552, 'Message size exceeds fixed limit', 'expediteur@monsite.com')</em></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://astuces.absolacom.com/developpement/envoyer-un-mail-avec-pieces-jointes-en-python/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Répondre une seule fois aux questions d&#8217;installation des paquets</title>
		<link>http://astuces.absolacom.com/ubuntu/repondre-une-seule-fois-aux-questions-dinstallation-des-paquets/</link>
		<comments>http://astuces.absolacom.com/ubuntu/repondre-une-seule-fois-aux-questions-dinstallation-des-paquets/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 14:26:09 +0000</pubDate>
		<dc:creator>manuberro</dc:creator>
				<category><![CDATA[developpement]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[système]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[debconf]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[question]]></category>

		<guid isPermaLink="false">http://astuces.absolacom.com/?p=14</guid>
		<description><![CDATA[Lorsque vous avez à installer plusieurs machines identiquement, vous allez répondre à chaque fois aux questions d&#8217;installation de tous les paquets. Quand on a configuré une machine, il est possible de transférer toutes les réponses d&#8217;installations. Installez debconf-utils sur tous les ordinateurs. Sur la machine installée: debconf-get-selections &#62; /tmp/reponses.txt Copiez le fichier reponses.txt sur un [...]]]></description>
			<content:encoded><![CDATA[<p>Lorsque vous avez à installer plusieurs machines identiquement, vous allez répondre à chaque fois aux questions d&#8217;installation de tous les paquets.</p>
<p>Quand on a configuré une machine, il est possible de transférer toutes les réponses d&#8217;installations.</p>
<p>Installez <strong>debconf-utils</strong> sur tous les ordinateurs.</p>
<p><u>Sur la machine installée:</u></p>
<p>debconf-get-selections &gt; /tmp/reponses.txt</p>
<p>Copiez le fichier<em> reponses.txt</em> sur un support ou par le réseau sur la machine à installer.</p>
<p><u>Sur la machine à installer:</u></p>
<p>debconf-set-selections -c  /media/reponses.txt <em># option -c pour tester le fichier</em></p>
<p>debconf-set-selections   /media/reponses.txt <em># installation des réponses dans la base de debconf /var/cache/debconf/config.dat</em></p>
<p>C&#8217;est utile pour les sauvegardes/restaurations rapides, pour installer rapidement plusieurs ordinateurs, pour reparamétrer en ligne de commande un logiciel, &#8230;</p>
<p><strong> Rappel:</strong></p>
<p>Pour sauvegarder la liste des programmes installés: <em>dpkg &#8211;get-selections &gt; /tmp/listprog.txt</em></p>
<p>Pour installer l&#8217;ensemble des logiciels sur la seconde machine: <em>dpkg &#8211;set-selections &lt; /media/listprog.txt </em></p>
]]></content:encoded>
			<wfw:commentRss>http://astuces.absolacom.com/ubuntu/repondre-une-seule-fois-aux-questions-dinstallation-des-paquets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

