status: hidden
title: Python — Django 1
slug: thoBe6di-django1
robots: noindex


# Django Tools

Le nom du projet est `django1`, le protocole de rendu est
[là](https://mdk.fr/pages/obiree2uaza2sh-rendu.html).

Create a django project with two Django apps:

- Elementary Cellular Automata
- Paste as Markdown

and a home page. The home page should permit to easily jump to the two
apps.


## Elementary Cellular Automata

The Elementary Cellular Automata app should provide an easy way for
users to render any elementary cellular automata (an explanation of
what it is, a textbox to enter the value, a button to generate the
"image"). ASCII (`#` and `.`) or pngs (from pyplot) allowed.


## Paste as Markdown

This application looks at first like a
[pastebin.com](https://pastebin.com) / [dpaste.de](https://dpaste.de)
/ [wyz.fr](https://wyz.fr), but accepts only Markdown. It should allow
one to choose the path of the page (leaving the path blank
auto-generate a path, like [tinyurl](https://tinyurl.com) does).

While hitting back the URL, the previously pasted markdown should be
rendered as HTML on the body of the page.


## Admin zone

The admin zone should allow to add/edit/remove users and markdown
pastes.


## Bonus

- If a logged-in user creates a paste, he can then see the list of its
owned pastes, and edit them.
- Write tests.


## Hints

Re-reading the [Django
tutorial](https://docs.djangoproject.com/en/2.1/intro/tutorial01/),
and inspiring you from the [hackinscience source
code](https://framagit.org/hackinscience/hkis-website) (for Markdown
generation) should be enough for this project.
