diff --git a/components/jwenn-signal/signal-dialog.js b/components/jwenn-signal/signal-dialog.js
new file mode 100644
index 0000000..0d7a27d
--- /dev/null
+++ b/components/jwenn-signal/signal-dialog.js
@@ -0,0 +1,92 @@
+import React from 'react'
+import Image from 'next/image'
+import {useRouter} from 'next/router'
+import PropTypes from 'prop-types'
+import {withStyles} from '@material-ui/core/styles'
+import {Box, Button, Dialog} from '@material-ui/core'
+import MuiDialogTitle from '@material-ui/core/DialogTitle'
+import MuiDialogContent from '@material-ui/core/DialogContent'
+import IconButton from '@material-ui/core/IconButton'
+import CloseIcon from '@material-ui/icons/Close'
+import Typography from '@material-ui/core/Typography'
+import {Signal} from '@icons-pack/react-simple-icons'
+
+import QRCode from '../../public/signal-qr-code.jpg'
+
+const signalGourpUrl = process.env.NEXT_PUBLIC_SIGNAL_URL || 'https://signal.org/fr/download/'
+
+const styles = theme => ({
+ root: {
+ margin: 0,
+ padding: theme.spacing(2)
+ },
+ closeButton: {
+ position: 'absolute',
+ right: theme.spacing(1),
+ top: theme.spacing(1),
+ color: theme.palette.grey[500]
+ }
+})
+
+const DialogTitle = withStyles(styles)(props => {
+ const {children, classes, onClose, ...other} = props
+ return (
+