mirror of
https://forge.chapril.org/tykayn/orgmode-to-gemini-blog
synced 2025-06-20 09:04:42 +02:00
up
This commit is contained in:
parent
0a189bd6ad
commit
381ac44b8b
906 changed files with 28485 additions and 12762 deletions
|
@ -1,266 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li><p>ID: 196</p></li>
|
||||
<li><p>guid:</p></li>
|
||||
<li><p>status: publish</p></li>
|
||||
<li><p>publié le: <2016-01-02 11:07:25></p></li>
|
||||
<li><p>modifié: <2018-08-22 15:09:59></p></li>
|
||||
<li><p>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></p>
|
||||
<p><a href="id:53ffed85-03d0-4fb2-90b5-af2ffbcc3a0d">méthode
|
||||
gtd</a></p></li>
|
||||
</ul>
|
||||
<h2 id="gestion-de-projet">Gestion de projet</h2>
|
||||
<p>(image de chez <a href="https://www.hteumeuleu.fr/">Hteumeuleu</a>)
|
||||
Vous avez sans doute réalisé quelques projets et réalisé la déconvenue
|
||||
qu'entraîne une gestion de projet inexistante quand la bise fut venue.
|
||||
Voici donc une série de posts sur mon expérience de la gestion de
|
||||
projets web de plusieurs mois en petites équipes jusqu'a une quinzaine
|
||||
de personnes, applicable également à d'autres domaines que le web comme
|
||||
par example la publication de livres collectifs auto édités auquel j'ai
|
||||
pu contribuer dans une équipe entre ving et trente contributeurs.</p>
|
||||
<h2 dir="ltr" style="line-height: 1.38;"
|
||||
id="causes-générales-de-retard-dans-un-projet">Causes générales de
|
||||
retard dans un projet</h2>
|
||||
<p>Un projet s'étire dans le temps bien souvent pour ces raisons:</p>
|
||||
<ul>
|
||||
<li>des réponses trop lentes entre les parties, client et autres équipes
|
||||
sans cesse en congés.</li>
|
||||
<li>des personnes incapables de se débrouiller seules un minimum.</li>
|
||||
<li>deux personnes ont travaillé sur la même chose sans le savoir et se
|
||||
marchent sur les pieds.</li>
|
||||
<li>on ne sait pas à qui s'adresser ni ce dont nos collègues
|
||||
s'occupent.</li>
|
||||
<li>le présentéisme tuant la productivité et la motivation des troupes
|
||||
en leur faisant croire que rester longtemps sur son lieu de travail (et
|
||||
donc ne plus avoir de vie privée ou de sommeil) est une bonne
|
||||
chose.</li>
|
||||
<li>les membres n'ont pas les informations dont ils ont besoin pour
|
||||
travailler.</li>
|
||||
<li>rester avec des pratiques dépassées de plusieurs années.</li>
|
||||
<li>empêcher les gens de travailler pour des raisons de politiques
|
||||
d'entreprise.</li>
|
||||
<li>n'avoir aucune formation aux outils utilisés, ou ne pas avoir
|
||||
d'outils mis en place pour faire gagner du temps.</li>
|
||||
<li>pas de tests automatisés. Vous n'avez donc aucune idée de ce que les
|
||||
dernières modifications impactent dans le reste du code.</li>
|
||||
<li>pas de retour utilisateur. Vous ne pouvez donc pas deviner que ce
|
||||
que vous trouviez très joli est en fait un frein à l'utilisabilité de
|
||||
votre site en plus d'énerver ses utilisateurs.</li>
|
||||
<li>un réseau pourri qui vous empêche de transmettre de gros fichiers en
|
||||
un clin d'oeil</li>
|
||||
<li>du matériel trop vieux pour travailler sans attendre qu'il réagisse.
|
||||
Si vous radinez sur le matériel, vous le paierez en rallongeant le temps
|
||||
que prendra le projet, ce qui coûte en général bien plus cher.</li>
|
||||
<li>pas de backups ni de gestion de version, au moindre disque dur qui
|
||||
meurt vous perdez des semaines de travail.</li>
|
||||
<li>des mises en production peu fréquentes.</li>
|
||||
<li>des boites noires avec lequelles on doit interagir mais dont on a
|
||||
aucun moyen de deviner le fonctionnement.</li>
|
||||
<li>des priorités indéfinies ou incorrectes, un mauvais ordre des
|
||||
tâches.</li>
|
||||
<li>des tâches trop grosses ou trop vagues pour savoir par où commencer,
|
||||
il faut les découper en des étapes bien plus petites.</li>
|
||||
<li>n'avoir aucune vue d'ensemble de l'avancement du projet.</li>
|
||||
<li>croire que tout est urgent, c'est manquer cruellement de
|
||||
discernement.</li>
|
||||
<li>la documentation laisse à désirer, le code n'est pas commenté.</li>
|
||||
<li>on ne retrouve pas des infos que l'on cherche</li>
|
||||
<li>des estimations à trop long terme, ne prévoyez que pour la semaine
|
||||
en cours.</li>
|
||||
<li>l'illusion que l'on peut tout prévoir et que tout se passera sans la
|
||||
moindre difficulté ou changement de cap.</li>
|
||||
<li>accepter toutes les modifications demandées par le client parce
|
||||
qu'on ne veut pas dire non, et vouloir donc faire davantage de boulot
|
||||
dans le même délai.</li>
|
||||
</ul>
|
||||
<p>Nous allons voir plus en détail comment résoudre ces problèmes
|
||||
courants dans les posts suivants.</p>
|
||||
<p>Et bonne nanée 2016!</p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
|
@ -1,212 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 316</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2016-08-24 15:39:18></li>
|
||||
<li>modifié: <2016-08-24 15:39:18></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="changer-léditeur-de-texte-associé-à-git">changer l'éditeur de
|
||||
texte associé à git</h2>
|
||||
<p>J'utilise beaucoup Nano comme éditeur de texte en ligne de commande,
|
||||
certains fous furieux utilisent Vi ou Vim, mais vous pouvez être encore
|
||||
plus un hipster en utilisant carrément gedit sur votre bureau perso
|
||||
lorsque vous voulez faire une bidouille de message de commit ou un
|
||||
<em>git rebase interactif</em> sans vous embêter à retenir des
|
||||
raccourcis chelous pour déplacer des lignes ou faire des
|
||||
remplacements.</p>
|
||||
<pre class="example"><code>git config --global core.editor gedit
|
||||
</code></pre>
|
||||
<p>notez aussi que gedit peut faire de la mise en couleur de code avec
|
||||
plusieurs profils au choix (menu edition/préférence/couleurs) pour se
|
||||
faire moins éblouir à la longue, ce qui peut aider quand on passe plein
|
||||
de temps devant un écran.</p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
|
@ -1,286 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 339</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2016-09-25 22:07:50></li>
|
||||
<li>modifié: <2018-07-25 12:52:19></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="ne-vous-dites-pas-programmeur-1">ne vous dites pas
|
||||
programmeur</h2>
|
||||
<p> Dans son article <a
|
||||
href="https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/">Don't
|
||||
call yourself a programmer</a>, <a
|
||||
href="https://www.kalzumeus.com/">Patrick McKenzie</a> donne des
|
||||
conseils de gestion de carrière pour toute personne exerçant dans le
|
||||
métier, en comparant les légendes scolaires et le marché de la vraie vie
|
||||
de Auchan où parler d'argent est une phobie et savoir négocier fait
|
||||
peur. Voici quelques sujets abordés: 90% des boulots de programmation
|
||||
sont des programmes réservés à l'usage interne d'entreprises. Ils
|
||||
consistent principalement à faire des CRUD plus ou moins ennuyeux. Ne
|
||||
vous attendez donc pas à des challenges techniques à tout bout de champ.
|
||||
Les ingénieurs sont embauchés pour apporter de la valeur à un business,
|
||||
soit en lui faisant gagner de l'argent soit en lui permettant d'en
|
||||
dépenser moins. pas pour programmer des trucs. Ne vous appelez pas un
|
||||
programmeur. "programmeur" sonne comme "péon anonyme qui coûte cher pour
|
||||
taper du biduule-chose dans un autre bidule-chose ". Vous n'êtes pas
|
||||
défini par la stack logicielle que vous connaissez. Les personnes qui
|
||||
ont besoin de vos services n'ont que faire du langage et des frameworks
|
||||
que vous utilisez du moment que vous améliorez leur business. Vos
|
||||
collègues et supérieurs ne seront habituellement pas des amis, et en
|
||||
conséquence vous demanderont de faire des choses que jamais des amis ne
|
||||
vous demanderaient. Vous surestimez radicalement le talent moyen dans la
|
||||
compétition à cause des personnes qui vous entourent
|
||||
professionnellement. "Voir une annonce, envoyer un CV, aller à un
|
||||
entretien, recevoir une offre" est l'exception, pas la règle, pour
|
||||
obtenir un emploi. Le réseau, ce n'est pas que pour les paquets TCP. Les
|
||||
études supérieures ne sont pas représentatives du monde réel. (Comme
|
||||
dirait Coluche "le commissaire de l'armée il me dit: on ne vous apprend
|
||||
rien à l'école? j'y répond : ben non, mais si vous y aviez été vous le
|
||||
sauriez) <img
|
||||
src="https://www.cipherbliss.com/wp-content/uploads/2016/09/popopo_antoine_daniel_wtc.jpg" />
|
||||
(PO PO POOOOOOO!!) Combien gagnent les ingénieurs? Mauvaise question. La
|
||||
bonne question c'est "<em>pour quels genres d'offres est ce que les
|
||||
ingénieurs travaillent-ils?</em>", car le salaire est un des nombreux
|
||||
leviers que les gens peuvent utiliser pour vous motiver. La réponse à
|
||||
cela, pas des plus utiles est, "les opportunités sont aux quatre coins
|
||||
de la rue". Les personnes douées en négociation gagnent plus que celles
|
||||
qui ne le sont pas. Patrick ajoute que si il était un complotiste
|
||||
Marxiste, il dirait que c'est une construction sociale en faveur des
|
||||
entreprises afin de toujours gagner plus sur le dos de leurs employés en
|
||||
toute impunité. :D [caption id="" align="aligncenter" width="640"]<a
|
||||
href="https://laughingsquid.com/marxist-utopia-a-t-shirt-design-uniting-yo-mamma-jokes-marxism/">[[<span>https://laughingsquid.com/wp-content/uploads/2013/05/shirtFrontBig.jpg</span></a>]]
|
||||
un t-shirt de marx dessiné par Zach Weiner[/caption] Comment devenir
|
||||
meilleur en négociation? (large sujet que Patrick développe dans
|
||||
plusieurs autres posts) En lisant des manuels sur le sujet, en
|
||||
améliorant ses compétences verbales, en écrivant, en croyant en ce que
|
||||
l'on a à offrir, en étant curieux. C'est une compétence qui vaut jusqu'à
|
||||
plusieurs (centaines de) milliers d'euros chaque année de toute votre
|
||||
vie. Est ce que les startups sont géniales pour commencer votre carrière
|
||||
juste après les études? non. il vaut mieux commencer par des grosses
|
||||
entreprises qui vous permettront d'améliorer votre réseau sans faire
|
||||
peser sur votre dos tout le poids de la structure statup qui a 80% de
|
||||
chances de faire faillite dans les trois ans sans en avoir les
|
||||
avantages. Les startups peuvent être géniales, mais clairement pas pour
|
||||
commencer une carrière en sortant de l'école. <a
|
||||
href="https://www.cipherbliss.com/wp-content/uploads/2016/09/office-monkey.jpg">[[<span>https://www.cipherbliss.com/wp-content/uploads/2016/09/office-monkey-1024x708.jpg</span></a>]]
|
||||
Votre compétence professionnelle la plus importante est la
|
||||
communication: Vous vous rappelez que <a
|
||||
href="https://www.cipherbliss.com/inspirer-les-femmes-prendre-les-postes-qui-faconnent-le-monde/">les
|
||||
ingénieur-e-s</a> ne sont pas embauchés pour créer des programmes mais
|
||||
pour créer de la valeur dans un business? La qualité dominante qui vous
|
||||
donne les boulots est votre habilité à donner aux gens la perception que
|
||||
vous allez créer cette valeur. Ce qui n'est pas nécessairement
|
||||
corollaire de votre habilité à créer de la valeur. Vous pouvez être un
|
||||
dieu du programme super efficace, si vous ne savez bien vendre vos idées
|
||||
personne ne voudra vous les acheter. (L'auteur déplore d'ailleurs que
|
||||
les ingénieurs ont pour la plupart énormément de mal à tenir une simple
|
||||
conversation entre collègues tant ils ont des difficultés orales
|
||||
handicapantes. on tombe un peu dans un trope de mauvais film mettant en
|
||||
scène des informaticiens clichés, mais c'est vrai que c'est peu fréquent
|
||||
de croiser des gens très à l'aise en expression orale) On vous
|
||||
appellera fréquemment pour faire le vendeur d'entreprise et d'autres
|
||||
trucs que vous cherchiez précisément à ne pas faire en étant ingénieur.
|
||||
La modestie n'est pas un trait de caractère permettant d'améliorer votre
|
||||
carrière. Si vous avez contribué à quelque chose de bien pour votre
|
||||
carrière, ne vous en cachez pas, et ne réduisez pas l'importance de
|
||||
votre rôle. Toutes les décisions de business sont faites au final par un
|
||||
ou une poignée d'organismes multi-cellulaires proches du chimpanzés, par
|
||||
par des règles ou des algorithmes. (à une vache près, il suffit de voir
|
||||
combien pèsent les algos de google dans le monde. ce que veut dire notre
|
||||
ami c'est que les décisions sont toujours politiques, mêmes quand elles
|
||||
n'en ont pas l'air ou qu'on vous dit que ça n'a rien de politique) Au
|
||||
bout du compte, la joie que vous ressentez dans votre vie n'est pas
|
||||
dominée par votre carrière. S'épanouir dans son boulot est important,
|
||||
mais par pitié ayez une vie en dehors de votre travail sans attendre que
|
||||
ça tombe du ciel. <img
|
||||
src="https://www.theloop.ca/wp-content/uploads/2015/06/Shia-LaBeouf-really-wants-you-to-justdoit.jpg" /></p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
|
@ -1,397 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 365</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2016-12-26 17:42:42></li>
|
||||
<li>modifié: <2016-12-27 14:02:20></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="faire-ses-factures-avec-libreoffice-ou-google-sheet-1">faire ses
|
||||
factures avec libreOffice ou google sheet</h2>
|
||||
<p><a
|
||||
href="https://www.libreoffice.org/download/libreoffice-fresh/"><strong>Libre
|
||||
office</strong></a> est la suite bureautique gratuite fournie de base
|
||||
sur ubuntu et disponible pour toutes les plateformes. Si comme moi vous
|
||||
avez longtemps galéré a trouver le logiciel ultime pour faire des
|
||||
factures un tant soit peu sérieuses, sachez qu'il est tout a fait
|
||||
valable d'utiliser un simple tableur capable d'exporter en pdf ses
|
||||
fichiers. Faire des factures constitue des calculs simples mais relou à
|
||||
reporter dans un fichier. Pour une AE ça va, mais quand vous changez de
|
||||
structure pour une SARL ou une EIRL, ou une EI, ou une SAS, ou JEEJ,
|
||||
vous aurez sans doute a faire de savants calculs de TVA. D'aucuns vous
|
||||
diraient d'investir dans des service de comptabilité en ligne, mais vous
|
||||
pouvez faire déjà énormément de choses avec un seul fichier de calcul.
|
||||
Faire ses feuilles de calcul n'exclue pas de faire appel à un pro de la
|
||||
comptabilité, c'est d'ailleurs ce que je fais régulièrement et c'est
|
||||
ultra conseillé dès qu'on a une structure qui sort de l'auto entreprise.
|
||||
Si vous êtes en AE, ça pourrait aussi vous servir. Dans tous les cas
|
||||
commencez à trier vos paperasses administratives minutieusement sur
|
||||
votre ordi, et faites vraiment des backups. Ce que j'ai donc fait c'est
|
||||
un fichier de calcul sur <a
|
||||
href="https://www.google.com/sheets/about/"><strong>google
|
||||
sheets</strong></a> afin de pouvoir le modifier de plusieurs gens à la
|
||||
fois, mais surtout de plusieurs endroits différents avec de merveilleux
|
||||
graphiques et l'exporter en format ouvert .odt , lisible par libre
|
||||
office par exemple. Ce fichier contient plusieurs feuilles dont chacune
|
||||
a un seul but:</p>
|
||||
<ul>
|
||||
<li>statistifier mes dépenses perso et pro sur le long terme (en
|
||||
utilisant les cellules des autres feuilles du classeur)</li>
|
||||
<li>compter mes kilomètres parcourus au nom de mon activité</li>
|
||||
<li>compter mes déjeuners</li>
|
||||
<li>compter mes factures</li>
|
||||
<li>mes paiements trimestriels à l'URSSAF</li>
|
||||
<li>mes achats au nom de l'entreprise</li>
|
||||
<li>prévoir la disponibilité de ma trésorerie sur le long terme en
|
||||
majorant mes dépenses moyennes</li>
|
||||
<li>exporter une facture en pdf.</li>
|
||||
</ul>
|
||||
<p>On va surtout s'intéresser aujourd'hui au contenu de la feuille
|
||||
permettant de remplir les infos pour faire les factures et les envoyer à
|
||||
votre client avant la fin du mois. les lignes se présentent ainsi:</p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td>objet</td>
|
||||
<td>N° client dans l'année</td>
|
||||
<td>majuscule de clients</td>
|
||||
<td>commentaire</td>
|
||||
<td>tarif jour HT</td>
|
||||
<td>tarif jour TTC</td>
|
||||
<td>jours facturés</td>
|
||||
<td>congés</td>
|
||||
<td>jours ouvrés</td>
|
||||
<td>date start</td>
|
||||
<td>date end</td>
|
||||
<td>ce mois</td>
|
||||
<td>à venir</td>
|
||||
<td>HT</td>
|
||||
<td>TVA</td>
|
||||
<td>TTC</td>
|
||||
<td>prévu</td>
|
||||
<td>fait</td>
|
||||
<td>reçu</td>
|
||||
<td>retard</td>
|
||||
<td>val charges</td>
|
||||
<td>facture envoyée le</td>
|
||||
<td>délai jours</td>
|
||||
<td>attendu</td>
|
||||
<td>reçu</td>
|
||||
<td>diff date</td>
|
||||
<td>mois</td>
|
||||
<td>trimestre</td>
|
||||
<td>n° facture</td>
|
||||
<td>moyen</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Dans cette première feuille, une ligne correspond à une facture.
|
||||
Petite subtilité chez google drive, les dates ne sont pas écrites de
|
||||
façon classique (croissante) jour/mois/année , mais de façon bourrée
|
||||
dégueulasse signée Murica mois/jour/année. Quelques fonctions vachement
|
||||
bien (/à chaque fois je vous donne la version google sheet, puis la
|
||||
version libre office en français si c'est différent, qui traduit aussi
|
||||
ses fonctions et a quelques différences de notation, notamment des
|
||||
virgules qui deviennent des points virgules, et des noms de fonctions
|
||||
découpées par des points/): <strong>Avoir le nombre de jours
|
||||
ouvrés</strong> entre deux choix dans la date:</p>
|
||||
<blockquote>
|
||||
<p>=NETWORKDAYS( date<sub>début</sub>, date<sub>fin</sub> )
|
||||
=NB.JOURS.OUVRES( date<sub>début</sub> ; date<sub>fin</sub>)</p>
|
||||
</blockquote>
|
||||
<p><strong>Utiliser SI, pour ne pas avoir des cases provoquant des
|
||||
erreurs.</strong> par exemple si on a des jours ouvrés à facturer,
|
||||
calculer le tarif hors taxes, sinon afficher du vide.</p>
|
||||
<blockquote>
|
||||
<p>=IF( nombre<sub>dejoursouvrés</sub> ,
|
||||
nombre<sub>dejoursouvrés</sub>*tarif<sub>jourhorstaxes</sub> , "")</p>
|
||||
<p>=SI( nombre<sub>dejoursouvrés</sub> ,
|
||||
nombre<sub>dejoursouvrés</sub>*tarif<sub>jourhorstaxes</sub> , "")</p>
|
||||
</blockquote>
|
||||
<p><strong>Calculer la date prévue d'arrivée du paiement</strong> est
|
||||
plus facile que ce qu'on pourrait croire. Enfin, une fois le calcul fait
|
||||
il reste a bien formater le résultat sous forme de date.</p>
|
||||
<blockquote>
|
||||
<p>=date<sub>envoi</sub>+délai<sub>paiementenjours</sub></p>
|
||||
</blockquote>
|
||||
<p>N'oubliez pas qu'un délai de paiement est toujours un truc
|
||||
négociable, qu'il est en moyenne de 30 jours continus (c'est pas pareil
|
||||
que des jours ouvrés) après l'envoi de votre facture à la fin du mois
|
||||
ouvré. Mais il peut aussi plus étendu jusqu'à 60 jours, ou être bien
|
||||
plus rapide: "à date", voire être réglé en partie ou en totalité (plus
|
||||
rare) en avance. Il arrive par exemple que je demande 30% d'avance pour
|
||||
des missions très courtes. <strong>Ajouter 20% au tarif hors
|
||||
taxes</strong> (ma TVA reste a 20% car je fais de la prestation de
|
||||
service, et non de la vente de marchandises)</p>
|
||||
<blockquote>
|
||||
<p>=tarif<sub>ht</sub>+tarif<sub>ht</sub>*0.2</p>
|
||||
</blockquote>
|
||||
<p>Voilà, avec ça vous avez déjà tout ce qu'il vous faut pour faire des
|
||||
lignes de facture. Plus complexe, on va <strong>trouver le trimestre
|
||||
correspondant à la date de réception d'un paiement</strong> pour une
|
||||
facture.</p>
|
||||
<blockquote>
|
||||
<p>=ROUNDUP( MONTH(date<sub>reception</sub>)/3,0 ) =ARRONDI.SUP(
|
||||
MOIS(date<sub>reception</sub>)/3;0 )</p>
|
||||
</blockquote>
|
||||
<p>Avec ce trimestre on va ensuite pouvoir faire des sommes
|
||||
conditionnelles des paiements reçus par trimestre avec la fonction
|
||||
Somme.si.</p>
|
||||
<p>=SUMIF( plage<sub>pourcritère</sub> ; critère ;
|
||||
plage<sub>desommesicritèrevrai</sub> )</p>
|
||||
<p>=SOMME.SI( plage<sub>pourcritère</sub> ; critère ;
|
||||
plage<sub>desommesicritèrevrai</sub> )</p>
|
||||
<p>Faites gaffe à ne pas utiliser la même colonne pour la date
|
||||
d'estimation de la réception et la réception réelle. Vous pourrez ainsi
|
||||
déduire les retards de paiement et savoir à qui vous devez mener la vie
|
||||
dure facilement et faire valoir vos <a
|
||||
href="https://www.service-public.fr/professionnels-entreprises/vosdroits/F23211">indemnités
|
||||
de retard au tarif légal</a>. (Ne bossez jamais avec de mauvais payeurs.
|
||||
Indiquez clairement la date d'exigibilité sur vos factures, car des
|
||||
surplus pour cause de retard, l'URSSAF ne se gênera pas de vous en
|
||||
donner) Pour mettre à jour le contenu de cette feuille j'ai utilisé
|
||||
plusieurs fonctions qui font références a des concaténations de contenus
|
||||
d'autres cellules afin de faire par exemple, une phrase rassemblant
|
||||
"facture n°" et le n° de la ligne dont je souhaite exporter une
|
||||
facture.</p>
|
||||
<blockquote>
|
||||
<p>si F1 est le numéro de facture contenant 1234 =CONCATENATE("Facture
|
||||
n° ",F1) =CONCATENER("Facture n° ";F1) cela vaut facture n° 1234</p>
|
||||
</blockquote>
|
||||
<p>Mettons que la ligne de ma facture à faire pour ce mois ci soit la
|
||||
42e sur ma feuille nommée compta. Je dois donc placer dans ma facture
|
||||
une référence vers le tarif TTC total de la ligne 42, qui se trouve donc
|
||||
dans la cellule T42. Mais comme je suis dans une autre feuille il faut
|
||||
dire aussi dans quelle feuille prendre notre numéro de cellule.</p>
|
||||
<blockquote>
|
||||
<p>="compta!T42" ="compta.T42"</p>
|
||||
</blockquote>
|
||||
<p>Mais je devrai aussi l'écrire pour les autres mentions obligatoires
|
||||
d'une facture. la quantité de jours ouvrés, le tarif hors taxes, le
|
||||
tarif ttc, la tva, le total hors taxe, la date du jour… =TODAY()
|
||||
=AUJOURDHUI() Mais ce serait un peu trop fatiguant de modifier une
|
||||
dizaine de références à chaque fois que je veux faire une facture. j'ai
|
||||
donc utilisé la fonction INDIRECT() afin de variabiliser les références
|
||||
dans ces formules dans ma facture. de cette façon je n'ai qu'une seule
|
||||
cellule à mettre à jour pour changer toutes les références de ma
|
||||
facture. Pour cela je me fais une cellule remplie de la ligne de la
|
||||
facture que je veux réaliser, je prends une case, L1, et je mets
|
||||
dedans</p>
|
||||
<ol>
|
||||
<li>Ensuite, avec indirect() je vais pouvoir utiliser le résultat
|
||||
de</li>
|
||||
</ol>
|
||||
<p>cette cellule pour fabriquer une formule. Je n'aurai plus qu'a réunir
|
||||
<em>compta!T</em> et <em>42</em> pour obtenir le résultat de
|
||||
<em>compta!T42.</em></p>
|
||||
<blockquote>
|
||||
<p>=INDIRECT(CONCATENATE("compta!T", L1)) ce qui calculera:
|
||||
="compta!T42"</p>
|
||||
</blockquote>
|
||||
<p>et si je change la case avec marqué 42 dedans en 43 pour voir la
|
||||
facture suivante, ça calculera</p>
|
||||
<blockquote>
|
||||
<p>="compta!T43"</p>
|
||||
</blockquote>
|
||||
<p>nickel non? Vous pouvez aussi faire les choses encore plus proprement
|
||||
en créant une feuille exprès pour ces calculs à placer dans la facture
|
||||
pour ne pas encombrer la page de facture. Il ne reste plus qu'a faire
|
||||
"fichier > exporter en pdf" et choisir de limiter a la feuille
|
||||
courante (celle de la facture) cacher le quadrillage dans les options
|
||||
d'export, choisir l'orientation en portrait pour avoir votre facture
|
||||
toute belle toute calculée les doigts dans le nez. Bon, il faudra sans
|
||||
doute que vous joueiez sur les tailles des cellules afin de remplir une
|
||||
feuille A4 pour que ça soit propre, mais à tâtons d'exportation vous y
|
||||
arriverez en deux minutes maxi. Et si vous êtes un warrior des feuilles
|
||||
de calcul vous pouvez auto remplir la ligne désignant la facture selon
|
||||
la date courante en utilisant des comparaisons entre TODAY() et les
|
||||
dates de début et de fin des jours ouvrés. Joyeux noël!</p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
|
@ -1,223 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 187</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2016-07-26 20:48:35></li>
|
||||
<li>modifié: <2016-08-19 10:53:01></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="la-galaxie-des-fanzines-1">la galaxie des fanzines</h2>
|
||||
<p><a
|
||||
href="https://tykayn.fr/wp-content/uploads/i/2016/fanzines_melu.png?1395265948918018947">[[<span>https://tykayn.fr/wp-content/uploads/i/2016/.fanzines_melu_m.png?652419532881844912</span></a>]]
|
||||
Je me suis essayé à la visualisation de données avec Gephi, un logiciel
|
||||
libre connu pour être le photoshop de la DataViz, tout en étant gratuit.
|
||||
J'en ai profité d'avoir la main sur la base de données de fanzines de <a
|
||||
href="www.meluzine.org">file:www.meluzine.org</a> pour proposer des
|
||||
exportations en csv, un format de feuille de calcul ouverte (lisible
|
||||
avec Libre Office par exemple). Après avoir suivi le rapide tour
|
||||
d'horizon de la doc officielle, j'ai rajouté une colonne Souce, et une
|
||||
colonne Target à l'export de la page de fanzines pour faire des liens
|
||||
entre les noms des associations et les titres des fanzines. Quelques
|
||||
ajustements de couleur par propriété sur les liens, la taille des labels
|
||||
correspond aux séries de fanzines ayant plein de titres en commun avec
|
||||
les autres (donc en tête de file des titres de numéros de fanzines, le
|
||||
nom "1", puis le nom "2", puis "3", etc…) Les liens entre les noeuds en
|
||||
vert représentent les fanzines toujours disponible, et en rouge ceux qui
|
||||
sont épuisés. Les tas de liens forment des petites galaxies rapprochées
|
||||
par des choses communes entre les fanzines, telles que leur prix et leur
|
||||
nombre de pages, non affichés pour ne pas alourdir la visualisation.
|
||||
Cette infographie montre qu'il y a une bonne partie de rouge, surtout
|
||||
sur les séries extérieures. Ce qu'on ne voit pas ici c'est que moins
|
||||
d'un pour cent des fanzines enregistrés sont sortis cette année. Et 9%
|
||||
sont sortis en 1991, première année de production du site. Donc, si vous
|
||||
êtes un fanzineux, inscrivez vos productions en créant un compte sur <a
|
||||
href="www.meluzine.org">file:www.meluzine.org</a> :) Enjoy!</p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
|
@ -1,252 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 188</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2016-07-26 09:26:48></li>
|
||||
<li>modifié: <2016-09-06 21:52:35></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="ubuntu-party-15.10">ubuntu party 15.10</h2>
|
||||
<p><img
|
||||
src="https://www.cipherbliss.com/wp-content/uploads/2016/07/DSC09195-1024x768.jpg" />Y'a
|
||||
pas longtemps j'ai découvert les Ubuntu Party de Paris. C'est super
|
||||
sympa et convivial. J'étais étonné de voir que les install party
|
||||
pouvaient ameuter autant de gens, et surtout, pas seulement des mecs
|
||||
barbus. Justement y'a une grande diversité d'interessés par la culture
|
||||
du libre et ubuntu. La communauté est inclusive et c'est super cool!
|
||||
<img
|
||||
src="https://www.cipherbliss.com/wp-content/uploads/2016/07/notion_geek-1024x554.jpg" />
|
||||
J'ai bien aimé la conférence d'Androsème sur le sacré et le profane.
|
||||
Elle y réfléchit à la notion de geek, on y voit comment ce concept est
|
||||
exclusif des profanes, et ce qui se passe lorsque le profane essaie de
|
||||
toucher au sacré. On y voit aussi comment le harcèlement en ligne est
|
||||
rendu possible via facebook et autres choses, mais que ça ne tient pas
|
||||
spécifiquement aux outils en ligne et qu'on retrouve ces comportements
|
||||
d'exclusion hors ligne. <a
|
||||
href="https://twitter.com/androseme">https://twitter.com/androseme</a>
|
||||
<img
|
||||
src="https://www.cipherbliss.com/wp-content/uploads/2016/07/harcelement_sacre_profane-1024x554.jpg" />
|
||||
La conférence interactive sur le projet Do Not Track d'Arte était super
|
||||
bien pour expliquer les enjeux de l'espionnage de masse légalisé, on y a
|
||||
vu qu'avoir des choses à cacher est parfaitement naturel et n'est pas
|
||||
réservé aux gens louches. Le suivi de toutes vos données vaut de l'or,
|
||||
vous devez vous protéger vous même ainsi que les personnes avec qui vous
|
||||
communiquez. Surtout que dans ces histoires de suivi vous n'avez pas
|
||||
autorité pour savoir ce qui est retenu contre vous, qui détient ces
|
||||
informations, pour combien de temps, ce qui en sera fait, et à fortiori
|
||||
dans les mains de qui elles tomberont par inadvertance. vous ne
|
||||
manquerez pas d'en entendre parler dans les mois qui suivent. <a
|
||||
href="https://donottrack-doc.com/fr/">https://donottrack-doc.com/fr/</a>
|
||||
<img
|
||||
src="https://www.cipherbliss.com/wp-content/uploads/2016/07/internet_des_objets-1024x565.jpg" />
|
||||
Il y a eu aussi une conférence sur Mycroft, un projet ouvert
|
||||
d'intelligence artificielle ayant pour but d'être installée dans des
|
||||
objets. un projet qui a l'air vachement chouette, et compatible Arduino
|
||||
entre autre. de quoi fabriquer mille bidules utiles ou simplement pour
|
||||
le plaisir d'apprendre comment fonctionnent les choses. <a
|
||||
href="https://github.com/MycroftAI/mycroft-core"><span>https://github.com/MycroftAI/mycrof</span>…</a><a
|
||||
href="https://github.com/MycroftAI/mycroft-core">[[<span>https://www.cipherbliss.com/wp-content/uploads/2016/07/internet_objets_mycroft-1024x565.jpg</span></a>]]
|
||||
Donc wouala, ubuntu party ce sont des évènements à la cité des sciences
|
||||
de paris qui se produisent deux fois par an, pour chaque sortie de
|
||||
version d'ubuntu. en Octobre et en Avril. Vous pouvez y venir avec vos
|
||||
parents et leur faire essayer le système dans sa version la plus
|
||||
récente. N'oubliez pas de faire une sauvegarde de vos fichiers sur un
|
||||
disque externe avant, par précaution ;) Perso, ubuntu 15.10 installé sur
|
||||
mon vieux EeePC 1005HA a permis de lui redonner une certaine jeunesse,
|
||||
nickel pour faire du développement arduino sans se trimballer un gros
|
||||
ordi. Et surtout, il a une autonomie incroyable pour un ordi de 2009, on
|
||||
peut bien le laisser allumé 6 heures et bidouiller dessus sans avoir à
|
||||
le brancher. suivez la communauté ubuntu-fr sur twouiteur :3 <a
|
||||
href="https://twitter.com/ubuntuparty">https://twitter.com/ubuntuparty</a>
|
||||
Retrouvez les vidéos des conférences ubuntu party sur le site officiel
|
||||
:) <a
|
||||
href="https://media.ubuntu-paris.org/">https://media.ubuntu-paris.org/</a></p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
|
@ -1,217 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 189</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2016-07-26 08:47:00></li>
|
||||
<li>modifié: <2016-08-24 14:23:30></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="exporter-une-visualisation-de-son-schéma-sql">exporter une
|
||||
visualisation de son schéma SQL</h2>
|
||||
<p><a
|
||||
href="https://nsaunders.files.wordpress.com/2009/01/bio.png?w=300&h=129">https://nsaunders.files.wordpress.com/2009/01/bio.png?w=300&h=129</a>
|
||||
Vous voulez visualiser les relations entre vos tables SQL assez
|
||||
facilement? vous pouvez le faire avec phpmyadmin, ou en ligne de
|
||||
commande avec un dump de votre base (en exportant seulement le schéma,
|
||||
sans données)</p>
|
||||
<pre class="example"><code>#! /bin/bash DBNAME = $1; FILENAME = $2; mysqldump $DBNAME $(mysql -D DBNAME -Bse "show tables like 'wp_%'") > FILENAME.sql
|
||||
</code></pre>
|
||||
<p>Vous pouvez utiliser SQLfairy sur votre dump de base pour en sortir
|
||||
un png.</p>
|
||||
<pre class="example"><code>sudo apt-get install sqlfairy
|
||||
</code></pre>
|
||||
<p> </p>
|
||||
<pre class="example"><code>sqlt-graph -f MySQL -o mydatabase.png -t png FILENAME.sql
|
||||
</code></pre>
|
||||
<p>astuce trouvée sur <a
|
||||
href="https://nsaunders.wordpress.com/2009/01/11/easy-visualisation-of-database-schemas-using-sqlfairy">ce
|
||||
post de nsaunders</a></p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
|
@ -1,199 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 190</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2016-07-26 08:27:22></li>
|
||||
<li>modifié: <2016-07-26 08:32:32></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="le-dysoon-de-djo-1">le dysoon de djo</h2>
|
||||
<p>Quel déconneur ce Djo :D</p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
|
@ -1,287 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 191</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2016-05-11 19:25:05></li>
|
||||
<li>modifié: <2020-08-03 11:55:32></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="conversion-de-pdf-en-image-et-ocr-1">Conversion de pdf en image
|
||||
et OCR</h2>
|
||||
<p><img
|
||||
src="https://www.clubdesmonstres.com/best/img/disc_world9jpg.jpg" /> <a
|
||||
href="https://imagemagick.org">ImageMagick</a> permet de convertir des
|
||||
tas de fichiers en des tas d'autres. Il est fourni de base dans pas mal
|
||||
de <a
|
||||
href="https://fr.wikipedia.org/wiki/Distribution_Linux">distributions
|
||||
linux</a>. convertir un pdf en un jpg par page de 300dpi c'est aussi
|
||||
simple que lancer cette commande: (dans un terminal, dans le dossier de
|
||||
votre fichier pdf, par exemple, mon dossier de Téléchargements)</p>
|
||||
<pre class="example"><code>convert -density 300 -quality 100 monFichierPDF.pdf mesFichiersJpg.jpg
|
||||
</code></pre>
|
||||
<p>Et boum! aussitôt plopent dans le même dossier des jpg mesFichiersJpg
|
||||
(1).jpg pour chaque page. Trop magique. L'option <strong>-density
|
||||
300</strong> donne une résolution de 300dpi. L'option <strong>-quality
|
||||
100</strong> compresse la sortie au meilleur de sa qualité. Il faut
|
||||
nommer le fichier d'entrée et celui de sortie, j'aurai pu marquer
|
||||
mesFichiersJpg.png ça aurait fait des vrais png, mais ça supporte aussi
|
||||
des tas d'autres formats.</p>
|
||||
<h2 id="option-de-sécurité-dimagemagick">Option de sécurité
|
||||
d'ImageMagick</h2>
|
||||
<p>Il est possible que vous ayez une version d'ImageMagick avec des
|
||||
restrictions de conversion qui ont été mises en place pour des raisons
|
||||
de sécurité à une époque où GhostScript avait un problème, corrigé
|
||||
depuis. Si la commande convert ne veut pas convertir votre pdf, regardez
|
||||
dans la config du fichier de police: <code
|
||||
class="verbatim">sudo editor /etc/ImageMagick-7/policy.xml</code> (le
|
||||
dossier peut se nommer ImageMagick-6 ou autre selon votre version), et
|
||||
changez la ligne concernant les pdf:</p>
|
||||
<pre class="example"><code><policy domain="coder" rights="none" pattern="PDF" />
|
||||
</code></pre>
|
||||
<p>En ceci:</p>
|
||||
<pre class="example"><code><policy domain="coder" rights="read | write" pattern="PDF" />
|
||||
</code></pre>
|
||||
<p>Relancez votre terminal et ça devrait bien vouloir convertir votre
|
||||
pdf en jpg.</p>
|
||||
<h2 id="une-commande-en-alias-de-bash">Une commande en alias de
|
||||
bash</h2>
|
||||
<p>Vous pouvez vous en faire un alias dans votre fichier
|
||||
<em>~</em>.bash<sub>aliases</sub>/</p>
|
||||
<pre class="example"><code>alias pdf2jpg='convert -density 300 -trim -quality 100'
|
||||
</code></pre>
|
||||
<p>Ainsi vous pourrez lancer:</p>
|
||||
<pre class="example"><code>pdf2jpg machin.pdf machin.jpg
|
||||
</code></pre>
|
||||
<p>Et paf, ça fait des images de jolie qualité pour chaque page.</p>
|
||||
<h2 id="le-cube-qui-sait-lire">Le cube qui sait lire</h2>
|
||||
<p>Et donc voilà, il arrive aussi qu'on vous file un pdf contenant un
|
||||
contrat ou un texte (avec ou sans images) qui serait bien plus efficace
|
||||
en format texte pour y faire des recherches par exemple. vous avez bien
|
||||
entendu autre chose à faire de votre vie que de recopier tout le texte.
|
||||
aint nobody got time for that. <img
|
||||
src="https://static.skynetblogs.be/media/80918/4017077379.jpg" /></p>
|
||||
<pre class="example"><code>Il convient donc d'utiliser un soft qui sait faire de l'Optical Character Recognition, de la reconnaissance de caractères optiques.
|
||||
</code></pre>
|
||||
<p><img
|
||||
src="https://pbs.twimg.com/profile_images/3311637316/fa2e60c43dea540aa029bd9f9596d674_400x400.png" />
|
||||
Le Tesseract, ce n'est pas un cube produisant une énergie infinie au
|
||||
pays d'Iron Man, c'est un soft capable de lire des caractères dans une
|
||||
image et de pondre un texte en conséquence. Bien sûr il faut relire le
|
||||
texte ensuite pour corriger quelques typos, mais il fait déjà un boulot
|
||||
impressionnant. installez le avec son extension pour le français avec
|
||||
apt-get:</p>
|
||||
<pre class="example"><code>sudo apt-get install tesseract-ocr tesseract-ocr-fra
|
||||
</code></pre>
|
||||
<p>Une fois que c'est fait revenons à nos animaux laineux. Vous avez
|
||||
donc plein de fichiers jpg dans un dossier. Dans un terminal, mettez
|
||||
vous dans le dossier en question. Nous allons donc faire une boucle sur
|
||||
tous les fichiers du dossier courant se terminant par jpg, les lire et
|
||||
en ressortir dans un fichier page<sub>truc</sub>.txt pour chaque
|
||||
image.</p>
|
||||
<pre class="example"><code>a=0
|
||||
for i in $(ls -v *.jpg); do
|
||||
echo "$i page_${a}.txt"
|
||||
# on affiche ce qu'on fait
|
||||
tesseract $i page_${a}.txt
|
||||
let a=a+1
|
||||
done
|
||||
</code></pre>
|
||||
<p>l'option -l fra sert à dire qu'on traite un texte en français et
|
||||
maintenant on concatène les sorties de chaque image en un seul
|
||||
fichier</p>
|
||||
<pre class="example"><code>cat page_* > all_pages.txt
|
||||
</code></pre>
|
||||
<p>Et vous pourrez maintenant avoir un texte sur lequel vous pouvez
|
||||
faire une recherche intégrale avec votre éditeur de texte préféré, à la
|
||||
recherche de l'arnaque contractuelle qui va bien. Astuce de l'OCR
|
||||
trouvée sur <a href="https://doc.ubuntu-fr.org/tesseract-ocr">la doc
|
||||
ubuntu</a> Enjoy!</p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
|
@ -1,217 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 192</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2016-05-10 14:56:57></li>
|
||||
<li>modifié: <2016-06-06 13:02:32></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="retour-dexpérience">Retour d'expérience</h2>
|
||||
<p>Apprendre de son expérience est une capacité trop souvent laissée de
|
||||
côté. avez vous déjà essayé d'identifier les éléments qui vous ont fait
|
||||
perdre du temps dans vos anciens projets? Laissez de côté vos différents
|
||||
entre collègues (si vous en avez, comme dans la plupart des boites), et
|
||||
prenez le temps de leur demander ce qui les empêche de travailler,
|
||||
quelles sont leur principales difficultés dernièrement, et comment les
|
||||
résoudre selon leur avis. En tant que membre de l'équipe, lorsque vous
|
||||
résolvez un souci après bien des recherches pour vous rendre compte que
|
||||
c'était un truc tout simple, notez le dans un carnet. Vous verrez ainsi
|
||||
quels sont les choses qui vous font perdre du temps et que ce sont
|
||||
souvent les mêmes qui reviennent. Durant les démonstrations
|
||||
d'avancement, il est bon de faire un tour de table de retour
|
||||
d'expérience en évoquant des points positifs et des axes
|
||||
d'améliorations. Notez cependant qu'en groupe on ose moins dénoncer
|
||||
certaines choses ou désigner des fautifs. C'est pourquoi il est
|
||||
nécessaire de se renseigner entre quatre zyeux auprès des autres gens.
|
||||
Le but de la manoeuvre n'est pas le lynchage collectif, il convient donc
|
||||
de rester courtois dans ses remarques. Vous serez surpris de voir comme
|
||||
l'esprit d'équipe peut être amélioré juste de cette façon.</p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
|
@ -1,391 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>cipherbliss_blog</title>
|
||||
<style type='text/css'>{css_content}</style><link type='stylesheet/css' href='/style.css'></link></head>
|
||||
<body>
|
||||
<a href='/'>Retour à l'Accueil</a><hr/><!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>cipherbliss_blog</title>
|
||||
<style>
|
||||
html {
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 12px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
hyphens: manual;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC ul {
|
||||
padding-left: 1.3em;
|
||||
}
|
||||
#TOC > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
/* The extra [class] is a hack that increases specificity enough to
|
||||
override a similar rule in reveal.js */
|
||||
ul.task-list[class]{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
font-size: inherit;
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">cipherbliss_blog</h1>
|
||||
</header>
|
||||
<h1 id="article">Article</h1>
|
||||
<ul>
|
||||
<li>ID: 193</li>
|
||||
<li>guid:</li>
|
||||
<li>status: publish</li>
|
||||
<li>publié le: <2016-04-21 13:10:07></li>
|
||||
<li>modifié: <2016-05-12 14:30:14></li>
|
||||
<li>Index des articles du blog <a
|
||||
href="id:39e91a2e-d003-4acd-a99a-b58dca74df77">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
<h2 id="le-petit-printf-1">Le petit Printf</h2>
|
||||
<p>ont devenus un problème."<br />
|
||||
Et tandis que l'homme se tenait là en silence (sur son nouveau bureau à
|
||||
roulettes trop cool), le petit printf se dirigea hors de la salle.<br />
|
||||
</p>
|
||||
<h2 id="chapitre-8"><strong>Chapitre 8</strong></h2>
|
||||
<p><img src="https://ferd.ca/static/img/printf/ops.png" /><br />
|
||||
Dans le bureau d'à côté se trouvait un employé fatigué, avec des
|
||||
dizaines de tasses à café vides, recroquevillée sur ton clavier, à taper
|
||||
avec énervement.<br />
|
||||
"Salut, dit le petit printf."<br />
|
||||
La femme n'a pas arrêté ce qu'elle faisait. Elle a continué à taper
|
||||
furieusement.<br />
|
||||
"Bonjour?" demanda-t-il à nouveau.<br />
|
||||
La femme s'arrêta d'un coup, pris un flacon d'un tiroir dans son bureau,
|
||||
et a pris une gorgée.<br />
|
||||
"J'ai un travail terrible, dit-elle. Je fais DevOps. ça avait bien
|
||||
commencé, la plupart du temps je développais et puis parfois je
|
||||
debuguais des choses, mais plus le temps passait, plus à a a empiré.
|
||||
J'ai commencé à lutter contre les incendies dans notre pile, puis plus
|
||||
d'incendies ont commencé à se produire. Je me suis débarrassé de la
|
||||
plupart d'entre eux, tirant de petits miracles ici et là pour ensuite
|
||||
respecter les délais de dev sur des choses que je devais aussi faire en
|
||||
plus.<br />
|
||||
-Et ont-ils embauché quelqu'un pour aider?<br />
|
||||
-Non, c'est ça le truc. Les petits feux continuent de se produire ici et
|
||||
là, et en raison du temps que je prends pour les combattre, je ne peux
|
||||
pas être aussi prudente qu' avant avec le dev, donc je crée plus de feux
|
||||
tout le temps. Maintenant, je lutte contre les incendies toute la
|
||||
journée et toute la nuit et je déteste mon travail. -Pourquoi votre
|
||||
employeur ne fait pas quelque chose?<br />
|
||||
-Je suis douée à faire mon travail, et je suis parvenu à garder les
|
||||
choses sous contrôle assez longtemps que tout le monde s'y soit habitué.
|
||||
Lorsque vous prenez l'habitude de petits miracles, les gens sont
|
||||
habitués. Ensuite, vous êtes coincé à faire des miracles tout le temps
|
||||
ou ils vont penser que vous ne faites pas votre travail du tout.<br />
|
||||
-Cela semble très triste<br />
|
||||
-ça l'est; et parce que vous êtes la personne la plus familière avec ces
|
||||
feux, vous obtenez seulement de travailler sur eux de plus en plus,
|
||||
jusqu'à ce que votre employeur embauche quelqu'un d'autre pour couvrir
|
||||
votre ancien emploi, celui que vous aimiez. Si vous vous souciez assez
|
||||
dur sur votre travail pour être celui qui fait les choses que tout le
|
||||
monde déteste, on vous remerciera en vous donnant de plus en plus de ce
|
||||
travail qui ne vous plaît pas, jusqu'à ce que ce soit tout ce que vous
|
||||
faites. Et puis il n'y a plus rien pour vous plaire dans votre
|
||||
job.<br />
|
||||
-Alors, vous êtes malchanceuse," dit le petit printf.<br />
|
||||
Et son pager sonna encore.<br />
|
||||
"Cette femme," dit le petit printf à lui-même, en continuant plus loin
|
||||
son voyage, "cette femme serait méprisée par tous les autres: par
|
||||
l'expert spécialisé, par le développeur de rockstar, par l'adoptant
|
||||
premier. Néanmoins, elle est la seule d'entre eux tous à sembler utile.
|
||||
Peut-être est parce qu'elle pense à autre chose qu'à elle-même.</p>
|
||||
<h2 id="chapitre-9"><strong>Chapitre 9</strong></h2>
|
||||
<p><img src="https://ferd.ca/static/img/printf/architect.png" /> A
|
||||
l'angle du bâtiment, printf trouvé un grand bureau avec de grandes
|
||||
fenêtres donnant une vue imprenable sur la région. Dedans, est assis un
|
||||
vieux monsieur avec des rames de documentation sur son bureau.<br />
|
||||
"Ah, voici un développeur!" s'écria l'homme, alors que printf se tenait
|
||||
à la porte. "Entrez!" En regardant à travers les fenêtres, le petit
|
||||
printf a remarqué qu'ils étaient pleins d'écriture. Avec l'aide d'un
|
||||
stylo effaçable à sec, la vue sur le monde extérieur a été masqué par
|
||||
des tonnes de cercles, des flèches, des cylindres, et les nuages. Alors
|
||||
qu'il était curieux les nuages de l'homme nécessaire tirées où les vrais
|
||||
pouvaient être vus à l'extérieur, tout l'ensemble était plus
|
||||
intrigant.<br />
|
||||
"Qu'est-ce que c'est ?," demanda notre ami, en montrant les
|
||||
fenêtres.<br />
|
||||
"Oh ça? Ceci est notre système de production!" Dit l'homme, en pensant
|
||||
non pas une seule fois que la question portait sur le monde extérieur.
|
||||
"Je suis un architecte logiciel.<br />
|
||||
-Qu'est-ce qu'un architecte logiciel?<br />
|
||||
-La plupart du temps, il est quelqu'un qui sait comment structurer au
|
||||
mieux et coordonne les composants d'un grand système pour que tout aille
|
||||
bien ensemble. Il est quelqu'un qui doit connaître les bases de données,
|
||||
des langages, des framewords, des éditeurs de code, des formats de
|
||||
sérialisation, des protocoles et des concepts tels que l'encapsulation
|
||||
et la séparation des préoccupations.<br />
|
||||
-Très intéressant! dit le petit printf, voici quelqu'un qui peut
|
||||
répondre à toutes mes questions! Il regarda les diagrammes
|
||||
d'architecture. Votre système est très impressionnant. Est-il très
|
||||
rapide à fonctionner?<br />
|
||||
-Je ne pouvais pas vous dire, dit l'architecte. ça doit être le cas, je
|
||||
pense. -Comment est le code alors, est-il bon?<br />
|
||||
-Je ne pouvais pas vous dire<br />
|
||||
-les utilisateurs sont-ils heureux?<br />
|
||||
-Je ne pouvais pas vous dire non plus, je crains<br />
|
||||
-Mais vous êtes un architecte logiciel!<br />
|
||||
-Exactement! Mais je ne suis pas un développeur. Ce n'est pas
|
||||
l'architecte qui va et écrit les modules et les classes, combine les
|
||||
bibliothèques. L'architecte logiciel est beaucoup trop important pour
|
||||
aller toucher au code. Mais il parle avec les programmeurs et les
|
||||
développeurs, leur pose des questions, leur donne des conseils. Et si le
|
||||
problème se trouve être assez intéressant, l'architecte prend en charge
|
||||
la planification.<br />
|
||||
-Et pourquoi ça?<br />
|
||||
-Parce que nous sommes plus expérimentés. Nous en savons plus sur les
|
||||
systèmes et ce qui fonctionne ou non. Les développeurs peuvent alors
|
||||
être une extension de nos connaissances pour produire de grands
|
||||
systèmes!<br />
|
||||
-Mais comment savez-vous si les choses vont bien sans s'impliquer avec
|
||||
le code?<br />
|
||||
-Nous faisons confiance aux développeurs<br />
|
||||
-Donc, vous leur faites confiance pour mettre en œuvre vos idées
|
||||
correctement, mais pas assez pour venir avec leurs propres idées?"<br />
|
||||
L'architecte logiciel était visiblement ébranlé par ce commentaire. "Je
|
||||
suppose que je pourrais avoir été un peu déconnecté," il a finalement
|
||||
admis. "Le problème est que, après un certain temps, vous êtes invité à
|
||||
travailler avec des idées tellement vous ne disposez pas d'un bon moyen
|
||||
de les faire tester ou vérifier…" Il baissa les yeux, pensif. "Parfois,
|
||||
un architecte logiciel ne fait ni logiciel, ni architecture, on
|
||||
dirait."<br />
|
||||
Le petit printf a quitté la salle, ayant terminé de sa visite, il quitta
|
||||
le bâtiment.<br />
|
||||
</p>
|
||||
<h2 id="chapitre-10"><strong>Chapitre 10</strong></h2>
|
||||
<p><img src="https://ferd.ca/static/img/printf/charity.png" /></p>
|
||||
<p>le petit printf, une fois à l'extérieur, a rencontré un homme
|
||||
collectant de l'argent pour la charité.<br />
|
||||
"Salut, dit l'homme. Que diriez vous d'aider quelqu'un
|
||||
aujourd'hui?<br />
|
||||
-ça m'aiderait sans doute à me faire sentir mieux, répondit printf. Je
|
||||
suis allé dans ce bureau toute la journée, et maintenant je suis plus
|
||||
confus que jamais.<br />
|
||||
-Ah, je vois. Ces personnes sont tous les développeurs. Ils ne sont pas
|
||||
vraiment utiles, n'est-ce pas? Ce qu'ils aiment à dire est qu'ils
|
||||
changent le monde, et ils ont pas mal réussir à à le faire, en
|
||||
fait.<br />
|
||||
-Pourquoi est ce que je me sens si gêné, alors? questionna le petit
|
||||
printf.<br />
|
||||
-Eh bien, le meilleur qu'ils font est souvent d'aider à convertir les
|
||||
emplois de certaines personnes dans des programmes, ou de rendre les
|
||||
loisirs de tout le monde plus tranquilles.<br />
|
||||
Le logiciel est en train de manger le monde et de lui faire changer de
|
||||
visage, c'est certain… mais au fond, c'est le même vieux monde, avec un
|
||||
visage mutilé. La raison pour laquelle on se sent gêné est que le
|
||||
changement de cette façon ne veut pas dire les choses deviennent mieux.
|
||||
Nous avons les mêmes défauts et les problèmes que nous avons toujours
|
||||
eu, les mêmes trous à combler à l'intérieur.<br />
|
||||
-Alors, comment puis-je me sentir mieux?" le petit printf était
|
||||
visiblement anxieux.<br />
|
||||
L'homme a pensé pendant un certain temps, et a offert printf à venir
|
||||
l'aider à aider les autres, car c'était la façon que cet homme avait de
|
||||
se sentir mieux. Au cours de l'après-midi, printf raconta à l'homme ses
|
||||
problèmes et son aventure. Après un long silence, l'homme dit:<br />
|
||||
"Les jeux que les gens jouent, les rôles et les réputations qu'ils
|
||||
poursuivent et entretiennent, le plaisir éphémère qu'ils tirent de la
|
||||
résolution de problèmes complexes, c'est amusant pendant un certain
|
||||
temps. En fin de compte, si vous ne résolvez pas quelque chose de
|
||||
valable, si vous oubliez les personnes impliquées, ça ne va jamais être
|
||||
vraiment satisfaisant.<br />
|
||||
Et cela peut être très bien, ou ça pourrait ne pas l'être, et vous
|
||||
pouvez ou ne pouvez pas obtenir cela par ailleurs que sur votre lieu de
|
||||
travail quand vous grandissez. Le travail peut être un travail; il peut
|
||||
être pour l'argent, il peut être pour le plaisir. C'est bon. Tant que
|
||||
vous parvenez à obtenir de l'accomplissement quelque part dans votre
|
||||
vie. À la fin cependant, il est seulement quand vous résoudre les
|
||||
problèmes avec un visage humain que vous pouvez vraiment sentir bien; Ce
|
||||
qui est essentiel est invisible pour l'ordinateur.<br />
|
||||
C' est le temps que vous avez passé sur votre système qui le rend si
|
||||
important », l'homme a ajouté," et quand vous avez perdu de vue pourquoi
|
||||
il était logique de passer du temps là-dessus, quand il est devenu un
|
||||
jeu d'orgueil, alors il a causé plus de douleur que de
|
||||
soulagement.<br />
|
||||
Les développeurs ont souvent oublié cette vérité; Si vous perdez de vue
|
||||
des choses, travailler sur votre système devient son propre problème, et
|
||||
la solution la plus efficace est de se débarrasser du système, étant
|
||||
donné qu'il est le problème."<br />
|
||||
"C'est seulement quand vous résolvez les problèmes avec un visage humain
|
||||
que vous pouvez sentir vraiment bien", répéta le petit printf à
|
||||
lui-même, de sorte qu'il s'en souvienne.</p>
|
||||
<h2 id="chapitre-11"><strong>Chapitre 11</strong></h2>
|
||||
<p><img src="https://ferd.ca/static/img/printf/printf-end.png" /></p>
|
||||
<p><br />
|
||||
Printf, qui est maintenant assis juste en face de moi, est sur le chemin
|
||||
du retour. Parler avec lui m'a fait réaliser à quel point ce que je fais
|
||||
m'éloigne ce que je voulais, ce pour quoi j'ai commencé à programmer.
|
||||
Chacune des personnes que le petit Printf a rencontré sont les rôles que
|
||||
je me vois prendre moi-même un jour ou l'autre au fil du temps. J'ai été
|
||||
encouragé par eux pour devenir comme eux, et j'ai probablement encouragé
|
||||
des gens à faire la même chose.<br />
|
||||
Lorsque je me suis lancé dans le jeu d'essayer de devenir un véritable
|
||||
programmeur, Printf ne l'a pas fait. Il a dit qu'il était correct de ne
|
||||
pas être un vrai programmeur, qu'il préférait être un programmeur avec
|
||||
un visage humain.<br />
|
||||
Aujourd'hui, je suis coincé dans la situation où je regarde en arrière,
|
||||
je dois comprendre si je peux, aussi, devenir un programmeur avec un
|
||||
visage humain ; ou si tout ce que je fais est juste un emploi. Il ne
|
||||
semble pas y avoir tellement de choses qui vaille la peine
|
||||
entre-deux.<br />
|
||||
En tous les cas, là où printf a estimé qu'il n'a pas besoin d'être un
|
||||
vrai programmeur, je pense que je ressens la même chose
|
||||
maintenant.<br />
|
||||
</p>
|
||||
<h1 id="liens">Liens</h1>
|
||||
<ul>
|
||||
<li>cipherbliss <a
|
||||
href="id:d14d8051-bbb9-4279-a574-84d78bfe5b66">Cipherbliss blog</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<footer><hr/><a href='/'>Retour à l'Accueil</a></footer></body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue