Emile Rolley

I'm interested in programming languages and the open-source. I want to build sustainable and aesthetic pieces of software that have a meaningful impact on all living beings.

Ekofest a pour objectif de faciliter l'organisation d'événements festifs et culturels éco-responsables. L'outil permet de rapidement estimer l'impact carbone d'un événement afin de repérer les postes les plus émetteurs et anticiper les actions à mettre en place.

Ce simulateur a été développé dans une démarche de transparence et de partage. Ainsi, le code source du simulateur est libre et ouvert, de la même manière que le modèle de calcul. Le simulateur est complètement gratuit et ne nécessite aucun compte utilisateur.

Contributions

J'ai co-créé ce projet avec Clément Auger en février 2024.

Le projet est en cours de développement et je m'occupe principalement du développement front-end de l'application en Elm qui utilise le modèle de calcul rédigé par Clément en Publicodes.

Mon implication dans ce projet est bénévole.


Ressources

Site web

Code source

viewInput : Model -> ( P.RuleName, P.RawRule ) -> Bool -> Html Msg
viewInput model ( name, rule ) isApplicable =
let
newAnswer val =
case String.toFloat val of
Just value ->
NewAnswer ( name, P.Num value )
Nothing ->
if String.isEmpty val then
NoOp
else
NewAnswer ( name, P.Str val )
maybeNodeValue =
Dict.get name model.evaluations
|> Maybe.map .nodeValue
in
if not isApplicable then
viewDisabledInput
else
case ( ( rule.formula, rule.unit ), maybeNodeValue ) of
( ( Just (UnePossibilite { possibilites }), _ ), Just nodeValue ) ->
viewSelectInput model.rawRules name possibilites nodeValue
( ( _, Just "%" ), Just (P.Num num) ) ->
viewRangeInput num newAnswer
( _, Just (P.Num num) ) ->
viewNumberInputOnlyPlaceHolder num newAnswer
( _, Just (P.Boolean bool) ) ->
viewBooleanRadioInput name bool
_ ->
viewDisabledInput