Add asciidoctor-bibtex for correct references

This commit is contained in:
Fred Pauchet 2021-09-26 17:13:17 +02:00
parent 3dd773d6d8
commit 964d95a8ab
7 changed files with 88 additions and 87 deletions

View File

@ -1,5 +1,5 @@
.PHONY: help pdf
.PHONY: pdf
help:
@echo "Please use \`make <target>' where <target> is one of"
@ -8,10 +8,5 @@ help:
clean:
rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
pdf:
asciidoctor-pdf -a pdf-themesdir=resources/themes -a pdf-theme=book.yml source/main.adoc -t
asciidoctor-pdf -r asciidoctor-bibtex -a pdf-themesdir=resources/themes -a pdf-theme=book.yml source/main.adoc -t

View File

@ -9,8 +9,8 @@ Ce livre peut être compilé avec [AsciiDoctor](https://asciidoctor.org/).
```bash
$ gem install asciidoctor-pdf --pre
$ gem install asciidoctor-bibtex
$ gem install rouge
$ gem install asciidoctor-diagram
```
## Conversion en PDF
@ -21,6 +21,11 @@ asciidoctor -a rouge-style=monokai -a pdf-themesdir=resources/themes -a pdf-them
asciidoctor-pdf -a pdf-themesdir=resources/themes -a pdf-theme=gwift main.adoc -t -r asciidoctor-diagram
```
## Image Docker
L'image Docker utilisée par Drone est [celle-ci](https://github.com/asciidoctor/docker-asciidoctor).
Elle convient tout ce qu'il faut pour compiler correctement le document en PDF (asciidoctor-pdf, asciidoctor-bibtex, ...).
## Erreurs connues
Si `asciidoctor` n'est pas dans le PATH malgré son installation, on peut le trouver grâce à la commande `gem env`, puis à réutiliser (ou à modifier le fichier `.bash_profile` ou `.profile`).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

View File

@ -6,6 +6,7 @@ Cédric Declerfayt <jaguarondi27@gmail.com>; Fred Pauchet <fred@grimbox.be>
:sectnums:
:chapter-label: Chapitre
:preface-title: Préface
:bibtex-file: source/references.bib
:source-highlighter: rouge
:icons: font
@ -59,3 +60,7 @@ include::part-3-django-concepts/_index.adoc[]
include::part-4-go-live/_index.adoc[]
include::part-9-resources/_index.adoc[]
== Bibliographie
bibliography::[]

View File

@ -16,16 +16,13 @@ par ses utilisateurs.
Et cest juste cette maintenance qui est difficile.
Lapplication des principes présentés et agrégés ci-dessous permet surtout de préparer correctement tout ce qui pourra arriver,
sans aller jusquau « *YAGNI* » qui consiste à surcharger tout développement avec des fonctionnalités non demandées,
juste « au cas ou ». Pour paraphraser une partie de lintroduction:
sans aller jusquau « *You Ain't Gonna Need It* » (ou *YAGNI*), qui consiste à surcharger tout développement avec des fonctionnalités non demandées, juste « au cas ou ».
Pour paraphraser une partie de lintroduction du livre _Clean Architecture_ cite:[clean_architecture]:
[quote]
----
[quote, Robert C. Martin, Clean Architecture]
Getting software right is hard: it takes knowledge and skills that most young programmers dont take the time to develop.
It requires a level of discipline and dedication that most programmers never dreamed theyd need.
Mostly, it takes a passion for the craft and the desire to be a professional.
-- Robert C. Martin, Clean Architecture
----
Le développement d'un logiciel nécessite une rigueur d'exécution et des connaissances précises dans des
domaines extrêmement variés.
@ -34,9 +31,7 @@ Indépendamment de l'architecture que vous aurez choisie, des technologies que v
une architecture et une solution peuvent être cassées en un instant, en même temps que tout ce que vous aurez construit,
dès que vous en aurez détourné le regard.
Un des objectifs ici est de placer les barrières et les gardes-fous (ou plutôt, les "*garde-vous*"), afin
de péréniser au maximum les acquis, stabiliser les bases de tous les environnements (du développement à la production)
qui pourraient accueillir notre application et fiabiliser les étapes de communication.
Un des objectifs ici est de placer les barrières et les gardes-fous (ou plutôt, les "*garde-vous*"), afin de péréniser au maximum les acquis, stabiliser les bases de tous les environnements (du développement à la production) qui pourraient accueillir notre application et fiabiliser les étapes de communication.
[quote]
----

View File

@ -1,15 +1,10 @@
[quote]
----
[quote, Brian Foote and Joseph Yoder]
If you think good architecture is expensive, try bad architecture
-- Brian Foote and Joseph Yoder
----
[quote]
----
[quote, Robert C. Martin, Clean Architecture]
A computer program is a detailed description of the policy by which inputs are transformed into outputs.
-- Robert C. Martin, Clean Architecture
----
Au delà des principes SOLID dont il est question plus haut,
cest à nouveau dans les ressources proposées et les cas démontrés que lon comprend leur intérêt:
@ -42,16 +37,13 @@ TODO: Un p'tit bout à ajouter sur les méthodes de conception ;)
==== Considération sur les frameworks
[quote]
----
[quote, Robert C. Martin, Clean Architecture, p. 199]
Frameworks are tools to be used, not architectures to be conformed to.
Your architecture should tell readers about the system, not about the frameworks you used in your system.
If you are building a health care system, then when new programmers look at the source repository,
their first impression should be, « oh, this is a health care system ».
Those new programmers should be able to learn all the use cases of the system,
yet still not know how the system is delivered.
-- Robert C. Martin, Clean Architecture, page 199
----
Le point soulevé ci-dessous est qu'un framework n'est qu'un outil, et pas une obligation de structuration.
L'idée est que le framework doit se conformer à la définition de l'application, et non l'inverse.

9
source/references.bib Normal file
View File

@ -0,0 +1,9 @@
@book{clean_architecture,
title = {Clean Architecture, A Craftman's Guide to Software Structure and Design},
author = {Robert C. Martin},
publisher = {Pearson},
editor = {Addison-Wesley},
isbn = {978-0-13-449416-6},
year = {2018},
type = {Book}
}