La plublication de la documentation OFROU 82001 en 2024 a permis de définir un facteur unique d'actualisation des charges de trafic à utiliser pour l'évaluation structurelle des ponts existants. Lors d'un examen plus détaillé, et dans le but d'éviter des renforcements inutiles des ponts, il est possible d'utiliser des valeurs spécifiques pour les coefficients d'actualisation.
Cet outil propose un accès simplifié et intuitif à ces coefficients d'actualisation. -> https://astra-82001.epfl.ch
- EPFL - RESSLAB : Alain Nussbaumer, Paola Miglietta
- EPFL - ENAC-IT4R : Pierre Guilbert, Charlie Weil
- OFROU : Dimitrios Papastergiou
- Front-end : VueJS, nginx, Quasar
- Deployment : Kubernetes
You can use Make with the following command:
install: Install node dependencies
install-build: Install node dependencies with npm ci
build: Build the project (run prebuild before)
dev: Run the project
convert: Convert the data to json format
docker-build: Build docker image locally
docker-run: Run docker image locally on port 8080
- npm run lint
- run eslint on the project
- npm run format
- run prettier on the project
Development environemnt : https://astra-82001-dev.epfl.ch/ Production environment: https://astra-82001.epfl.ch/
Data updates will be handled through pull requests updating data.csv
Internationalization will be handled through pull requests updating internationalization.csv
Comments may be shared with developers through GitHub issues
Under active development. Report bugs here.
type_to_width:
box:
'l < 9': not possible
'9 <l< 12': use value for 12
'12<l< 18': interpolate
'l> 18': Not possible
twin:
'9 <l< 12': use value for 9
multi:
'l< 10.8': not possible
'l> 10.8': same as 10.8 (because of different beam analysis explicitly indicated)
slab:
'l=9': not possible
'9 <l< 18': interpolate
'l> 18': not possible
dalle_de_roulement:
porte_a_faux:
'l< 1.22': not possible
interpolate_in_between_values: ''
'l> 6.78': not possible
dalle_entre_poutre:
'l< 3': not possible
interpolate_in_between_values: ''
'l> 12': not possible
type_to_span: >
Interpolate between given value. Values outside of the given values not allowed for the type of bridge
type_to_support:
point_dalle:
semi_or_fixed:
'M- < 50% < M_fully fixed': use Semi
'50% M_< 100% M_fully fixed': use highest alpha between the two'
---
title: Type to Subtype
---
graph TD
A[Box] --> S1{Stand}
B[Twin] --> S1{Stand}
B[Twin] --> S2{Conc}
C[Multi] --> S1{Stand}
D[Slab] --> S3{Short}
D[Slab] --> S4{Long}
E[DalleRoulem] --> S5{PorteAFaux}
E[DalleRoulem] --> S6{DalleEntrePoutres}
---
title: Type to Width
---
graph TD
A[Box] --> S1{width18}
A[Box] --> S2{width12}
B[Twin] --> S3{wid9}
C[Multi] --> S4{Wid108}
D[Slab] --> S3{Wid9}
D[Slab] --> S1{Wid18}
E[DalleRoulem-PorteAFaux] --> S6{Wid1_22', 'Wid2_33', 'Wid3_44', 'Wid4_56', 'Wid5_67', 'Wid6_78'}
F[DalleRoulem-DalleEntrePoutres] --> S7{ 'Wid3', 'Wid7_5', 'Wid12}
---
title: Type to Span
---
graph TD
%% Span
%% Box -> 20, 30, 40, 50, 60, 70, 80
%% Twin -> 20, 30, 40, 50, 60, 70, 80
%% Multi -> 20, 30
%% Slab -> 4, 6, 8, 10, 15, 20, 25, 30
%% DalleRoulem --> 1.22, 2.33, 3.44, 4.56, 5.67, 6.78, 3, 7.5, 12
A[Box] --> S1{'20, 30, 40, 50, 60, 70, 80'}
B[Twin] --> S1{'20, 30, 40, 50, 60, 70, 80'}
C[Multi] --> S2{'20, 30'}
D[Slab] --> S3{'4, 6, 8, 10, 15, 20, 25, 30'}
---
title: Type to Support
---
graph TD
%% Type to Support
%% Box [ 'Simp' ]
%% Twin [ 'Simp' ]
%% Multi [ 'Simp' ]
%% Slab [ 'Fixed', 'Semi' ]
%% DalleRoulem [ 'SimpForM', 'SimpForV', 'SimpForMn', 'SimpForMp' ]
A[Box] --> S1{Simp}
B[Twin] --> S1{Simp}
C[Multi] --> S1{Simp}
D[Slab] --> S4{Fixed, Semi}
E[DalleRoulem] --> S5{SimpForM, SimpForV, SimpForMn, SimpForMp}
---
title: Type to Layout
---
graph TD
%% Layout
%% Box -> [ 'Uni2L', 'Bi2L', 'Bi4L' ]
%% Twin -> [ 'Uni2L', 'Bi2L' ]
%% Multi -> [ 'Uni2L', 'Bi2L' ]
%% Slab -> [ 'Uni2L', 'Bi2L', 'Bi4L' ]
%% DalleRoulem --> [ 'Uni2L', 'Bi2L' ]
A[Box] --> S1{UNI2L, BI2L, BI4L}
B[Twin] --> S2{'Uni2L', 'Bi2L'}
C[Multi] --> S2{'Uni2L', 'Bi2L'}
D[Slab] --> S1{'Uni2L', 'Bi2L', 'Bi4L'}
E[DalleRoulem] --> S2{'Uni2L', 'Bi2L'}
---
title: Type to AE
---
graph TD
%% AE
%% Box [ 'V', 'Mp', 'Mn' ]
%% Twin [ 'V', 'Mp', 'Mn' ]
%% Multi [ 'V', 'Mp', 'Mn' ]
%% Slab [ 'V', 'Mp', 'Mn', 'MxMid', 'MxEdg' ]
%% DalleRoulem [ 'M', 'V', 'Mn', 'Mp' ]
A[Box] --> S1{'V', 'Mp', 'Mn'}
B[Twin] --> S1{'V', 'Mp', 'Mn'}
C[Multi] --> S1{'V', 'Mp', 'Mn'}
D[Slab] --> S2{'V', 'Mp', 'Mn', 'MxMid', 'MxEdg'}
E[DalleRoulem] --> S3{'M', 'V', 'Mn', 'Mp'}
---
title: Type to Trans
---
graph TD
%% Trans
%% Box [ 'p0' ]
%% Twin [ 'p0' ]
%% Multi [ 'P1', 'P2', 'P3' ]
%% Slab [ 'p1', 'p2', 'p3' ]
%% DalleRoulem [ 'AR0', 'AR2', 'BR1', 'PENC', 'SENC', 'SMPL' ]
A[Box] --> S1{'p0'}
B[Twin] --> S1{'p0'}
C[Multi] --> S3{'P1', 'P2', 'P3'}
D[Slab] --> S4{'p1', 'p2', 'p3'}
E[DalleRoulem-PorteAFaux] --> S6{'AR0', 'AR2', 'BR1'}
F[DalleRoulem-DalleEntrePoutres] --> S7{'PENC', 'SENC', 'SMPL'}
%% Trans
%% Box [ 'p0' ]
%% Twin [ 'p0' ]
%% Multi [ 'P1', 'P2', 'P3' ]
%% Slab [ 'p1', 'p2', 'p3' ]
%% DalleRoulem [ 'AR0', 'AR2', 'BR1', 'PENC', 'SENC', 'SMPL' ]
classDef ToUpgrade stroke:#000,stroke-width:1px,fill:#ffb3b3,font-size:20px
classDef Databases stroke:#000,stroke-width:1px,fill:#dfdffc,font-size:20px
classDef App stroke:#000,stroke-width:1px,fill:#c1fbc1,font-size:30px,padding:10px