187 Commits
Author SHA1 Message Date
gregandev 2ecfbb8013 pousche 2022-04-06 18:06:55 +02:00
gregandev 8594e6215c pousche 2022-04-06 16:15:35 +02:00
gregandev 943f665bd7 pousche 2022-04-06 15:10:03 +02:00
gregandev ade331a604 yo 2022-04-05 20:05:42 +02:00
gregandev 24e5e49acc test ouroboros 2022-04-05 18:21:43 +02:00
gregandev cb5011571f test CI/CD 2022-04-05 16:52:13 +02:00
gregandev bce5d3656d test CI/CD 2022-04-05 16:39:27 +02:00
gregandev bbaba416ab Mettre à jour content/page/about.md 2022-01-26 07:33:29 +00:00
gregandev 83905b3fac ajout tests 2021-07-31 12:14:36 +02:00
gregandev f004d96076 ajout tests 2021-07-31 12:13:38 +02:00
gregandev 640417cc35 clean up 2021-07-30 23:25:25 +02:00
gregandev c11be64b2e modif contenus 2021-07-30 23:21:45 +02:00
gregandev 226d962003 Update 2021-05-01-fourth-post.md 2021-07-30 20:45:48 +00:00
gregandev d6c0f37f00 Update 2021-05-01-fourth-post.md 2021-07-30 20:44:44 +00:00
gregandev 23a6b7db8d Delete .gitlab-ci.yml 2021-07-30 20:42:41 +00:00
gregandev 3e35c6c4a8 Delete headers 2021-07-30 20:42:15 +00:00
gregandev fb628e63f9 Delete jenkinsTest.sh 2021-07-30 20:41:21 +00:00
gregandev ea69ea079e modif post contenus 2021-07-30 22:35:32 +02:00
gregandev 49636f577e modif post contenus 2021-07-30 22:25:44 +02:00
gregandev aa17e969cf maj about 2021-07-30 09:47:05 +02:00
gregandev 929f11eab2 maj comment 2021-07-30 08:31:58 +02:00
gregandev a1fa78fbab ajout TEST 2021-07-29 19:31:01 +02:00
gregandev 244c09d80a ajout tests 2021-07-29 18:32:12 +02:00
gregandev 3ff75fef47 ajout tests 2021-07-29 18:23:09 +02:00
gregandev 65dcba5549 ajout tests 2021-07-29 18:04:59 +02:00
gregandev f162e27efd ajout tests 2021-07-29 18:03:35 +02:00
gregandev e17da12271 ajout tests 2021-07-29 18:00:45 +02:00
gregandev 4f6bea2002 ajout tests 2021-07-29 17:59:38 +02:00
gregandev f123e58a0c ajout tests 2021-07-29 17:57:33 +02:00
gregandev 530c57df7a ajout tests 2021-07-29 17:47:53 +02:00
gregandev 2b77e1e931 ajout tests 2021-07-29 17:39:34 +02:00
gregandev 03ace1def8 ajout tests 2021-07-29 17:32:31 +02:00
gregandev 367205b340 ajout tests 2021-07-29 17:28:14 +02:00
gregandev 9f7c5f6b3c ajout tests 2021-07-29 17:26:41 +02:00
gregandev 837e8c0d39 ajout tests 2021-07-29 17:17:19 +02:00
gregandev e782bcfc52 ajout tests 2021-07-29 17:16:01 +02:00
gregandev b0a8e54c1d ajout tests 2021-07-29 17:12:45 +02:00
gregandev 5dbfc630ea ajout tests 2021-07-29 17:08:51 +02:00
gregandev e8c31e203b ajout tests 2021-07-29 17:04:12 +02:00
gregandev 9828f370be ajout tests 2021-07-29 16:59:23 +02:00
gregandev 4945517810 ajout tests 2021-07-29 16:52:43 +02:00
gregandev 549e3aae2a ajout tests 2021-07-29 16:51:11 +02:00
gregandev 8e6010da13 ajout tests 2021-07-29 16:48:05 +02:00
gregandev c7535f4579 ajout tests 2021-07-29 16:46:25 +02:00
gregandev bcd6960ad3 just for kicks 2021-07-29 10:51:47 +02:00
gregandev f351f8df41 test 2021-07-28 14:50:14 +02:00
gregandev aee66aaa44 pipeline hugo 2021-07-28 14:08:48 +02:00
gregandev dd947e18e9 pipeline hugo 2021-07-28 14:07:29 +02:00
gregandev f7395a620f test webhook 2021-07-28 13:47:43 +02:00
gregandev 84ef437572 test webhook 2021-07-28 13:44:17 +02:00
gregandev 4214da3f71 maj Dockerfile nginx.conf path 2021-07-28 13:40:17 +02:00
gregandev e6dc0e5a5b test pipeline 2021-07-28 13:22:48 +02:00
gregandev 3e8d419887 test pipeline 2021-07-28 12:54:27 +02:00
gregandev 3632c9fa65 test ipeline 2021-07-28 12:51:48 +02:00
gregandev 1d6741e2a0 test pipeline 2021-07-28 11:55:52 +02:00
gregandev d5b72a8970 maj readme 2021-07-28 11:06:23 +02:00
gregandev e5f43e6051 maj readme 2021-07-24 11:26:08 +02:00
gregandev 71506a71f7 maj readme 2021-07-24 10:47:16 +02:00
gregandev c9cf197d56 hugo docker & docker-compose ok 2021-07-24 10:36:26 +02:00
gregandev ae79133b69 Update config.toml 2021-05-03 06:49:57 +00:00
gregandev c659e7c874 Update config.toml 2021-05-03 06:46:15 +00:00
gregandev 3b1e3445dc Update config.toml 2021-05-03 06:45:24 +00:00
gregandev c4fd21f39d clean up + ajouts divers 2021-05-02 18:18:34 +02:00
gregandev 3486de3c3e clean up + ajouts divers 2021-05-02 18:17:03 +02:00
gregandev 362a0b54af del menu posts 2021-05-02 17:14:10 +02:00
gregandev 040a48e77d ajout sous menu posts + deplacement de projets dans pages/ 2021-05-02 15:42:40 +02:00
gregandev 649d16ba0d ajout francais 2021-05-02 14:40:54 +02:00
gregandev 7585876159 petits updates, premier post + about modif 2021-05-02 12:57:35 +02:00
gregandev eb4b6f3b5b test URL 2 2021-05-02 11:45:11 +02:00
gregandev 328354713f test URL 2021-05-02 11:25:34 +02:00
gregandev d3b7bc58d0 Initial commit 2021-05-02 11:19:34 +02:00
gregandev 73c11cb175 Initial commit 2021-05-02 11:17:45 +02:00
Achilleas Pipinellis 7ef36c2e52 Merge branch 'master' into 'master'
added more documentation to math-sample

See merge request pages/hugo!62
2019-05-23 21:00:44 +00:00
Achilleas Pipinellis 81f4d5db79 Merge branch 'master' into 'master'
Switched to Font Awesome 5

See merge request pages/hugo!58
2018-10-08 11:37:41 +00:00
Ivan StanulandAchilleas Pipinellis 0cbd38c6e5 Switched to Font Awesome 5 2018-10-08 11:37:41 +00:00
Edward Ned Harvey ef92f24879 added more documentation to math-sample 2018-07-29 10:08:48 -04:00
Achilleas Pipinellis 5d0ad3d826 Merge branch 'patch-1' into 'master'
Fix incorrect use of isset

See merge request pages/hugo!49
2018-04-09 09:24:00 +00:00
Achilleas Pipinellis 9a98eaf833 Merge branch 'patch-1' into 'master'
Update .gitlab-ci.yml for submodule management

See merge request pages/hugo!52
2018-04-09 09:22:31 +00:00
Achilleas Pipinellis 4e6c5c94d2 Merge branch 'patch-1' into 'master'
Fix typo on line 57 : ~~equaly~~

See merge request pages/hugo!55
2018-04-09 09:20:33 +00:00
Avizini 124224648d Fix typo on line 57 : ~~equaly~~ 2018-03-31 11:38:52 +00:00
Luca Berton 4e2e258f04 Update .gitlab-ci.yml for submodule management 2018-02-26 15:10:44 +00:00
Avinash Sonawane 5bf3497d89 Fix incorrect use of isset 2018-02-03 13:30:43 +00:00
Achilleas Pipinellis 77ba641331 Merge branch 'use_latest_image' into 'master'
Use docker image "latest" tag instead of version number

See merge request pages/hugo!43
2017-10-20 15:41:30 +00:00
Rémy Jacquin e99a9eaf68 Use docker image "latest" tag instead of version number 2017-10-20 15:13:48 +02:00
Achilleas Pipinellis 1ea76ac328 Merge branch '15-update-hugo' into 'master'
Update to Hugo 0.27.1

Closes #15

See merge request pages/hugo!40
2017-10-15 16:56:13 +00:00
Achilleas Pipinellis f7d9257b36 Update to Hugo 0.27.1 2017-10-15 16:55:46 +00:00
Achilleas Pipinellis 325bafff87 Use Docker image from GitLab's Registry 2017-08-19 13:09:39 +00:00
Achilleas Pipinellis f3c734ed97 Merge branch 'patch-1' into 'master'
Bump Hugo version to 0.23

See merge request !22
2017-06-16 15:23:08 +00:00
Elena Grahovac ce7ebe49e7 Bump Hugo version to 0.23 2017-06-16 13:00:49 +00:00
Achilleas Pipinellis 8eb59e499f Bump to 0.22 2017-06-13 10:41:05 +02:00
Achilleas Pipinellis 7db9338781 Merge branch '11/x509-error-deploy-when-using-data-driven-content' into 'master'
Added ca-certificates apk to use Data-driven Content

Closes #11

See merge request !21
2017-05-15 15:38:35 +00:00
Rick KuilmanandAchilleas Pipinellis 4c982e3d5a Added ca-certificates apk to use Data-driven Content 2017-05-15 15:38:35 +00:00
Achilleas Pipinellis ad2166bf51 Update to Hugo 0.20.7 2017-05-10 15:25:53 +02:00
Achilleas Pipinellis df5505a66c Change theme 2017-05-10 15:08:10 +02:00
Achilleas Pipinellis 9b0d718a6e Merge branch 'update' into 'master'
update Readme

See merge request !14
2017-03-01 12:17:33 +00:00
Achilleas Pipinellis 4e8f2ce3de Merge branch 'update-submodules' into 'master'
Suggest to update submodules if hugo theme is in a submodule.

See merge request !12
2017-03-01 12:16:48 +00:00
Benjamin 601d569bad update Readme 2017-02-13 15:46:56 +01:00
Achilleas Pipinellis b4a9d7eef0 Merge branch 'update' into 'master'
update alpine to 3.5, update hugo to 0.18.1

See merge request !13
2017-02-13 12:52:36 +00:00
Benjamin dc629c8112 update alpine to 3.5, update hugo to 0.18.1 2017-02-12 08:42:19 +01:00
Gilbert Gilb's ed5633cfc0 Suggest to update submodules if hugo theme is in a submodule. 2016-12-28 22:03:16 +01:00
Achilleas Pipinellis 8acbc2c2c5 Merge branch 'remove-deploy-sh' into 'master'
Remove deploy.sh

Closes #6 

See merge request !8
2016-08-04 15:04:35 +00:00
Achilleas Pipinellis 141b5abf23 Remove deploy.sh
Closes #1
2016-08-04 15:02:47 +00:00
Achilleas Pipinellis 85f5d9a895 Merge branch 'install-hugo' into 'master'
Install Hugo 0.16 on the fly and use it



See merge request !7
2016-08-04 15:01:40 +00:00
Ariya Hidayat dcdc5b56c2 Install Hugo 0.16 on the fly and use it 2016-07-28 22:46:24 -07:00
Achilleas Pipinellis 9069e3b015 Use HTTPS for Google fonts 2016-07-11 17:16:19 +00:00
Achilleas Pipinellis c3f817a28b Merge branch 'fix-urls' into 'master'
Use official pages URL



See merge request !6
2016-07-11 15:59:46 +00:00
Achilleas Pipinellis a71071e90c Use test stage on branches other than master 2016-07-11 15:54:29 +00:00
Achilleas Pipinellis deff787829 Use official pages URL 2016-07-11 15:51:15 +00:00
Achilleas Pipinellis e07458d021 Merge branch 'fix-url' into 'master'
fix url

Fixes #4 

Sorry @axil, this was a test and shouldn't have passed to the upstream    :|

See merge request !4
2016-04-20 17:59:56 +00:00
Achilleas Pipinellis 8486d61b49 Merge branch 'fix-ci' into 'master'
fixes gitlab-ci (original state)

Same thing here @axil  ( as in pages/hugo!4) 

I don't know why my  forked `master ` branch was merged to the upstream... The MR I added to update the "readme" was coming from a branch in the Pages group, not from my forked project.

Anyway, this MR will bring the `.gitlab-ci.yml` to its original state. 

See merge request !5
2016-04-20 17:59:19 +00:00
Virtua Creative 4d21de4b1f fix gitlab-ci (original state) 2016-04-20 15:40:36 +00:00
Virtua Creative eb2f8df3b4 http -> https 2016-04-20 15:36:54 +00:00
Virtua Creative 6256d62d13 fix url 2016-04-20 15:33:12 +00:00
Achilleas Pipinellis ee59cdc8bc Merge branch 'note-preview-and-user-site' into 'master'
update README

Fixes #2 

- Add note: preview site at `localhost:1313/hugo/` - see https://gitlab.com/pages/hugo/issues/2#note_4728574 - no need to add `--baseurl` flag to the `server` command (tested locally)

- Move the step "Generate the website: `hugo`" to the end - it's a non-required step

- Add note regarding user/group site and custom domain

cc/ @axil 



See merge request !2
2016-04-20 12:56:32 +00:00
Virtua Creative 6e006926bb Merge branch 'revert-b4178e45' into 'master'
Revert b4178e45

adding cache back

See merge request !3
2016-04-19 23:33:26 +00:00
Virtua Creative e8f5c3be1f Revert "test11: remove cache"
This reverts commit b4178e4531
2016-04-19 23:32:56 +00:00
Virtua Creative b4178e4531 test11: remove cache 2016-04-19 22:27:40 +00:00
Virtua Creative 36156ff4cf test build after test10 2016-04-19 22:26:00 +00:00
Virtua Creative 7924d27088 test10: -qq 2016-04-19 22:19:35 +00:00
Virtua Creative 7510c8fb32 test9: apt-get update before apt-get git-core 2016-04-19 22:16:55 +00:00
Virtua Creative dee98808dc test8: list packages 2016-04-19 22:09:46 +00:00
Virtua Creative a93b5e4071 test7: apt-get install git from the source 2016-04-19 22:06:05 +00:00
Virtua Creative ca07445538 test6: apt-get git-core 2016-04-19 22:01:48 +00:00
Virtua Creative 1dc9690f6e test6: apt-get git 2016-04-19 21:54:47 +00:00
Virtua Creative d635249096 test5: apt-get git-all + cache 2016-04-19 21:52:52 +00:00
Virtua Creative ac5838a462 test4: apt-get -qq + cache 2016-04-19 21:51:16 +00:00
Virtua Creative 8f5c3b374b update readme - fixes #2 2016-04-19 21:30:20 +00:00
Virtua Creative 36a5e0d5ab update config - custom domain 2016-04-19 19:49:31 +00:00
Virtua Creative ed91faff5d removing test: apt-get did not work 2016-04-19 16:30:32 +00:00
Virtua Creative cac38c21b6 test2: install git 2016-04-19 16:28:11 +00:00
Virtua Creative 99315ef3a1 test1: install git 2016-04-19 16:26:28 +00:00
Virtua Creative d599479391 test: install git before hugo 2016-04-19 16:23:22 +00:00
Achilleas Pipinellis d3a9e560a0 Merge branch 'fix-config-baseurl' into 'master'
Fixes baseurl

## Why

Blog posts urls aren't correct:

Example, newest post url: https://pages.gitlab.io/hugo/hugo/posts/newest/ (`/hugo/` is repeating itself)

Correct path: https://pages.gitlab.io/hugo/posts/newest/

## How to fix this

Baseurl (current, not working): `"/hugo"`

Baseurl (correct): `"https://pages.gitlab.io/hugo/"`

## Working example

Config: https://gitlab.com/virtua-tests/hugo/blob/master/config.toml

Website: https://virtua-tests.gitlab.io/hugo/

Posts:

https://virtua-tests.gitlab.io/hugo/posts/newest/

https://virtua-tests.gitlab.io/hugo/posts/middle/

https://virtua-tests.gitlab.io/hugo/posts/oldest/

----

cc/ @axil 

See merge request !1
2016-04-13 16:43:05 +00:00
Virtua Creative 1e26eb14d0 fixes baseurl 2016-04-13 16:20:09 +00:00
Achilleas Pipinellis b6e73458bd Add TOC 2016-04-05 21:00:50 +03:00
Achilleas Pipinellis 9efb622064 Run only on master 2016-04-05 18:15:02 +03:00
Achilleas Pipinellis 6590c638fc Update README 2016-04-05 18:14:49 +03:00
Achilleas Pipinellis c64770c3d9 Exclude public dir 2016-04-05 18:13:16 +03:00
Achilleas Pipinellis 3cc228936d yaml to toml 2016-04-05 18:12:49 +03:00
Achilleas Pipinellis b1db6407b3 Set base_url to /hugo 2016-03-28 16:00:26 +00:00
Achilleas Pipinellis 4b264f448d Change site URL 2016-03-23 10:21:13 +00:00
Achilleas Pipinellis ae41758c88 Change Hugo url 2016-02-26 13:05:54 +02:00
Achilleas Pipinellis 682b1ec150 Change intro 2016-02-26 13:03:03 +02:00
Achilleas Pipinellis eb0b63bd59 Remove public dir 2016-02-26 13:00:03 +02:00
Achilleas Pipinellis 3d1e0ca5d8 Update readme 2016-02-26 10:57:59 +00:00
Achilleas Pipinellis 5769fe328c Update baseurl 2016-02-26 10:46:25 +00:00
Achilleas Pipinellis ac12ca5a03 Use https 2016-02-26 10:40:39 +00:00
Achilleas Pipinellis b0910f8c12 Add different image 2016-02-26 10:34:07 +00:00
Achilleas Pipinellis f23cbd5d9a Add .gitlab-ci.yml 2016-02-26 10:24:20 +00:00
Achilleas Pipinellis 1958fa0940 Change baseurl 2016-02-26 10:22:24 +00:00
Spencer Lyon b236529add Merge pull request #3 from blinksmith/master
Update template to work with Hugo v0.15
2016-02-10 07:45:25 -05:00
blinksmith 1bb3dcb920 update readme 2016-01-25 09:58:54 +07:00
blinksmith 846920f86b add missing file 2016-01-25 09:57:46 +07:00
blinksmith 81499bba36 Update to hugo v0.15 2016-01-25 09:46:25 +07:00
blinksmith 15081ac7e5 fix baseURL
update for hugo 0.15
2016-01-25 06:26:13 +07:00
Spencer Lyon e6b3d2ec3b rebuilding site Wed Jun 25 01:00:47 EDT 2014 2014-06-25 01:00:47 -04:00
Spencer Lyon 054b7c850e rebuilding site Wed Jun 25 00:57:51 EDT 2014 2014-06-25 00:57:51 -04:00
Spencer Lyon e1f8d9fef4 rebuilding site Wed Jun 25 00:56:09 EDT 2014 2014-06-25 00:56:09 -04:00
Spencer Lyon 938a29700e rebuilding site Wed Jun 25 00:53:05 EDT 2014 2014-06-25 00:53:05 -04:00
Spencer Lyon bf4fa67d78 rebuilding site Wed Jun 25 00:51:30 EDT 2014 2014-06-25 00:51:30 -04:00
Spencer Lyon a92a7b999a rebuilding site Wed Jun 25 00:50:41 EDT 2014 2014-06-25 00:50:41 -04:00
Spencer Lyon d0a4217d90 rebuilding site Wed Jun 25 00:50:19 EDT 2014 2014-06-25 00:50:19 -04:00
Spencer Lyon 69c1520723 Revert "Update config.yaml"
This reverts commit 3fab7cdd1d.
2014-06-25 00:46:36 -04:00
Spencer Lyon 8dfc2f0024 Revert "rebuilding site Wed Jun 25 00:32:45 EDT 2014"
This reverts commit e59c46154e.
2014-06-25 00:46:36 -04:00
Spencer Lyon dbfddd4908 Revert "Revert "rebuilding site Wed Jun 25 00:32:45 EDT 2014""
This reverts commit d66c6bea70.
2014-06-25 00:46:35 -04:00
Spencer Lyon ed37cb570e Revert "Revert "Update config.yaml""
This reverts commit 1ec6645555.
2014-06-25 00:46:35 -04:00
Spencer Lyon f070c265f9 Revert "Revert "ENH: Added google analytics to site""
This reverts commit b95e6fe7e0.
2014-06-25 00:46:35 -04:00
Spencer Lyon fb7460a82f Revert "rebuilding site Wed Jun 25 00:43:30 EDT 2014"
This reverts commit e06a369528.
2014-06-25 00:46:35 -04:00
Spencer Lyon 26a85ca049 Revert "rebuilding site Wed Jun 25 00:44:02 EDT 2014"
This reverts commit c813fc8f00.
2014-06-25 00:46:35 -04:00
Spencer Lyon c813fc8f00 rebuilding site Wed Jun 25 00:44:02 EDT 2014 2014-06-25 00:44:02 -04:00
Spencer Lyon e06a369528 rebuilding site Wed Jun 25 00:43:30 EDT 2014 2014-06-25 00:43:30 -04:00
Spencer Lyon b95e6fe7e0 Revert "ENH: Added google analytics to site"
This reverts commit cce663641f.
2014-06-25 00:43:06 -04:00
Spencer Lyon 1ec6645555 Revert "Update config.yaml"
This reverts commit 3fab7cdd1d.
2014-06-25 00:43:06 -04:00
Spencer Lyon d66c6bea70 Revert "rebuilding site Wed Jun 25 00:32:45 EDT 2014"
This reverts commit e59c46154e.
2014-06-25 00:43:06 -04:00
Spencer Lyon e59c46154e rebuilding site Wed Jun 25 00:32:45 EDT 2014 2014-06-25 00:32:45 -04:00
Spencer Lyon 3fab7cdd1d Update config.yaml 2014-06-25 00:31:55 -04:00
Spencer Lyon cce663641f ENH: Added google analytics to site 2014-03-29 22:34:22 -04:00
Spencer Lyon 10e73a2c0a rebuilding site Sat Mar 29 22:26:41 EDT 2014 2014-03-29 22:26:41 -04:00
Spencer Lyon d17bdbeea7 rebuilding site Sat Mar 29 22:26:14 EDT 2014 2014-03-29 22:26:14 -04:00
Spencer Lyon 33dff19264 TEST: first test for gh-pages brach 2014-03-29 12:16:34 -04:00
Spencer Lyon ffd427340f Merge commit 'fdc3e96bb0a1961b9647ae536d0d75ffc4aa43da' as 'public' 2014-03-29 12:15:49 -04:00
Spencer Lyon fdc3e96bb0 Squashed 'public/' content from commit 699ce80
git-subtree-dir: public
git-subtree-split: 699ce800bf6843161018c872ab23e15738bdd5a3
2014-03-29 12:15:49 -04:00
Spencer Lyon 1e536495af ENH: added deploy.sh script 2014-03-29 12:15:37 -04:00
Spencer Lyon 92acbd9458 Merge commit 'f3b702ce78a2e0c92acca82569bf2a1d1302ea28' as 'public' 2014-03-29 12:12:53 -04:00
Spencer Lyon f3b702ce78 Squashed 'public/' content from commit 699ce80
git-subtree-dir: public
git-subtree-split: 699ce800bf6843161018c872ab23e15738bdd5a3
2014-03-29 12:12:53 -04:00
Spencer Lyon c624bdbafb INIT: uploading initial structure of site" 2014-03-29 12:09:38 -04:00
Spencer Lyon 829427ec43 Initial commit 2014-03-29 07:18:55 -07:00
247 changed files with 6502 additions and 3821 deletions
-64
View File
@@ -1,64 +0,0 @@
kind: pipeline
name: hugo
type: docker
platform:
os: linux
arch: arm64
trigger:
branch:
- main
steps:
- name: build hugo site
# image: greglebreton/drone-hugo:arm64
image: plugins/hugo
settings:
hugo_version: 0.154.2
theme: silhouette-hugo
extended: true
validate: true
config: config.toml
content: content
output: ./public
commands:
- hugo
- name: deploy site on server
image: greglebreton/drone-rsync:aarch64
settings:
hosts: ["192.168.0.100"]
target: /var/www/html/gregandev.fr
source: public/*
port: 2021
user:
from_secret: RSYNC_USER
key:
from_secret: RSYNC_SSH_KEY
- name: notify
image: greglebreton/drone-email:arm64
settings:
from.address: contact@gregandev.fr
host: mail.gregandev.fr
port: 587
debug: true
username: contact@gregandev.fr
password:
from_secret: MAIL_PASSWORD
recipients: [ greg@gregandev.fr ]
subject: >
[{{ build.status }}]
{{ repo.owner }}/{{ repo.name }}
body: >
📝 {{repo.name}} / {{commit.branch}} - {{commit.message}} <br />
{{#success build.status}}
✅ succeeded for 👷‍♂️ build {{build.number}}
{{else}}
🛑 failed for 👷‍♂️ build {{build.number}}
{{/success}}
<br /><img src='https://git.gregandev.fr/assets/img/logo.svg'/>
when:
status: [ success, failure ]
+3
View File
@@ -0,0 +1,3 @@
[submodule "themes/zen"]
path = themes/zen
url = https://github.com/frjo/hugo-theme-zen.git
+2 -2
View File
@@ -1,6 +1,6 @@
FROM nginx:alpine
COPY ./public /var/www/html
COPY ./nginx-proxy/nginx.conf /etc/nginx/conf.d/default.conf
COPY ./nginx-docker/nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
EXPOSE 80
+21
View File
@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014 Spencer Lyon
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+47 -201
View File
@@ -1,223 +1,69 @@
# ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&width=435&height=70&lines=HUGO-SITE)
# HUGO SITE AVEC DOCKER
[![Build Status](https://drone.gregandev.fr/api/badges/gregandev/hugo-site/status.svg)](https://drone.gregandev.fr/gregandev/hugo-site)
Cette branche à pour but de conteneurisé un site HUGO compilé avec un server NGINX.
La configuration pour le NGINX reverse proxy en front se trouve dans le dossir nginx-proxy.
## INSTALLATION :hammer:
## UTILISATION:
- Via APT:
```bash
sudo apt install hugo
```
- Via la ligne de commande:
```bash
cd /tmp
curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest \
| grep browser_download_url \
| grep linux-amd64.deb \
| grep extended \
| cut -d '"' -f 4 \
| wget -i -
sudo dpkg -i hugo*_linux-amd64.deb
rm -rf hugo*_linux-amd64.deb
```
## UTILISATION
### CREATION DU SITE :page_with_curl:
- Vérifier l'installation:
```bash
hugo version
```
- Créer la structure du site:
```bash
hugo new site mon-site
```
- Créer du contenu:
```bash
cd mon-site
hugo new posts/mon-post.md
nano posts/mon-post.md
```
Ajouter des medias:
- images:
```bash
## Image via link:
![](https://pbs.twimg.com/media/DGKRMoPXcAIyA8y.jpg)
------
## Image via url locale (/static):
![](/images/test/1.png)
```
- videos:
```bash
## Vidéo Youtube:
{{< youtube ZSWzPI4BqvA >}}
```
### AJOUT D'UN THEME :art:
```bash
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke
echo theme = \"ananke\" >> config.toml
```
Les thèmes HUGO:
- https://jamstackthemes.dev/ssg/hugo/
- https://hugothemesfree.com/
- https://master--hugothemes.netlify.app/
### CONFIGURATION DU CONFIG.TOML :wrench:
- Configuration de base
```bash
# Configuration de l'adresse, titre (onglet) et des chemins vers les contenus
baseurl = "/"
contentdir = "content"
layoutdir = "layouts"
publishdir = "public"
title = "Mon super site!!!"
canonifyurls = true
# ACCUEIL
[Params]
subtitle = "Portfolio made in HUGO !"
logo = "img/logo2.png"
favicon = "img/favicon.ico"
dateFormat = "January 2, 2006"
commit = false
rss = false
comments = true
```
- Création d'un menu
```bash
[[menu.main]]
name = "Post 1"
url = "/post/post1"
weight = 1
[[menu.main]]
name = "A propos"
url = "/page/about"
weight = 2
[[menu.main]]
name = "Projets"
url = "/page/about"
weight = 3
```
- Création d'un sous menu
```bash
[[menu.main]]
parent = "Projets"
name = "Projet 1"
url = "/projets/projet1"
weight = 1
[[menu.main]]
parent = "Projets"
name = "Projet 2"
url = "/projets/projet2"
weight = 2
```
:warning: Créer les dossiers et les fichiers correspondant. Les urls ne prennent pas l'extension .md du fichier
- Création des icônes reseaux sociaux
```bash
[Author]
name = ""
email = ""
gitlab = ""
github = ""
twitter = ""
reddit = ""
linkedin = ""
```
### LANCER LE SERVEUR :rocket:
```bash
# L'option -D est pour servir les fichiers en Draft = true (non publiés)
hugo server -D
```
> Visiter http://localhost:1313
### BUILDER LE SITE :construction:
Pour l'utiliser avec un autre site Hugo, copier simplement la Dockerfile ou le docker-compose.yml
ainsi que les dossiers nginx-docker et nginx-proxy à la racine du projet Hugo (à côté du config.toml)
et éxécuter la commande pour construire le site:
```bash
hugo
```
> Les fichiers générés sont dans le dossier public
Un dossier public s'est créé avec les fichiers statiques du site, il faut maintenant configurer
les Nginx (le proxy et celui dans l'image Docker:
## DEPLOIEMENT :checkered_flag:
## CONFIGURATION:
### VIA GITLAB AUTO DEVOPS
Compléter le config.toml comme ceci:
Editer le fichier de configuration
```bash
baseURL = "https://gitlab_user.gitlab.io/"
nano nginx-proxy/nginx.conf
```
/\ Attention, le nom de domaine (ici exemple.com) est à configuré dans le proxy NGINX !
Une fois tout bien renseigné
Compléter le fichier .gitlab-ci.yml comme ceci:
```bash
image: registry.gitlab.com/pages/hugo/hugo_extended:latest
variables:
GIT_SUBMODULE_STRATEGY: recursive
pages:
script:
- hugo
artifacts:
paths:
- public
only:
- main
```
### VIA DOCKER :whale:
- Créer une Dockerfile contenant:
```Dockerfile
FROM nginx:alpine
COPY ./public/* /usr/share/nginx/html
COPY ./docs/nginx-exemple.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
```
Redémarrer NGINX:
```bash
docker build -t hugo-site:1.0 .
docker run -d -p 8989:80 hugo-site:1.0
sudo systemctl restart nginx
```
## DOCUMENTATION :books:
## DEMARRER L'IMAGE:
[DOC DU GARAGE](https://docs.legaragenumerique.xyz/divers/devops/hugo/)
[DOC OFFICIELLE](https://gohugo.io/documentation/)
[DOC MARKDOWN](https://www.markdownguide.org/basic-syntax/)
### VIA DOCKER
## CI/CD :repeat:
```bash
docker build -t hugo/hugo-site .
docker run -d -p 6666:80 --name hugo-site hugo/hugo-site
```
- WEB2PDF.py
- .drone.yml
### VIA DOCKER-COMPOSE
## TO DO :bookmark_tabs:
```bash
docker-compose up -d
```
- [ ] CI/CD schema
### HTTPS:
Via Certbot:
```bash
sudo apt install certbot -y
sudo certbot certonly -d example.com
```
Une fois le certificat obtenu, décommenter les 3 lignes concernant le SSL en vérifiant
le nom des certificats en fonction du nom de domaine:
```
#ssl on;
#ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
#ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
```
Créer une redirection vers le HTTPS dans le bloc server HTTP:
```
return 301 https://$host$request_uri;
```
+91 -41
View File
@@ -1,52 +1,102 @@
# Configuration de l'adresse, titre (onglet) et des chemins vers les contenus
baseurl = "https://gregandev.fr"
contentdir = "content"
layoutdir = "layouts"
publishdir = "public"
title = "Gregandev"
logo = "images/logos/logo.png"
favicon = "images/logos/favicon.png"
theme = "silhouette-hugo"
baseurl = "https://hugo.gregandev.fr"
contentdir = "content"
layoutdir = "layouts"
publishdir = "public"
title = "GreganDev"
canonifyurls = true
author = "Grégory Lebreton"
[pagination]
pagerSize = 10
relativeURLs = false
canonifyURLs = true
#disqusShortname = ""
#googleAnalytics = ""
[params]
author = "Grégory Lebreton"
introDescription = "Ingénieur Devops"
enableRobotsTXT = true
contentSharing = ""
[Params.social]
github = "greglebreton"
linkedin = "grégory-lebreton-996b261bb"
gitlab = "greglebreton"
email = "greg"
[Params.social.share]
linkedin = true
email = true
# CONFIG LANGAGE
# Configuration du language et thème
DefaultContentLanguage = "fr"
# theme = ["osm", "beautifulhugo"]
theme = "beautifulhugo"
#theme = "Lanyon"
metaDataFormat = "yaml"
pygmentsUseClasses = true
pygmentCodeFences = true
#disqusShortname = "XXX"
#googleAnalytics = "XXX"
# ACCUEIL
[Params]
subtitle = "Portfolio made in HUGO !"
logo = "img/logo2.png"
favicon = "img/favicon.ico"
dateFormat = "January 2, 2006"
commit = false
rss = false
comments = true
# gcse = "012345678901234567890:abcdefghijk" # Get your code from google.com/cse. Make sure to go to "Look and Feel" and change Layout to "Full Width" and Theme to "Classic"
#[[Params.bigimg]]
# src = "img/triangle.jpg"
# desc = "Triangle"
#[[Params.bigimg]]
# src = "img/sphere.jpg"
# desc = "Sphere"
#[[Params.bigimg]]
# src = "img/hexagon.jpg"
# desc = "Hexagon"
# ICONES RESEAUX SOCIAUX
[Author]
name = "Greg Lebreton"
email = "contact@gregandev.fr"
# gitlab = "GregLebreton"
email = "greg.lebreton@hotmail.com"
gitlab = "GregLebreton"
github = "GregLebreton"
linkedin = "grégory-lebreton-996b261bb"
itchio = "gregan"
twitter = "Gregan"
reddit = "username"
linkedin = "<greg<lebreton"
stackoverflow = "users/XXXXXXX/username"
instagram = "username"
youtube = "user/username" # or channel/channelname
spotify = "username"
itchio = "username"
#keybase = "username"
#xing = "username"
#bandcamp = "username"
#snapchat = "username"
#soundcloud = "username"
#facebook = "username"
#googleplus = "+username" # or xxxxxxxxxxxxxxxxxxxxx
##### MENU #####
[[menu.main]]
name = "Post"
url = "post/"
weight = 1
# About
[[menu.main]]
name = "A propos"
url = "page/about"
weight = 2
# Tags
[[menu.main]]
name = "Tags"
url = "tags"
weight = 3
# sous menu PROJETS
[[menu.main]]
parent = "Projets"
name = "Projet 1"
url = "projets/projet1"
weight = 4
[[menu.main]]
parent = "Projets"
name = "Projet 2"
url = "projets/projet2"
[[menu.main]]
parent = "Projets"
name = "Projet 3"
url = "projets/projet3"
+14 -28
View File
@@ -1,33 +1,19 @@
---
title: Accueil
description: "Portfolio pour GreganDev"
date: 2025-06-26
draft: false
---
[comment]: <> (PIPELINE)
<div class="contenu">
## Contenu de la page d'accueil
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=false&width=435&height=70&lines=INTRODUCTION)
<!-- Ajout image -->
![c'est une image](/images/hugo-logo.png)
Développeur passionné par les technologies de l'information et de communication, autodidacte de formation, j'aime le partage de connaissances par l'intermédiaire de tout vecteur possible dont l'open source !
<!-- Ajout vidéo youtube -->
{{< youtube bdQCxm1YOwY >}}
### LES PROJETS
### Explication de config
This website is powered by [GitLab Pages](https://about.gitlab.com/features/pages/)
/ [Hugo](https://gohugo.io) and can be built in under 1 minute.
Literally. It uses the `beautifulhugo` theme which supports content on your front page.
Edit `/content/_index.md` to change what appears here. Delete `/content/_index.md`
if you don't want any content here.
Voici les projets sur lesquels je travaille actuellement :
[![LA2029](images/jeux/CaptureTerminatorQuest00.png)]({{< relref "projets/la-2029.md" >}})
[![GEVR](images/jeux/GEVRCover.jpg)]({{< relref "projets/goldeneyevr.md" >}})
[![E&MVSW](images/jeux/AkiraCover.JPG)]({{< relref "projets/akiravr.md" >}})
[![E&MVSW](images/jeux/cover.jpg)]({{< relref "projets/retroarcade.md" >}})
[![GARAGE](images/formation/garagenum.png)]({{< relref "page/garagenum.md" >}})
[![CNAM](images/formation/cnam.png)]({{< relref "page/cnam.md" >}})
[![SK8](images/projets/skate.png)](https://git.gregandev.fr/explore/repos)
</div>
Head over to the [GitLab project](https://gitlab.com/pages/hugo) to get started.
<!-- test ouroboros ou watchtower -->
+29 -58
View File
@@ -1,72 +1,43 @@
---
title: "MON PARCOURS"
title: Un titre
subtitle: Un sous titre
comments: false
description: "Mon parcours, mes compétences"
draft: false
---
Après mon Baccalauréat, j'ai choisi de travailler pour être indépendant. C'est plus tard que j'ai trouvé ma vocation et alors ai entrepris de reprendre les études nécessaires pour faire le méter de mes rêves.
## Exemple de texte
#### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=DEV+JAVA+FULLSTACK)
Mon nom est Greg Lebreton, et voici mes compétences:
La formation de concepteur développeur informatique était orientée Java et web, avec le développement d'applications gérant aussi bien le Frontend que le Backend avec un affichage fenêtré géré par Swing ou un affichage par Jsp.
- Devops
- C#
- PHP
- Java
- Python
- Bash
- Docker
- Ansible
- Jenkins
- Kubernetes
- ...
J'ai pu aborder également la persistence a travers JPA mais aussi de manière traditionnelle avec le SQL et les bases de données (relationnelles).
J'ai alors développer des applications pour des librairie ou de restaurants connectés.
Et bien plus encore.
En conception, j'ai été formé à la méthode Merise ainsi que l'UML pour la modélisation, puis plus tard la méthode agile avec le développement SCRUM.
du code:
```
cd /etc/
```
[![AFPA](../../images/formation/Afpa12.jpg)](https://www.afpa.fr/)
## Des exemples d'ajouts de contenu :
#### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=DEV+PHP)
### lien
Juste le meilleure film : [mon lien](https://www.youtube.com/watch?v=W8sop56DBUs)
J'ai eu la chance de pouvoir développer un module en PHP pour une application liscenciée par Leading Frog.
### image
![c'est une image](/images/hugo-logo.png)
L'application est déployée sur des totems dans les hôtels touristiques de Disneyland et offrent
différents modules comme la consultation d'horaires des transports (avions, bus, état du trafic routier), etc...
### video youtube
{{< youtube ZSWzPI4BqvA >}}
Mon module propose de choisir parmi des photos selectionnées par l'établissement pour les envoyer via un service payant (stripe) sous forme de carte postale.
### texte
Une fois le paiement effectué, une notification est envoyée à Leading Frog proposant d'imprimer la carte postale avec le visuel précédement choisi et à l'adresse de destination déjà saisie.
[![Leading Frog](../../images/logos/lfglogo.png)](https://news.leadingfrog.com/)
#### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=DEVOPS)
Puis j'ai suivi une formation DEVOPS avec l'utilisation d'outils comme Jenkins, Ansible ou Kubernetes qui change la façon de concevoir, développer et déployer des services informatiques.
[![DEVOPS](../../images/formation/Devops.png)](https://fr.wikipedia.org/wiki/Devops)
#### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=MON+TRAVAIL)
[![GN](../../images/formation/garagenum.png)]({{< relref "page/garagenum.md" >}})
Je suis actuellement employé au Garage Numérique en tant que formateur Devops, avec également les casquettes d'administrateur systèmes, développeur et intégrateur.
C'est dans cet incubateur de talents que j'ai développé une application web de quiz en python via le framework [Django](https://www.djangoproject.com/), implémenter l'identification centralisée avec le logiciel Keycloak sur tous les services de l'association ([Nextcloud](https://nextcloud.com/fr/), [Kanboard](https://kanboard.org/), [Element](https://element.io/), [Workadventure](https://workadventu.re/), [Portainer](https://www.portainer.io/), [Jenkins](https://www.jenkins.io/), [Penpot](https://penpot.app/), [Gitea](https://gitea.com/)), ainsi que tout un système de PRA avec sauvegardes régulières et redéploiement automatiseé via: [Ansible](https://www.ansible.com/).
[![CNAM](../../images/formation/cnam.png)]({{< relref "page/cnam.md" >}})
Le [CNAM](https://www.cnam.fr/) est un partenaire dans la formation des jeunes aux métiers de demain, il développe de nouvelles filières qui visent à répondre aux besoins des professionnels de l'informatique et permettent la reconnaissance des nouvelles compétences de l'IT par l'intermédiaire de dipômes.
#### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=MON+CV)
[![Mon CV](../../images/cv.png)](https://cv.gregandev.fr)
## ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=MES+PASSIONS)
#### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=SKATEBOARD)
Une autre de mes passion, le skateboard. La plaisir de cruiser avec sa board un soir d'été afin de sentir le vent rafraîchir ces tempes est un des plaisirs de la vie.
[![SK8](../../images/formation/skate.png)](https://www.youtube.com/@TheGregan77)
[![YT](https://custom-icon-badges.demolab.com/badge/youtube-red.svg?logo=youtube&logoSource=feather)](https://www.youtube.com/@TheGregan77)
#### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=REALITE+VIRTUELLE)
Je suis depuis le début cette technologie qui me fascine tant par son aspect futuriste que par les possibilités qu'elle offre.
![VR](../../images/jeux/vr.gif)
juste blabla, et bla !
-20
View File
@@ -1,20 +0,0 @@
---
title: LE CNAM
subtitle: conservatoire national des arts et métiers
comments: false
description: la partie pédagogique de mon travail
---
#### ![CNAM](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=LE+CNAM)
![CNAM](../../images/formation/cnam2.png)
Dans le cadre d'un partenariat entre le Garage Numérique et le CNAM, j'anime les cours de spécialité DEVOPS technicien d'exploitation.
Cela me permet de former les jeunes à l'informatique de demain dans une branche offrant tant de métiers différents qu'il est souvent difficile de s'orienter pour un étudiant.
Pour connaître le contenu de la formation:
[![EXTERNAL](https://custom-icon-badges.demolab.com/badge/external-link.svg?logo=external-link&logoSource=feather)](https://informatique.cnam.fr/fr/spip.php?article1739)
[![Plaquette formation](../../images/formation/cnam.png)](https://informatique.cnam.fr/fr/spip.php?article1739)
-125
View File
@@ -1,125 +0,0 @@
---
title: LE GARAGE NUMERIQUE
subtitle:
comments: false
description: la partie "technique" de mon travail
---
### ![L'ASSOC](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=L'ASSOCIATION)
[![GN](../../images/formation/garagenum.png)](https://www.legaragenumerique.fr)
L'association Le Garage Numérique prône la culture du logiciel libre. Linux Debian est l'OS de prédilection.
Nous avons pour but de former la population à l'utilisation de logiciels libres pour que celle-ci s'approprie les outils plutôt que de payer de grands éditeurs pour pouvoir travailler ou faire ses démarches administratives.
Au Garage Numérique, on répare, on reconditionne et on forme les habitants aux outils libres pour une égalité numérique!
[![GN](../../images/logos/linux-logo.png)](https://fr.wikipedia.org/wiki/Linux) [![GN](../../images/logos/debian-logo.png)](https://fr.wikipedia.org/wiki/Debian)
### ![TRAVAIL](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=MON+TRAVAIL)
![GN](../../images/logos/devops-logo.png)
##### ![ROLES](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=MES+RÔLES)
Voici mes principaux rôles au Garage Numérique:
* Je suis formateur Devops au [CNAM](https://www.cnam.fr) pour des étudiants BAC +1 ainsi que pour les élèves su Pass numérique pro. Cela me permet de rester en perpétuelle veille technologique afin de transmetre les dernières technos utilisées.
* Je suis également Administrateur système, en charge de maintenir les serveurs du Garage opérationnels, à jour et sécurisés. La mise en place d'un monitoring automatisé autour de [Prometheus](https://prometheus.io/) ainsi que d'un système de BACKUP régulières permettant de récupérer rapidement en cas d'incident sur un serveur.
* Je développe également des applications pour la Garage et les intègre dans notre [ecosystème](https://git.legaragenumerique.fr/GARAGENUM/ecosysteme) afin de proposer toujours plus de services utiles à la communauté.
##### ![PROJETS](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=LES+PROJETS)
- Le framework python Django m'a permis de développer une application de quiz avec connection centralisée (SSO) vers le gestionnaire d'identité du Garage: Keycloak.
[![DJANGO](../../images/logos/django.png)](https://www.djangoproject.com/)
[![KEYCLOAK](../../images/logos/keycloak.png)](https://www.keycloak.org/)
> {{< icons "fab fa-github" "fa-2x" >}} [code source](https://git.legaragenumerique.fr/GARAGENUM/django-quiz/src/branch/keycloak)
___
- A la manière de [OVERTHEWIRE](https://overthewire.org/wargames/bandit/), nous avons créé un "bash game" pour faire découvrir aux étudiants les commandes terminal Linux via un jeux:
[![BASH](../../images/projets/bash-game.png)](https://devops.legaragenumerique.fr/)
Pour déployer l'application sur les serveurs du Garage, nous avons choisi de "conteneuriser" celle-ci afin d'optimiser et de sécuriser notre serveur via l'outil [Docker](https://www.docker.com/).
> {{< icons "fab fa-github" "fa-2x" >}} [code source](https://git.legaragenumerique.fr/GARAGENUM/enter-bash)
___
- Nous avons également déployer un méta-verse permettant aux étudiants de se retrouver d'une manière ludique pour travailler:
[![WA](../../images/projets/wa.png)](https://workadventu.re/)
Développé par [The Coding Machine](https://thecodingmachine.com/)
> {{< icons "fab fa-github" "fa-2x" >}} [code source](https://github.com/workadventure/workadventure)
___
- Afin d'assurer "l'indépendance de notre code", nous hébergeons un SCM ([Gitea](https://about.gitea.com/)) ainsi qu'une plateforme de CI/CD via [Drone CI](https://www.drone.io/):
[![GITEA](../../images/projets/gitea.png)](https://git.legaragenumerique.fr)
{{< icons "fab fa-github" "fa-2x" >}} [code source](https://git.legaragenumerique.fr/GARAGENUM/gitea-drone-ci)
___
- A l'heure de l'intelligence artificielle, le Garage à déployé son propre [LLM](https://fr.wikipedia.org/wiki/Grand_mod%C3%A8le_de_langage) open source permettant d'intéragir avec une "intelligence artificielle".
[![WA](../../images/projets/garage-ai.png)](https://ai.legaragenumerique.xyz)
Les modèles déployés sont:
- [ChatGPT 3.5](https://huggingface.co/openai-community/openai-gpt) Modèle de language conversationnel
- [Stable diffusion](https://huggingface.co/runwayml/stable-diffusion-v1-5) Modèle de générateur d'images
> {{< icons "fab fa-github" "fa-2x" >}} [code source](https://git.legaragenumerique.fr/GARAGENUM/garage-AI)
___
- Un Curiculum Vitae via le framework [HUGO](https://gohugo.io/):
[![HUGO-CV](https://github.com/ineesalmeida/almeida-cv/blob/master/images/screenshot-full.png?raw=true)](https://cv.gregandev.fr/)
> {{< icons "fab fa-github" "fa-2x" >}} [code source](https://git.gregandev.fr/gregandev/hugo-cv)
___
- Dans le cadre du CNAM, nous avon développé un exemple d'API simple en Python Flask ainsi que son client Android en python via les modules Kivy et Buildozer:
[![PYTHON](../../images/projets/python-api.png)](https://git.legaragenumerique.fr/GARAGENUM/python-api)
> {{< icons "fab fa-github" "fa-2x" >}} [code source API](https://git.legaragenumerique.fr/GARAGENUM/python-api)
> {{< icons "fab fa-github" "fa-2x" >}} [code source client Android](https://git.legaragenumerique.fr/GARAGENUM/python-kivy)
___
- Nous avons constitué une documentation avec [MKdocs](https://www.mkdocs.org/) au fil du temps archivant nos process et beaucoup de connaissances utiles dans l'informatique, mise à jour régulièrement via un [Drone CI] auto-hébergé:
[![DOC](../../images/logos/mkdocs.png)](https://docs.legaragenumerique.xyz)
> {{< icons "fab fa-github" "fa-2x" "https://git.legaragenumerique.fr/GARAGENUM/docs" >}} [code source](https://git.legaragenumerique.fr/GARAGENUM/docs)
___
Pour plus de projets open source maintenus par le Garage: [Garagenum code](https://git.legaragenumerique.fr/GARAGENUM)
-90
View File
@@ -1,90 +0,0 @@
---
title: LIENS SYMPAS
subtitle:
comments: false
description: quelques liens funs
---
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=BLADE+RUNNER)
![BR](../../images/jeux/bladerunner.jpg)
Quentin Langèle est un software engineer qui s'est lançé dans
un projet faramineux de reconstitution de l'appartement du célèbre Blade runner Rick Deckard.
La minutie des textures, le souci du détail et l'athmosphère générale en fait pour moi un monument numérique dédié au chef d'oeuvre du septième art qu'est Blade Runner.
Bref, pour les amoureux de Blade Runner, c'est ici :
[![EXTERNAL](https://custom-icon-badges.demolab.com/badge/external-link.svg?logo=external-link&logoSource=feather)](https://www.br9732.com)
[![BLADE RUNNER 9732](../../images/logos/logobr.png)](https://www.br9732.com)
------
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=RETRO+GAMING)
![RETROARCH](../../images/jeux/retroarch.png)
Grâce à des devs brillants, la plateforme open source de retrogaming "Retroarch" a été déclinée
en version web via emscriptem. Une image docker éxistait déjà, cependant voulant héberger le tout sur un Raspberry Pi 4,
l'architecture ne correspondait pas. Après réécriture de la Dockerfile et un build plus tard, j'ai constaté le succès de l'opération.
> {{< icons "fab fa-github" "fa-2x" >}} [code source](https://github.com/libretro/RetroArch)
> Image Docker pour Raspberry PI4:
[![LE JEUX VERSION ANDROID](https://custom-icon-badges.demolab.com/badge/download-badge.svg?logo=package&logoSource=feather)](https://hub.docker.com/r/greglebreton/retroarchwebpi)
<!-- [RETROARCH WEB PLAYER DÉPLOYÉ](https://retroarch.gregandev.fr) -->
![RETROARCH](../../images/jeux/retroarch.gif)
------
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=EMULATIONSTATION)
![EMULATIONSTATION](../../images/jeux/Emulation.jpg)
EmulationStation est un FrontEnd opensource pour émulateur (généralement Retroarch). Il se décline sous différentes OS tels que Windows, Raspberry pi, débian et Arch OS.
Cet outil nécessite de la configuration pour fonctionner mais il offre des possibilités et une profondeur pour les afficionados du retro gaming qui mérite un détour.
En attendant de partager ma config, un petit lien permet de se faire une bonne idée de la chose.
J'ai également refait certains screens de menus pour quelques consoles que vous pouvez télécharger ici: [![LE JEUX VERSION ANDROID](https://custom-icon-badges.demolab.com/badge/download-badge.svg?logo=download&logoSource=feather)](https://github.com/GregLebreton/emulationstationThemes)
[![SITE D'EMULATIONSTATION](../../images/logos/logoes.png)](https://emulationstation.org)
------
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=MOZINOR)
![MOZINOR](../../images/liens/Mozinor.png)
Le célèbre Mozinor...
Mozinor est un amateur de doublages de vieux films qui peu a peu est passé pro dans le détournement de films.
Le mieux, c'est encore de parcourir son site en commençant par les premières années pour
constater l'évolution et l'ampleur du personnage !
[![MOZINOR](../../images/liens/mozinor.jpg)](http://www.mozinor.com)
La classe américaine ou le grand détournement. c'est le "flim" qui a inspiré Mozinor tant au niveau du principe que de l'humour.
![CLASSE AMERICAINE GIF](https://image.noelshack.com/fichiers/2018/02/7/1515913960-chips.gif)
Film complet: [![YT](https://custom-icon-badges.demolab.com/badge/youtube-red.svg?logo=youtube&logoSource=feather)](https://www.youtube.com/watch?v=W8sop56DBUs)
------
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=POUR+LES+VIEUX+GEEKS)
![DOS](../../images/logos/doslogo.png)
![DOS](../../images/jeux/dos.gif)
JSdos est un projet pour faire tourner DosBox (émulateur MS-DOS en JavaScript) sur navigateur.
Cliquez sur l'icône et choisissez parmis les plus grand classiques DOS tels que DOOM, SIM CITY ou encore BLOOD.
Un grand merci à [@caiiiycuk](https://twitter.com/caiiiycuk) pour cet ouvrage.
Un DOS web avec les grands classiques:
[![EXTERNAL](https://custom-icon-badges.demolab.com/badge/external-link.svg?logo=external-link&logoSource=feather)](https://js-dos.com/games/)
<!-- ### HUMOUR DE DEV
> les joies du code -->
-54
View File
@@ -1,54 +0,0 @@
---
title: PROJETS
subtitle:
comments: false
description: les projets persos
---
### ![GEO-VR](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=GEO+ADVENTURES+VR)
Implémentation VR sur [Geographical-Adventures](https://github.com/SebLague/Geographical-Adventures)
[![Geographical-Adventures-VR](../../images/projets/geo-vr.png)](https://git.legaragenumerique.fr/greg/Geographical-Adventures-VR)
> {{< icons "fab fa-github" "fa-2x" >}} [code source](https://git.legaragenumerique.fr/greg/Geographical-Adventures-VR)
### ![RETRO](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=RETRO+ARCADE+GAME)
Un hommage à l'ère des consoles 8 et 16 bits
[![RETRO ARCADE](../../images/jeux/cover.jpg)]({{< relref "projets/retroarcade.md" >}})
### ![GEVR](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=GOLDENEYE+VR)
Un remake du célèbre jeux sur Nintendo 64 en VR
[![GEVR COVER](../../images/jeux/GEVRCover.jpg)]({{< relref "projets/goldeneyevr.md" >}})
### ![LA2029](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=LA+2029)
Un FPS dans le monde post apocalyptique de Terminator en VR
[![LA 2029](../../images/jeux/CaptureTerminatorQuest00.png)]({{< relref "projets/la-2029.md" >}})
### ![AKIRAVR](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=AKIRA+VR)
Conduisez la célèbre moto de Kaneda (Akira) en VR dans un Neo Tokyo
[![HUGO-SITE](../../images/jeux/AkiraCover.png)]({{< relref "projets/akiravr.md" >}})
### ![HUGO](https://readme-typing-svg.demolab.com?font=Anton&pause=3000&size=40&random=false&repeat=false&color=343A40&width=435&height=70&lines=PORTFOLIO+HUGO)
Ce site portfolio a été fait avec le framework [HUGO](https://gohugo.io/)
[![HUGO-SITE](../../images/projets/hugo-site.png)](https://git.gregandev.fr/portfolio/hugo-site)
> {{< icons "fab fa-github" "fa-2x" >}} [code source](https://git.gregandev.fr/portfolio/hugo-site)
L'utilisation du même framework avec un thème monopage pour faire son CV:
> {{< icons "fab fa-github" "fa-2x" >}} [code source](https://git.gregandev.fr/portfolio/hugo-cv)
<!-- ### PYTHON METEO
[![Python meteo]()](https://git.gregandev.fr/gregandev/python-meteo.git) -->
+32
View File
@@ -0,0 +1,32 @@
---
title: Page Test Contenu
date: 2021-05-02
tags: ["test", "texte", "Rio de Janeiro"]
---
## Du texte:
Rio de Janeiro (/ˈʁi.u d(ʒi) ʒɐˈnejɾu/2), souvent désignée simplement sous le nom de Rio, et archaïquement Riogénaire en français, est la deuxième plus grande ville du Brésil après São Paulo. Située dans le Sud-Est du pays, elle est la capitale de l'État de Rio de Janeiro.
Avec ses 6,1 millions d'habitants intra-muros (communément appelés Cariocas, la variante Carioques existant aussi en français) et 12,62 millions dans l'aire urbaine, Rio de Janeiro est l'une des métropoles les plus importantes du continent américain.
Elle est mondialement connue pour son carnaval, ses plages (Copacabana, Leblon et Ipanema) ainsi que sa statue du Christ Rédempteur au sommet du Corcovado.
(extrait Wikipédia)
------
## Des tableaux:
| Tableau | Article | Prix |
| ------------- |:-------------:| -----:|
| 1 | Chapeau | €25 |
| 2 | Echarpe | €15 |
| 3 | Malabar | €0,1 |
------
## Simple lien:
[Je suis un lien!](https://gregandev.fr)
------
+44
View File
@@ -0,0 +1,44 @@
---
title: post test de divers contenus !
date: 2021-05-02
tags: ["test", "contenu", "photos", "gif", "code"]
---
## Image via link:
![](https://pbs.twimg.com/media/DGKRMoPXcAIyA8y.jpg)
commentaire ...
------
## Image via url locale (/static):
![](/images/test/1.png)
------
## Gif via link:
![](https://media-exp3.licdn.com/dms/image/C4D22AQHEESwqVLITmQ/feedshare-shrink_1280/0/1559729958380?e=1629331200&v=beta&t=5t3x2ObhIXjQU59nVvAarB-0f1mLpP55Z0C0ytli7DQ)
------
## Vidéo Youtube:
{{< youtube ZSWzPI4BqvA >}}
------
## Du code:
```javascript
var s = "JavaScript syntax highlighting";
alert(s);
```
```python
s = "Python syntax highlighting"
print s
```
```bash
cd /ici/etla
echo "Salut le monde!"
```
-19
View File
@@ -1,19 +0,0 @@
---
title: AKIRA VR
subtitle: Jeux VR dev sous Unity
comments: false
---
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=LE+PRINCIPE)
Le but de ce projet est de reproduire le Neo Tokyo d'Akira, au volant de la moto de Kaneda, parcours les autoroutes niponnes en pleine ville suréaliste.
![AKIRAVR](../../images/jeux/AkiraCover.png)
Ce projet me permet de travailler sur les lumières et l'optimisation de celles-ci dans une scène sous Unity.
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=ROADMAP)
Il n'y en as pas vraiment, c'est mon projet le moins prioritaire pour le moment, idéalement, ajouter plus de routes / circuits, des ennemis et amèliorer la maniabilité de la bécane.
![AKIRAVR](../../images/jeux/akira-bike.png)
-65
View File
@@ -1,65 +0,0 @@
---
title: GOLDENEYE VR
subtitle: VR multiplayer retro classic remake
---
[![GEVR COVER](../../images/jeux/GEVRCover.jpg)](https://fr.wikipedia.org/wiki/GoldenEye_007)
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=LE+PRINCIPE)
Le but est de se rapprocher un maximum de la version N64 mais en VR : restituer l'ambiance et les mécanismes de l'original mais en y étant. Un principe des plus simple :
transposer GoldenEye 64 en PC VR avec une compatibilité maximale (Oculus Rift(s), HTC Vive, Windows MR, etc...).
Je développe sous Unity avec l'api Photon pour le multiplayer. Pour les mécaniques, c'est du pur script! Le projet est à vocation open source,
destiné pour les fans de GoldenEye 64 et de VR, le but est de créer une communauté pour améliorer continuellement le jeu à la manière de GoldenEye Source.
---------------
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=SCREENSHOTS)
#### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Orbitron&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=50&lines=les+niveaux)
![GEVR CAPTURE 1](../../images/jeux/CaptureGEVR1.PNG)
![GEVR CAPTURE 2](../../images/jeux/CaptureGEVR2.PNG)
![GEVR CAPTURE 3](../../images/jeux/CaptureGevrArchives.PNG)
(Toutes les maps du jeu originales sont présentes bien entendu!)
#### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Orbitron&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=50&lines=les+menus)
##### principal
![GEVR CAPTURE 4](../../images/jeux/CaptureGevrDiscord.PNG)
![GEVR CAPTURE 5](../../images/jeux/CaptureGevrMenu.PNG)
##### in game
![GEVR CAPTURE 6](../../images/jeux/CapturePauseMenu.PNG)
![GEVR CAPTURE 7](../../images/jeux/CapturePauseMenu2.PNG)
---------------
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=UPDATE+04/2020)
Suite au contexte de confinement, j'ai pû replonger dans le projet pour y avançer quelque peu.
Voici les petits ajouts et une petite update de la road map:
- Ajout de différents modèle de player (Connery, Brosnan et Craig)
- Ajout du plug-in Steam VR
- Ajout du plug-in Photon Voice qui gère le dialogue par voix dans le jeu
#### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Orbitron&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=50&lines=les+avatars)
![GEVR CAPTURE 8](../../images/jeux/CaptureGEVR5.JPG)
![GEVR CAPTURE 9](../../images/jeux/CaptureGEVR4.JPG)
![GEVR CAPTURE 10](../../images/jeux/CaptureGEVR6.JPG)
---------------
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=ROAD+MAP)
* Implémenter la création de room personnalisée pour faire des parties privée entre amis.
* Intégrer les différents modes de jeu (deathmatch, teammatch, capture the flag, the man with the golden gun, etc...)
* Ajouter des options de comfort comme la vignette lors du déplacement, la TP, le remappage des boutons.
* Et des features auxquels je n'ai pas encore pensé!
-212
View File
@@ -1,212 +0,0 @@
---
title: LA 2029
subtitle: VR Shooter
comments: false
---
![LA 2029](../../images/jeux/CaptureTerminatorQuest00.png)
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=LE+PRINCIPE)
C'est un FPS en VR pour la plateforme Oculus Quest où l'on tire sur des terminators se présentant.
La recharge se fait de manière manuelle avec le magasin vide à éjecter avant de se munir du nouveau magasin à sa ceinture pour
l'ammener à l'arme, ce qui recharge celle-ci.
Le but est de rejoindre la fin du niveau en tuant un maximum de Terminators et en restant en vie : simple et éfficace!
![LA 2029](../../images/jeux/CaptureTerminatorQuest3.png)
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=LE+POURQUOI)
Je voulais tester de créer les scripts de mécanique de recharge manuelle de l'arme :
une fois le magasin vide enlevé, on prends celui situé à gauche sur la "ceinture" et finalement celui-ci mis en place, l'arme se recharge.
L'aspect "limitation technique" vu le support mobile Quest est aussi ce qui m'a motivé pour ce projet.
Suite à la sortie du jeu Terminator Resistance, j'ai vraiment accroché avec l'ambiance que les
devs ont réussis à créer et étant un fan des films, je me suis lançé.
C'est une version simple avec des assets téléchargées sur Sketchfab, le tout codé en une semaine.
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=LE+COMMENT)
La plateforme Quest étant limité en ressources ([Spécifications Oculus Quest](https://vr-compare.com/headset/oculusquest)), il fallait trouver un moyen d'optimiser le chargement des GameObjects en cours de niveau, j'ai donc implémenté le principe "d'object pooler".
Le principe s'articule autour de deux scripts fonctionnant de concert:
- Le premier script, l'ObjectPooler charge en début de scene un nombre défini d'instances de Gameobjects afin que ceux-ci soient disponibles et ainsi éviter des ralentissements en plein niveau.
- Le second se place sur des "Transform" où les GameObjects sont sensé apparaître. Un composant collider va déclencher l'apparition du GameObject dès que le joueur arrive à une certaine distance. Il suffit au script de piocher dans le "pool" des GameObjects chargés en début de scène.
<!--
![OBJECT POOLER](../../images/jeux/object-pooler.gif)
-->
<!--
##### ObjectPooler.cs
```cs
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class ObjectPoolItem
{
public int amountToPool;
public GameObject objectToPool;
public bool shouldExpand;
}
public class ObjectPooler : MonoBehaviour
{
public static ObjectPooler SharedInstance;
public List<GameObject> pooledObjects;
public List<ObjectPoolItem> itemsToPool;
void Awake()
{
SharedInstance = this;
}
void Start ()
{
pooledObjects = new List<GameObject>();
foreach (ObjectPoolItem item in itemsToPool)
{
for (int i = 0; i < item.amountToPool; i++)
{
GameObject obj = (GameObject)Instantiate(item.objectToPool);
obj.SetActive(false);
pooledObjects.Add(obj);
}
}
}
public GameObject GetPooledObject(string tag)
{
for (int i = 0; i < pooledObjects.Count; i++) {
if (!pooledObjects[i].activeInHierarchy && pooledObjects[i].tag == tag) {
return pooledObjects[i];
}
}
foreach (ObjectPoolItem item in itemsToPool) {
if (item.objectToPool.tag == tag) {
if (item.shouldExpand) {
GameObject obj = (GameObject)Instantiate(item.objectToPool);
obj.SetActive(false);
pooledObjects.Add(obj);
return obj;
}
}
}
return null;
}
}
```
##### ObjectLoader.cs
```cs
using UnityEngine;
using System.Collections;
public class ObjectLoader : MonoBehaviour
{
public string prefabName;
private Transform spawnPoint;
private GameObject clone;
void Start()
{
spawnPoint = this.transform;
}
void OnTriggerEnter(Collider col)
{
if(col.transform.tag == "Player")
{
LoadObject();
}
}
void OnTriggerExit(Collider col)
{
if(col.transform.tag == "Player")
{
UnloadObject();
}
}
void LoadObject()
{
GameObject clone = ObjectPooler.SharedInstance.GetPooledObject(prefabName);
if(clone != null)
{
clone.transform.position = spawnPoint.transform.position;
clone.transform.rotation = spawnPoint.transform.rotation;
clone.SetActive(true);
this.clone = clone;
}
}
void UnloadObject()
{
if(clone != null)
{
clone.SetActive(false);
}
}
}
```
-->
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=V2.0)
Suite aux critiques positive sur SideQuest, j'ai décidé de pousser un peu plus loin la complexité des mécanismes en scriptant un objectif:
détruire un batiment pour libérer le passage vers la fin du niveau.
Pour se faire, le joueur doit se munir d'une bombe à sa ceinture pour la déposer à un endroit spécifique qui déclenchera un compte à rebours,
puis l'explosion du batiment qui libèrera enfin l'accès vers la fin du niveau.
![SCREENSHOT1](../../images/jeux/CaptureTerminatorQuest0.jpg)
![SCREENSHOT1](../../images/jeux/CaptureTent.JPG)
![SCREENSHOT1](../../images/jeux/CaptureTerminatorQuest2.png)
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=VIDEO+TEST)
En attendant le portage qui apportera des améliorations graphiques et au niveau du gameplay, voici une review sur Quest 2 :
{{< youtube 8Jfupw6VqgU >}}
La version 2.0 avec le deuxième level est disponible un peu plus bas en téléchargement via le sideloader Sidequest.
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=ROADMAP)
Pour la suite du projet, on passe sur PC, on oublie Oculus et on plonge dans l'open source avec openXR pour le côté VR.
Par la même occassion, on bascule sur la dernière version d'Unity (2021.3.15), on corrige les petits bugs et on repasse les textures en standard (bye bye textures mobile sans UV maps!).
Reste à peupler un peu plus la map maintenant que l'on est plus limité par un chipset mobile et on se lançe vers un niveau 3!
V 3.0 on the way!
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=TELECHARGER)
Télécharger la version 2.0 pour Oculus Quest (compatible Quest 2):
[![EXTERNAL](https://custom-icon-badges.demolab.com/badge/download-badge.svg?logo=package&logoSource=feather)](https://sdq.st/a/366)
[![STORE SIDEQUEST](../../images/logos/sidequest-logo.png)](https://sdq.st/a/366)
> (Oculus Quest nécessaire ainsi que SideQuest pour l'installation)
+10
View File
@@ -0,0 +1,10 @@
---
title: projet 1
tags: ["projet"]
---
### sous titre projet 1
le projet 1 est un tout nouveau projet ...
![](/images/projets/projet1/projet1.jpg)
+12
View File
@@ -0,0 +1,12 @@
---
title: projet 2
tags: ["projet2", "projet"]
---
le projet 2 est un tout nouveau projet ...
![](/images/projets/projet2/projet2.webp)
et bla !
![](/images/projets/projet2/projet2.webp)
+20
View File
@@ -0,0 +1,20 @@
---
title: projet 3
tags: ["projet3", "projet"]
---
le projet 3 est un projet de code
![](/images/hugo-logo.png)
bla bla bla
bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla !
bla bla bla bla bla bla :
- bla bla bla
- bla bla
{{< youtube ZSWzPI4BqvA >}}
-71
View File
@@ -1,71 +0,0 @@
---
title: RETRO ARCADE GAME
subtitle: A tribute to retro classics
---
![RETRO-COVER](../../images/jeux/cover.jpg)
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=LE+PRINCIPE)
Le but est de fournir un jeu ludique et personalisé pour mes neveux, dans l'esprit
des jeux codés fin des années 90 : plateforme 2D à niveaux themés.
Pour ce faire, nous allons récupérer un tas de "sprites" (animation 2D ou suite de différentes poses du personnage) ainsi que des décors pour créer des scènes sous Unity.
Ensuite, le plus dur est de codé les mécanismes de jeu... mais heureusement, il y a des tutos pour ça! (voir youtube, tutos, unity)
Le cahier des charges est le suivant:
- Un level type Mario World
- Un level type Sonic
- Un level type R-type
- Un Level de type Street of Rage
![RETRO-COVER](../../images/jeux/projetunity.jpg)
![CODE-CASTLE](../../images/jeux/code-castle.png)
![RETRO-COVER2](../../images/jeux/capture-sonic.png)
------
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=V2+WEBGL)
![RETRO-COVER](../../images/logos/webgl.png)
Cela fait un petit bout de temps que je voulais mettre en ligne la version 2 de mon projet de jeu mais des querelles de versions entre Unity et son plugin WebGL ainsi que le boulot m'ont
freiné dans le processus, mais voilà la V2.0 avec un niveaux vraiment complet ainsi que pleins de nouvelles mécaniques est là!
Un petit listing des updates:
- Ajout d'un Game Manager qui persiste entre les scènes (persiste le score et les vies)
- Le coup de poing est disponible avant l'arme
- Le player peut désormais s'agenouiller
- Ajout des dragons cracheurs de boule de feu
- Ajout du boss Bowser
- Ajout d'un Menu avec choix du perso
- Nouveau HUD (affichage des vies et du score)
- Nouveaux FX visuels
J'ai dû en oublier mais l'essentiel est là. Pour essayer, toujours le même lien en dessous,
Pour les commandes, les manettes type Xbox360 sont reconnus ainsi que le clavier, control pour tirer, espace pour sauter
> Version webGL (dans le navigateur):
[![EXTERNAL](https://custom-icon-badges.demolab.com/badge/webGL-logo.svg?logo=external-link&logoSource=feather)](../../docs/webgl/index.html)
------
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=V3.0+ANDROID)
![ANDROID](../../images/logos/android.png)
Nouvelle version avec un troisième level!
Beaucoup d'améliorations au niveau des animations et du gameplay:
- Affinage du code des ennemis,
- Ajout d'ennemis au niveau 2 (Sonic)
- Ajout niveau 3 : Star wars en mode R-type pour ceux qui ont connus
- Ajout du menu pause avec l'option quitter
- Build Android avec contrôles tactiles
> Télécharger au format APK:
[![LE JEUX VERSION ANDROID](https://custom-icon-badges.demolab.com/badge/download-badge.svg?logo=download&logoSource=feather)](../../docs/android/EwannEtMilhauVSVideoGames.apk)
------
### ![Typing SVG](https://readme-typing-svg.demolab.com?font=Anton&pause=1000&size=40&random=false&repeat=5000&color=343A40&width=435&height=70&lines=SCREENSHOTS)
![STREETS](../../images/jeux/CapturePreviewStreetofrageLevel.PNG)
(Les références à "One piece" & "Yu-Gi-Oh!", c'est pour mes neveux...)
+1 -3
View File
@@ -1,12 +1,10 @@
version: '3.9'
services:
hugo:
image: nginx:alpine
container_name: hugo-site
volumes:
- ./nginx-proxy:/etc/nginx/conf.d
- ./nginx-docker:/etc/nginx/conf.d
- ./public:/var/www/html
ports:
- 6060:80
View File
-67
View File
@@ -1,67 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- {{ template "_internal/opengraph.html" . }}
{{ template "_internal/twitter_cards.html" . }} -->
<title>{{ block "title" . }}{{ with .Params.Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }}</title>
<link rel="icon" type="image/png" href='{{ "images/logos/favicon.png" | absURL }}' sizes="16x16">
<link rel="icon" type="image/png" href='{{ "images/logos/favicon.png" | absURL }}' sizes="32x32">
<link href="https://fonts.googleapis.com/css?family=Oswald:400" rel="stylesheet">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous">
{{ $css := resources.Match "css/*.css" }}
{{ with $css }}
{{ $bundle := . | resources.Concat "css/bundle.min.css" | minify | fingerprint }}
<link rel="stylesheet"
href="{{ $bundle.Permalink }}"
integrity="{{ $bundle.Data.Integrity }}">
{{ end }}
{{ block "head" . }}{{ end }}
</head>
<body>
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark py-1 top-nav">
<div class="container">
{{ partial "navbar-brand" . }}
<button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<i class="fas fa-bars"></i>
</button>
<div class="navbar-collapse collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
{{ partial "top-nav-text-links" . }}
</ul>
<div class="social-icons d-none d-lg-block">
{{ partial "social-icons" . }}
</div>
</div>
</div>
</nav>
{{ block "header" .}}{{ end }}
<div class="main">
{{ block "main" . }}{{ end }}
</div>
<footer class="mt-auto footer d-print-none">
<div class="container-fluid">
<div class="d-flex justify-content-center icons">
{{ partial "social-icons" . }}
</div>
</div>
</footer>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
</body>
</html>
-68
View File
@@ -1,68 +0,0 @@
{{ define "head" }}
<style type="text/css">
.feature-image {
background-image: linear-gradient(
rgba(0, 0, 0, 0.15),
rgba(0, 0, 0, 0.15)
), url('{{ "images/unix.jpg" | absURL }}');
height: 500px;
}
.feature-image-text {
margin-top: 20px;
}
@media (min-width: 1200px) {
.feature-image {
background-position: 0% 30%;
}
}
@media (max-width: 768px) {
.feature-image {
height: 250px;
background-position: 0% 0%;
}
}
</style>
{{ end }}
{{ define "header" }}
{{ if .IsHome }}
<header class="feature-image">
<div class="feature-image-text white-shadow-text">
{{ partial "header-about-me" . }}
</div>
</header>
{{ end }}
{{ if not .IsHome }}
<header class="feature-image">
<div class="feature-image-text">
<h1 class="text-center">{{ .Title }}</h1>
</div>
</header>
{{ end }}
{{ end }}
{{ define "main" }}
<div class="container mt-4 mb-4 recent-posts" style="text-align: center;">
{{ $pages := .Pages }}
{{ if .IsHome }}
{{ $pages := where .Site.RegularPages "Section" "page" }}
{{ range $pages }}
<div><a class="title" id="front-title" href="{{ .Permalink }}"><h2>{{ .Title }}</h2></a></div>
<div><p id="front-title">{{ .Description }}</p></div>
{{ end }}
<!-- {{ $pages := where .Site.RegularPages "Section" "projets" }}
{{ range $pages }}
<div><a href="{{ .Permalink }}"><h5>{{ .Title }}</h5></a></div>
{{ end }} -->
{{ end }}
</div>
{{ end }}
-27
View File
@@ -1,27 +0,0 @@
{{ define "head" }}
<style type="text/css">
p {
text-align: center;
}
img {
max-width: 95%
}
</style>
{{ end }}
{{ define "title" }}
{{ .Title }} | {{ .Site.Title }}
{{ end }}
{{ define "main" }}
<div class="container mt-4 post">
<!-- <h1>{{ .Title }}</h1> -->
{{ partial "post-meta" . }}
<div class="mt-4 mb-4 main-content">
{{ .Content }}
</div>
</div>
{{ end }}
-6
View File
@@ -1,6 +0,0 @@
{{ $iconClass := .Get 0 }}
{{ $sizeClass := .Get 1 }}
<a target="_blank" rel="noopener noreferrer">
<i class="{{ $iconClass }} {{ $sizeClass }}"></i>
</a>
+23
View File
@@ -0,0 +1,23 @@
# config pour le nginx dans le caontainer
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
root /var/www/html;
index index.html index.htm;
}
error_page 404 /404.html; # Here and below is 404 error handling docs tried to describe
location = /404.html {
root /var/www/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
}
+59
View File
@@ -0,0 +1,59 @@
# HTTP
server {
listen 80;
listen [::]:80;
server_name example.com;
client_max_body_size 64M;
# Redirection HTTP -> HTTPS
#return 301 https://$host$request_uri;
location / {
proxy_buffering off;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:6666;
}
}
# Nécessaire pour les redirections internes à Hugo
location /feed {
return 302 https://example.com/index.xml;
}
# HTTPS
server{
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
location / {
proxy_buffering off;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:6666;
}
# Nécessaire pour les redirections internes à Hugo
location /feed {
return 302 https://example.com/index.xml;
}
#ssl on;
#ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
#ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
access_log /var/log/nginx/hugo_access.log;
error_log /var/log/nginx/hugo_error.log;
}
-29
View File
@@ -1,29 +0,0 @@
# HTTP
server {
listen 80;
listen [::]:80;
server_name localhost;
client_max_body_size 64M;
# Redirection HTTP -> HTTPS
#return 301 https://$host$request_uri;
location / {
root /var/www/html/;
index index.html;
# proxy_buffering off;
# proxy_redirect off;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Host $server_name;
# proxy_set_header X-Forwarded-Proto $scheme;
# proxy_pass http://127.0.0.1:6060;
}
# Nécessaire pour les redirections internes à Hugo
location /feed {
return 302 https://example.com/index.xml;
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 723 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

-3
View File
@@ -1,3 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<path d="M5.583 7.229c-2.464-0.005-5.755 1.557-5.573 5.479 0.281 6.125 6.557 6.693 9.068 6.745 0.271 1.146 3.224 5.109 5.411 5.318h9.573c5.74-0.38 10.036-17.365 6.854-17.427-5.271 0.25-8.396 0.375-11.073 0.396v5.297l-0.839-0.365-0.005-4.932c-3.073 0-5.781-0.141-10.917-0.396-0.646-0.005-1.542-0.115-2.5-0.115zM5.927 9.396h0.297c0.349 3.141 0.917 4.974 2.068 7.781-2.938-0.349-5.432-1.198-5.891-4.38-0.24-1.646 0.563-3.365 3.526-3.401zM17.339 12.479c0.198 0.005 0.406 0.042 0.594 0.13l1 0.432-0.714 1.302c-0.109 0-0.219 0.016-0.323 0.052-0.464 0.151-0.708 0.604-0.542 1.021 0.036 0.083 0.089 0.161 0.151 0.229l-1.234 2.25c-0.099 0-0.203 0.016-0.297 0.052-0.464 0.146-0.708 0.604-0.542 1.016 0.172 0.417 0.682 0.63 1.151 0.479 0.464-0.146 0.703-0.604 0.536-1.021-0.047-0.109-0.115-0.208-0.208-0.292l1.203-2.188c0.13 0.010 0.26 0 0.391-0.042 0.104-0.031 0.198-0.083 0.281-0.151 0.464 0.198 0.844 0.354 1.12 0.49 0.406 0.203 0.552 0.339 0.599 0.49 0.042 0.146-0.005 0.427-0.24 0.922-0.172 0.37-0.458 0.896-0.797 1.51-0.115 0-0.229 0.016-0.333 0.052-0.469 0.151-0.708 0.604-0.542 1.021 0.167 0.411 0.682 0.625 1.146 0.479 0.469-0.151 0.708-0.604 0.542-1.021-0.042-0.099-0.104-0.193-0.182-0.271 0.333-0.609 0.62-1.135 0.807-1.526 0.25-0.536 0.38-0.938 0.266-1.323s-0.469-0.635-0.932-0.865c-0.307-0.151-0.693-0.313-1.146-0.505 0.005-0.109-0.010-0.214-0.052-0.318s-0.109-0.198-0.193-0.281l0.703-1.281 3.901 1.682c0.703 0.307 0.995 1.057 0.651 1.682l-2.682 4.906c-0.339 0.625-1.182 0.885-1.885 0.578l-5.516-2.38c-0.703-0.307-0.995-1.057-0.656-1.682l2.682-4.906c0.234-0.432 0.708-0.688 1.208-0.708h0.083z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 850 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 938 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 729 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 510 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 525 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 746 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 599 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 918 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 632 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 483 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Some files were not shown because too many files have changed in this diff Show More